Issue No. 03 - May/June (2004 vol. 21)
James R. Larus , Microsoft Research
Thomas Ball , Microsoft Research
Manuvir Das , Microsoft Research
Robert DeLine , Microsoft Research
Manuel F?hndrich , Microsoft Research
Jon Pincus , Microsoft Research
Sriram K. Rajamani , Microsoft Research
Ramanathan Venkatapathy , Microsoft Research
Correctness tools can improve software development by supplementing human shortcomings, detecting programming errors such as null-pointer dereferences, API usage errors, and failing to close file descriptors. Microsoft Research has developed two generations of correctness tools: The first are heuristic tools widely used inside the organization to find programming errors; the second are tools based on sound program analysis and driven by rules describing interface behavior. Together, these tools offer a systematic approach for finding and fixing errors early in the development process.
software engineering, coding tools and techniques, formal methods, model checking
M. F?hndrich et al., "Righting Software," in IEEE Software, vol. 21, no. , pp. 92-100, 2004.