Fine-grained and accurate source code differencing

作者: Jean-Rémy Falleri , Floréal Morandat , Xavier Blanc , Matias Martinez , Martin Monperrus

DOI: 10.1145/2642937.2642982

关键词: Computer scienceLine (text file)Scripting languageAbstract syntax treeSoftware evolutionSoftware systemProgram comprehensionProgramming languageCode (cryptography)Source code

摘要: At the heart of software evolution is a sequence edit actions, called an script, made to source code file. Since systems are stored version by version, script has be computed from these versions, which known as complex task. Existing approaches usually compute scripts at text granularity with only add line and delete actions. However, inferring syntactic changes such hard. moving frequent action performed when editing code, it should also taken into account. In this paper, we tackle issues introducing algorithm computing abstract syntax tree including move Our objective that short close original developer intent. implemented in freely-available extensible tool been intensively validated.

参考文章(32)
Martin Monperrus, Matias Martinez, CVS-Vintage: A Dataset of 14 CVS Repositories of Java Software ,(2012)
Jean-Rémy Falleri, Marianne Huchard, Mathieu Lafourcade, Clémentine Nebut, Metamodel Matching for Automatic Model Transformation Generation Model Driven Engineering Languages and Systems. pp. 326- 340 ,(2008) , 10.1007/978-3-540-87875-9_24
T. Apiwattanapong, M.J. Harrold, A. Orso, A differencing algorithm for object-oriented programs automated software engineering. pp. 2- 13 ,(2004) , 10.1109/ASE.2004.5
Cédric Teyton, Floréal Morandat, Matthieu Foucault, Marc Palyart, Xavier Blanc, Jean-Rémy Falleri, The Harmony Platform arXiv: Software Engineering. ,(2013)
Raihan Al-Ekram, Archana Adma, Olga Baysal, diffX: an algorithm to detect changes in multi-version XML documents conference of the centre for advanced studies on collaborative research. pp. 1- 11 ,(2005)
Joseph L. Fleiss, Measuring nominal scale agreement among many raters. Psychological Bulletin. ,vol. 76, pp. 378- 382 ,(1971) , 10.1037/H0031619
Philip Bille, A survey on tree edit distance and related problems Theoretical Computer Science. ,vol. 337, pp. 217- 239 ,(2005) , 10.1016/J.TCS.2004.12.030
M.M. Lehman, On understanding laws, evolution, and conservation in the large-program life cycle Journal of Systems and Software. ,vol. 1, pp. 213- 221 ,(1979) , 10.1016/0164-1212(79)90022-0
Nikolaus Augsten, Mateusz Pawlik, RTED Proceedings of the VLDB Endowment. ,vol. 5, pp. 334- 345 ,(2011) , 10.14778/2095686.2095692
Adam Duley, Chris Spandikow, Miryung Kim, Vdiff: a program differencing algorithm for Verilog hardware description language automated software engineering. ,vol. 19, pp. 459- 490 ,(2012) , 10.1007/S10515-012-0107-6