Righting Software

  • Authors:
  • James R. Larus;Thomas Ball;Manuvir Das;Robert DeLine;Manuel Fahndrich;Jon Pincus;Sriram K. Rajamani;Ramanathan Venkatapathy

  • Affiliations:
  • Microsoft Research;Microsoft Research;Microsoft Research;Microsoft Research;Microsoft Research;Microsoft Research;Microsoft Research;Microsoft Research

  • Venue:
  • IEEE Software
  • Year:
  • 2004

Quantified Score

Hi-index 0.02

Visualization

Abstract

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.