Toward a dynamic analysis technique to locate framework misuses that cause unexpected side effects

Recently many frameworks are used in software development without proper documentation, and are misused by application developers in calling framework APIs. Debugging a failure caused by a wrong API call is difficult and requires a proper supporting technique. In our preceding study we developed a dynamic analysis technique to detect possibly unexpected side effects that cause failures. In this paper, we introduce a case study to identify a wrong API call using this technique.

[1]  Eran Yahav,et al.  Typestate-based semantic code search over partial programs , 2012, OOPSLA '12.

[2]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[3]  Izuru Kume,et al.  A dynamic analysis technique to extract symptoms that suggest side effects in framework applications , 2014, SAC.

[4]  Mira Mezini,et al.  Detecting missing method calls as violations of the majority rule , 2013, TSEM.

[5]  Brad A. Myers,et al.  Finding causes of program output with the Java Whyline , 2009, CHI.

[6]  Forrest Shull,et al.  Investigating Reading Techniques for Object-Oriented Framework Learning , 2000, IEEE Trans. Software Eng..

[7]  Tao Wang,et al.  Using compressed bytecode traces for slicing Java programs , 2004, Proceedings. 26th International Conference on Software Engineering.

[8]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[9]  M. Eliantonio,et al.  Private Parties and the Annulment Procedure: Can the Gap in the European System of Judicial Protection Be Closed? , 2010 .

[10]  Raimondas Lencevicius Advanced Debugging Methods , 2000 .

[11]  Mira Mezini,et al.  Detecting Missing Method Calls in Object-Oriented Software , 2010, ECOOP.

[12]  Izuru Kume,et al.  Toward Comprehension of Side Effects in Framework Applications as Feature Interactions , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[13]  Andreas Zeller,et al.  Why Programs Fail, Second Edition: A Guide to Systematic Debugging , 2009 .

[14]  Krzysztof Czarnecki,et al.  Two Studies of Framework-Usage Templates Extracted from Dynamic Traces , 2012, IEEE Transactions on Software Engineering.

[15]  Xiangyu Zhang,et al.  Pruning dynamic slices with confidence , 2006, PLDI '06.

[16]  Ambuj K. Singh,et al.  Dynamic Query-Based Debugging of Object-Oriented Programs , 2004, Automated Software Engineering.