THESIS
2012
x, 32 p. : ill. ; 30 cm
Abstract
As a software system evolves, developers make changes to add new features ot fix different kinds of bugs reported by testers and end users. The efficiency and effectiveness of changing and fixing have huge impact on the reliability of the software system. After studying a large number of changes in major open source projects, I found that developers often make similar changes. There are some common change types that are frequently used. It would be helpful if we can reuse these common changes. These common changes can be used in documenting changes, automatic patch generation, and patch identification....[
Read more ]
As a software system evolves, developers make changes to add new features ot fix different kinds of bugs reported by testers and end users. The efficiency and effectiveness of changing and fixing have huge impact on the reliability of the software system. After studying a large number of changes in major open source projects, I found that developers often make similar changes. There are some common change types that are frequently used. It would be helpful if we can reuse these common changes. These common changes can be used in documenting changes, automatic patch generation, and patch identification.
I proposed a graph-based approach to mine change patterns from software changes. Mining from over 100,00 changes, I found that a few frequent top change patterns covers large proportion of all changes and the rest change patterns distribute as a long tail.
To show the usefulness of our approach, I applied it to change documentation and evaluation on one of the potential applications - automatic change documentation. To evaluate the coverage and quality of our change documentation, I conducted several evaluation experiments: coverage experiment, score metric systematic evaluation, ranking survey, and email survey.
According to the evaluation experiments results, the change documentation approach can generate better change documentation than the existing approach. The coverage experiment measure the coverage of the change documentation approach, which indicate the effectiveness of our approach. The result shows that this approach can reach high percentage with a certain number of change patterns. In the score metric systematic evaluation experiment and ranking survey, I compared the quality of the original log message, the change documentation of existing approach, and the change documentation. The results indicate that the change documentation can generate better change documentation than existing tool, and the change documentation can complement the log message. To evaluate the accuracy of the change documentation, we conducted email survey by sending survey forms to the developers of the projects we used in evaluation. According to their feedbacks, the change documentation is accurate.
Post a Comment