Font Size: a A A

Predicting software change coupling

Posted on:2009-05-02Degree:Ph.DType:Dissertation
University:Drexel UniversityCandidate:Dondero, Robert Michael, JrFull Text:PDF
GTID:1448390002494120Subject:Information Science
Abstract/Summary:
This project was an exploratory study of techniques for predicting future change coupling among a program's source code files. Two source rode files are change coupled if programmers edit them together frequently, and separately infrequently. Specifically, this project investigated the predictive power of three approaches: mining of software change logs, software similarity detection, and software proximity detection.;Software mining extracts patterns from source code databases, that is, version control systems containing source code and change histories. This project explored whether identification of past change coupling among source code files can predict future change coupling among those files. Software similarity detection finds files that contain similar, alias cloned, code. This project explored whether identification of similar code among source code files can predict future change coupling among those files. Finally, software proximity detection finds files that reference each other heavily. This project explored whether identification of proximity among source code files can predict future change coupling among these files.;This project performed the study applied a software miner (created specifically for this project), three preexisting similarity detectors, and two proximity detectors (created specifically for this project) to four large open source code databases at multiple points in time. It determined that software mining generally generated the best predictions of the three approaches, followed by similarity detection, followed by proximity detection.;Excessive source code change coupling can be a serious maintenance problem. So the prediction of future change coupling is an important challenge in software engineering. The results of this project shed light on the abilities of the three approaches, both in the absolute and relative senses, to predict change coupling. So the results of this project hold promise for decreasing program maintenance costs.
Keywords/Search Tags:Change coupling, Predict, Project, Source code, Software
Related items