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
Link To Document