Automated Support for Propagating Bug Fixes

  • Authors:
  • Boya Sun;Ray-Yaung Chang;Xianghao Chen;Andy Podgurski

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ISSRE '08 Proceedings of the 2008 19th International Symposium on Software Reliability Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present empirical results indicating that when programmers fix bugs, they often fail to propagate the fixes to all of the locations in a code base where they are applicable, thereby leaving instances of the bugs in the code. We propose a practical approach to help programmers to propagate many bug fixes completely. This entails first extracting a programming rule from a bug fix, in the form of a graph minor of an enhanced procedure dependence graph. Our approach assists the programmer in specifying rules by automatically matching simple rule templates; the programmer may also edit rules or compose them from scratch. A graph matching algorithm for detecting rule violations is then used to locate the places in the code base where the bug fix is applicable. Our approach does not require thatrules occur repeatedly in the code base. We present empirical results indicating that the approach nevertheless exhibits good precision.