Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Generic patch inference
Andersen J., Lawall J. Automated Software Engineering17 (2):119-148,2010.Type:Article
Date Reviewed: Aug 26 2010

Let’s say you are working on a large code base, when you happen to make a change to a core interface and find yourself changing hundreds of dependent files. Unluckily, the changes are a bit too involved for a simple search and replace. What the authors propose is a method for automatically identifying the replacement pattern from a sample set of changed files, and then applying the pattern automatically throughout the code base.

Depending on your background, you may actually see the above scenario as an indication that some major refactoring is needed. If a small change causes many files to need to be changed, then obviously there must have been a bit too much copy and paste development at some point in the past. However, not all domains are suited to whole-scale refactoring. Device driver development on Linux, the domain chosen by the authors, is one such example. Distributed ownership of similar code implies that any change in internal libraries will have to be applied by numerous contributors.

The authors present a tool that, given a subset of files in pairs of pre-change and post-change files, will extract a generic abstract representation of the change that can then be replicated throughout the code base. Starting with a formal presentation of their algorithm, the authors describe their implementation and provide example runs against actual patches applied to the Linux source tree. They demonstrate the types of changes that their tool can successfully abstract and the types of changes where it fails. In summary, the paper presents a simple yet effective--albeit a bit dangerous--timesaving tool.

Reviewer:  Bernard Kuc Review #: CR138333 (1102-0183)
Bookmark and Share
  Featured Reviewer  
 
Distribution, Maintenance, and Enhancement (D.2.7 )
 
 
General (D.1.0 )
 
Would you recommend this review?
yes
no
Other reviews under "Distribution, Maintenance, and Enhancement": Date
A program design language based software maintenance tool
Ince D. (ed) Software--Practice & Experience 15(6): 583-594, 1985. Type: Article
Mar 1 1986
The complete computer maintenance handbook
Bellin D. (ed), Harper&Row Publishers, Inc., New York, NY, 1986. Type: Book (9789780060406189)
Jul 1 1986
Building custom software tools and libraries
Stitt M., John Wiley & Sons, Inc., New York, NY, 1993. Type: Book (9780471579144)
Nov 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy