This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Tracking Your Changes: A Language-Independent Approach
January/February 2009 (vol. 26 no. 1)
pp. 50-57
Gerardo Canfora, University of Sannio
Luigi Cerulo, University of Sannio
Massimiliano Di Penta, University of Sannio
Powerful differencing algorithms' availability is crucial to tracking source code's evolution, for example for monitoring clones or vulnerable statements. Based on a novel differencing algorithm, our language-independent approach can track code elements' evolution in real-world software systems with acceptable precision, overcoming the Unix diff's versioning limitations.

1. G. Canfora, L. Cerulo, and M. Di Penta, "Identifying Changed Source Code Lines from Version Repositories," Proc. 4th Int'l Workshop Mining Software Repositories (MSR 07), IEEE CS Press, 2007, pp. 14–22.
2. B. Fluri et al., "Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction," IEEE Trans. Software Eng., vol. 33, no. 11, 2007, pp. 725–743.
3. H. Gall, M. Jazayeri, and J. Krajewski, "CVS Release History Data for Detecting Logical Couplings," Proc. 6th Int'l Workshop Principles of Software Evolution (IWPSE 03), IEEE CS Press, 2003, pp. 13–23.
4. T. Zimmermann et al., "Mining Version Histories to Guide Software Changes," Proc. 26th Int'l Conf. Software Eng. (ICSE 04), IEEE CS Press, 2004, pp. 563–572.
5. C. Kapser and M.W. Godfrey, "'Cloning Considered Harmful' Considered Harmful," Proc. 13th Working Conf. Reverse Eng., IEEE CS Press, 2006, pp. 19–28.
6. M. Kim et al., "An Empirical Study of Code Clone Gene-alogies," Proc. European Software Eng. Conf. and the ACM Symp. Foundations of Software Eng., ACM Press, 2005, pp. 187–196.
7. E. Duala-Ekoko and M.P. Robillard, "Tracking Code Clones in Evolving Software," Proc. 29th Int'l Conf. Software Eng. (ICSE 07), IEEE CS Press, 2007, pp. 158–167.
8. S. Kim and M.D. Ernst, "Which Warnings Should I Fix First?" Proc. 6th Joint Meeting European Software Eng. Conf. and the ACM SIGSOFT Int'l Symp. Foundations of Software Eng., ACM Press, 2007, pp. 45–54.
9. M. Di Penta, L. Cerulo, and L. Aversano, "The Evolution and Decay of Statically Detected Source Code Vulnerabilities," Proc. 8th IEEE Working Conf. Source Code Analysis and Manipulation (SCAM 08), IEEE CS Press, 2008, pp. 101–110.
1. M. Kim and D. Notkin, "Program Element Matching for Multi-Version Program Analyses," Proc. 2006 Int'l Workshop Mining Software Repositories (MSR 06), ACM Press, 2006, pp. 58–64.
0. M. Kim and D. Notkin, Program Element Matching for Multi-Version Program Analyses," Proc. 2006 Int'l Workshop Mining Software Repositories (MSR 06), ACM Press, 2006, pp. 58–64.
2. B. Fluri et al., "Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction," IEEE Trans. Software Eng., vol. 33, no. 11, 2007, pp. 725–743.
0. B. Fluri et al. Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction," IEEE Trans. Software Eng., vol. 33, no. 11, 2007, pp. 725–743.
3. S.P. Reiss, "Tracking Source Locations," Proc. 30th Int'l Conf. Software Eng. (ICSE 08), IEEE CS Press, 2008, pp. 11–20.
0. S.P. Reiss, Tracking Source Locations," Proc. 30th Int'l Conf. Software Eng. (ICSE 08), IEEE CS Press, 2008, pp. 11–20.
4. Z. Xing and E. Stroulia, "Differencing Logical UML Models," Automated Software Eng., vol. 14, no. 2, 2007, pp. 215–259.
0. Z. Xing and E. Stroulia, Differencing Logical UML Models," Automated Software Eng., vol. 14, no. 2, 2007, pp. 215–259.
5. M.W. Godfrey and L. Zou, "Using Origin Analysis to Detect Merging and Splitting of Source Code Entities," IEEE Trans. Software Eng., vol. 31, no. 2, 2005, pp. 166–181.
0. M.W. Godfrey and L. Zou, Using Origin Analysis to Detect Merging and Splitting of Source Code Entities," IEEE Trans. Software Eng., vol. 31, no. 2, 2005, pp. 166–181.

Index Terms:
differencing tools, mining software archives, software evolution
Citation:
Gerardo Canfora, Luigi Cerulo, Massimiliano Di Penta, "Tracking Your Changes: A Language-Independent Approach," IEEE Software, vol. 26, no. 1, pp. 50-57, Jan.-Feb. 2009, doi:10.1109/MS.2009.26
Usage of this product signifies your acceptance of the Terms of Use.