2011 · 170 citations · 24 references
ComputingComputer ScienceChange MeasurementResistance To ChangeSoftware EngineeringChange Impact AnalysisChange MetricsSoftware EvolutionSoftware MaintenanceSoftware RefactoringVersion ControlChange History TrackingSoftware Evolution AnalysisSoftware VersioningSource Code Change Analysis
Numerous techniques involve mining change data captured in software archives to assist engineering efforts, for example to identify components that tend to evolve together. We observed that important changes to software artifacts are sometimes accompanied by numerous non-essential modifications, such as local variable refactorings, or textual differences induced as part of a rename refactoring. We developed a tool-supported technique for detecting non-essential code differences in the revision histories of software systems. We used our technique to investigate code changes in over 24,000 change sets gathered from the change histories of seven long-lived open-source systems. We found that up to 15.5% of a system's method updates were due solely to non-essential differences. We also report on numerous observations on the distribution of non-essential differences in change history and their potential impact on change-based analyses.
24
Comparison and Evaluation of Clone Detection Tools
Stefan Bellon, Rainer Koschke, Giulio Antoniol et al. · IEEE Transactions on Software Engineering · 2007 · 779 citations
Predicting fault incidence using software change history
Todd Graves, Alan F. Karr, J. S. Marron et al. · IEEE Transactions on Software Engineering · 2000 · 751 citations
The source code control system
Marc Rochkind · IEEE Transactions on Software Engineering · 1975 · 711 citations