Static deep error checking in large system applications using parfait

  • Authors:
  • Cristina Cifuentes;Nathan Keynes;Lian Li;Nathan Hawes;Manuel Valdiviezo;Andrew Browne;Jacob Zimmermann;Andrew Craik;Douglas Teoh;Christian Hoermann

  • Affiliations:
  • Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia;Oracle Labs, Brisbane, Australia

  • Venue:
  • Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we introduce Parfait, a static bug-checking tool for C/C++ applications. Parfait achieves precision and scalability at the same time by employing a layered program analysis framework. In Parfait, different analyses varying in precision and runtime expense can be invoked on demand to detect defects of a specific type, effectively achieving higher precision with smaller runtime overheads. Several production organizations within Oracle have started to integrate Parfait into their development process. Feedback from various production teams suggests that it is precise and scalable: the tool is able to analyze the OpenSolarisTM operating system and network consolidation (ON) with more than 6 million lines of code in 1 hour, and report thousands of defects with a false positive rate of close to 10%.