• DocumentCode
    2600332
  • Title

    Differential precondition checking: A lightweight, reusable analysis for refactoring tools

  • Author

    Overbey, Jeffrey L. ; Johnson, Ralph E.

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
  • fYear
    2011
  • fDate
    6-10 Nov. 2011
  • Firstpage
    303
  • Lastpage
    312
  • Abstract
    One of the most difficult parts of building automated refactorings is ensuring that they preserve behavior. This paper proposes a new technique to check for behavior preservation; we call this technique differential precondition checking. It is simple yet expressive enough to implement the most common refactorings, and the core algorithm runs in linear time. However, the main advantage is that a differential precondition checker can be placed in a library and reused in refactoring tools for many different languages; the core algorithm can be implemented in a way that is completely language independent. We have implemented a differential precondition checker and used it in refactoring tools for Fortran (Photran), PHP, and BC.
  • Keywords
    formal verification; software maintenance; BC; Fortran; PHP; behavior preservation; differential precondition checking; refactoring tools; reusable analysis; Analytical models; Buildings; Computational modeling; Image edge detection; Java; Semantics; Syntactics; program representation; refactoring;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on
  • Conference_Location
    Lawrence, KS
  • ISSN
    1938-4300
  • Print_ISBN
    978-1-4577-1638-6
  • Type

    conf

  • DOI
    10.1109/ASE.2011.6100067
  • Filename
    6100067