I already have several years of professional experience. During these years I had often problems with various hardware equipment. In my experience, intermittent faults have always been the most difficult problems to diagnose. In most cases I found that the source of the problems were due to faults or defects in memories. These defects typically are due to some memory locations. The errors are fixed in position, but as dynamic memory managers do not always assign the same blocks, errors appear random. Typically errors occur in applications that consume more memory because it increases the probability that use a memory location damaged.
I believe that the ML does not have a memory tester.
I think we could allocate large blocks of memory, and apply some simple algorithms used by these tools (read, write, re-read what was written, and compare, etc.)
I remembered this when I saw the following post:
http://www.magiclantern.fm/forum/index.php?topic=3500.msg18044;topicseen#msg18044