In 1968, Edsger Dijkstra wrote a letter entitled “Go-to statement considered harmful”. In it, he argued that gotos make it difficult for us to comprehend programs, so they should be “abolished from all ‘higher level’ programming languages”. Everyone thought this was a wonderful idea, and we all adhere to it today.
Or do we?
This talk hints that today’s programs are, in a sense, more riddled with gotos than any program from the 1960s. As a result, we’ve had to develop increasingly sophisticated tools and techniques to help us comprehend the programs we’ve written. We’ll discuss ongoing research at Harvey Mudd into a new computational technique for analyzing one of today’s most goto-besotted programming languages: JavaScript.
Modern storage systems often store many copies of the same data. If those duplicate copies can be located and eliminated (“deduplication”), storage will be saved and the system will run faster. We describe our work on Dmdedup, a system that will make it possible to add deduplication support to existing file systems with no modifications whatsoever.