IMPEX: An Approach to Analyze Source Code Changes on Software Run Behavior ()
Abstract
The development of software nowadays
is getting more complex due to the need to use software programs to accomplish more elaborated tasks.
Developers may have a hard time knowing what could happen to the software when
making changes. To
support the developer in reducing the uncertainty of the impact on the software
run behavior due to changes in the source code, this paper presents a tool
called IMPEX which analyzes the differences in the source code and differences
on the run behavior of two subsequent software versions, in the entire
repository, demonstrating to the developer the impact that a change in the
source code has had on the software run, over the whole software history. This
impact helps the developers in knowing what is affected during execution due to
their changes in the source code. This study verifies that the software runs
that are most impacted by a given change in the source code, have higher
chances in being impacted in the future whenever this part of the code is
changed again. The approach taken in this paper was able to precisely predict
what would be impacted on the software execution when a change in the source
code was made in 70% of the cases.
Share and Cite:
D. Nemer, "IMPEX: An Approach to Analyze Source Code Changes on Software Run Behavior,"
Journal of Software Engineering and Applications, Vol. 6 No. 4, 2013, pp. 157-167. doi:
10.4236/jsea.2013.64020.
Conflicts of Interest
The authors declare no conflicts of interest.
References
[1]
|
D. Schuler, V. Dallmeier and A. Zeller, “Efficient Mutation Testing by Checking Invariant Violations,” In: Proceedings of the 18th International Symposium on Software Testing and Analysis, ACM, 2009, pp. 69-80.
doi:10.1145/1572272.1572282
|
[2]
|
B. J. Grun, D. Schuler and A. Zeller, “The Impact of Equivalent Mutants,” International Conference on Software Testing, Verification and Validation Workshops, Denver, 1-4 April 2009, pp. 192-199.
|
[3]
|
M. Kim, D. Notkin and D. Grossman, “Automatic Inference of Structural Changes for Matching across Program Versions,” International Conference on Software Engineering: Proceedings of the 29th International Conference on Software Engineering, Vol. 20, No. 26, 2007, pp. 333-343.
|
[4]
|
JodaTime—Java Date and Time api. 2012.
http://jodatime.sourceforge.net/.
|
[5]
|
Jaxen: Universal Java Xpath Engine. 2012.
http://jaxen.codehaus.org/
|