Proceedings Article10.1109/CSMR.2012.20
Impact Analysis Using Static Execute After in WebKit
Judit J´sz,Lajos Schrettner,Árp´d Beszédes,Csaba Osztrogon´c,Tibor Gyimóthy +4 more
- 27 Mar 2012
- pp 95-104
TL;DR: The results show that the method is applicable for the analysis of the system, and that the impact sets can predict the required changes in a fair amount of cases, but that there are still open issues for the improvement of the method.
read more
Abstract: Insufficient propagation of changes causes the majority of regression errors in heavily evolving software systems. Impact analysis of a particular change can help identify those parts of the system that also need to be investigated and potentially propagate the change. A static code analysis technique called Static Execute After can be used to automatically infer such impact sets. The method is safe and comparable in precision to more detailed analyses. At the same time it is significantly more efficient, hence we could apply it to different large industrial systems, including the open source Web Kit project. We overview the benefits of the method, its existing implementations, and present our experiences in adapting the method to such a complex project. Finally, using this particular analysis on the Web Kit project, we verify whether applying the method we can actually predict the required change propagation and hence reduce regression errors. We report on the properties of the resulting impact sets computed for the change history, and their relationship to the actual fixes required. We looked at actual defects provided by the regression test suite along with their fixes taken from the version control repository, and compared these fixes to the predicted impact sets computed at the changes that caused the failing tests. The results show that the method is applicable for the analysis of the system, and that the impact sets can predict the required changes in a fair amount of cases, but that there are still open issues for the improvement of the method.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Automated Pattern-Based Testing of Mobile Applications
Inês Coimbra Morgado,Ana C. R. Paiva,João Pascoal Faria +2 more
- 01 Sep 2014
TL;DR: The goal of this research work is to ease the testing of mobile applications by automatically identifying and testing behaviour that is common in this type of applications, i.e., behaviour patterns.
Abstracting Program Dependencies Using the Method Dependence Graph
Haipeng Cai,Raul Santelices +1 more
- 03 Aug 2015
TL;DR: A new dependence abstraction called the method dependence graph (MDG) is presented that approximates the TSD model at method level, and it is shown that the MDG can approximate TSD safely, for method-level forward dependence at least, with little loss of precision yet huge gain in efficiency.
16
Impact analysis in the presence of dependence clusters using Static Execute After in WebKit
TL;DR: It is shown that a large number of real defects can be captured by impact sets computed by Static Execute After, albeit many of them are large.
15
Impact Analysis in the Presence of Dependence Clusters Using Static Execute after in WebKit
Lajos Schrettner,Judit Jász,Tamás Gergely,Arpad Beszedes,Tibor Gyimóthy +4 more
- 23 Sep 2012
TL;DR: It is shown that a large number of real defects can be captured by impact sets computed by Static Execute After, albeit many of them are large.
Comparison of Backward Slicing Techniques for Java
TL;DR: This paper presents a comparative study of four backward program slicing techniques for Java, and shows the scalability and precision of these techniques.
References
•Book
Compilers: Principles, Techniques, and Tools
Alfred V. Aho,Ravi Sethi,Jeffrey D. Ullman +2 more
- 01 Jan 1986
TL;DR: This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
9.7K
Program Slicing
TL;DR: Program slicing as mentioned in this paper is a method for automatically decomposing programs by analyzing their data flow and control flow. But it is not a technique for finding statement-minimal slices, as it is in general unsolvable, but using data flow analysis is sufficient to find approximate slices.
3.3K
Program slicing
Keith Gallagher,David Binkley +1 more
- 01 Sep 2008
TL;DR: Applications of program slicing are surveyed, ranging from its first use as a debugging technique to current applications in property verification using finite state models, and a summary of research challenges for the slicing community is discussed.
2.8K
Interprocedural slicing using dependence graphs
TL;DR: A new kind of graph to represent programs is introduced, called a system dependence graph, which extends previous dependence representations to incorporate collections of procedures (with procedure calls) rather than just monolithic programs.
Mining version histories to guide software changes
TL;DR: Data mining is applied to version histories in order to guide programmers along related changes: "Programmers who changed these functions also changed".
1K