Seriously good news! Scientists develop method that could lead to computers guaranteed never to lose your data.
Picture the scene, you’ve spent hours working on an important project – and then boom, crash the whole lot’s gone.
Well, researchers at the world famous MIT research centre in the US have found a way for this to never happen again. It’s all to do with something called ‘formal verification’.
Nickolai Zeldovich, a principal investigator at MIT’s Computer Science and Artificial Intelligence Laboratory, who co-authored a new academic paper outlining the research, said: “Making sure that the file system can recover from a crash at any point is tricky because there are so many different places that you could crash.
“You literally have to consider every instruction or every disk operation and think, ‘Well, what if I crash now? What now? What now?’
“And so empirically, people have found lots of bugs in file systems that have to do with crash recovery, and they keep finding them, even in very well tested file systems, because it’s just so hard to do.”
The solution: formal verification
Okay, so it’s a little bit complicated. It’s down to mathematically describing the acceptable bounds for a computer programme and then proving the programme will never exceed them, according to a press release.
What this basically boils down to is describing different components of a computer file system – for example what a disk or a bit is – and then the relationships between them under crash conditions.
The researchers used a tool known as a proof assistant, which provides a formal language for describing aspects of a computer system and the relationships between them.
This pain-staking work meant the scientists could build a proof that a file system would behave the way it should. Finally, all this could then be written into the computer code to create the file system.
The proof assistant determined that the file system did indeed stick to the logical relationships in the proof.
The film system is slow by current standards, the techniques employed can be used in more complicated designs. Ultimately, that could mean reliable file systems – which is great news for all of us.