| Mining object behavior with ADABU |
| Full text |
Pdf
(143 KB)
|
| Source
|
International Conference on Software Engineering
archive
Proceedings of the 2006 international workshop on Dynamic systems analysis
table of contents
Shanghai, China
SESSION: Behavior models
table of contents
Pages: 17 - 24
Year of Publication: 2006
ISBN:1-59593-400-6
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 13, Downloads (12 Months): 58, Citation Count: 11
|
|
|
ABSTRACT
To learn what constitutes correct program behavior, one can start with normal behavior. We observe actual program executions to construct state machines that summarize object behavior. These state machines, called object behavior models, capture the relationships between two kinds of methods: mutators that change the state (such as add()) and inspectors that keep the state unchanged (such as isEmpty()): "A Vector object initially is in isEmpty() state; after add(), it goes into ¬isEmpty() state". Our ADABU prototype for JAVA has successfully mined models of undocumented behavior from the AspectJ compiler and the Columba email client; the models tend to be small and easily understandable.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
|
 |
3
|
|
| |
4
|
Valentin Dall-meier, Christian Lindig, and Andreas Zeller. Lightweight defect localization for Java. In Andrew Black, editor, European Conference on Object-Oriented Programming (ECOOP), pages 528--550, 2005.
|
| |
5
|
|
 |
6
|
|
| |
7
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
 |
8
|
Ben Liblit , Mayur Naik , Alice X. Zheng , Alex Aiken , Michael I. Jordan, Scalable statistical bug isolation, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
| |
9
|
Martin Rinard. Flex. http://www.flex-compiler.lcs.mit.edu/, 2002. Compiler infrastructure.
|
| |
10
|
|
| |
11
|
Alexandru Salcianu and Martin Rinard. Purity and side effect analysis for Java programs. In Proceedings of the 6th International Conference on Verification, Model Checking and Abstract Interpretation, number 3385 in LNCS, pages 199--215, January 2005.
|
| |
12
|
Timo Stich and Frederik Dietz. Columba. http://columbamail.org/, 2005. Open-source email client, implemented in Java.
|
| |
13
|
Westley Weimer and George C. Necula. Mining temporal specifications for error detection. In Nicolas Halbwachs and Lenore D. Zuck, editors, Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2005), pages 461--476, Edinburgh, UK, April 4-8 2005.
|
 |
14
|
|
 |
15
|
|
| |
16
|
Tao Xie and David Notkin. Automatic extraction of object-oriented observer abstractions from unit-test executions. In Proceedings of the 6th International Conference on Formal Engineering Methods (ICFEM 2004), pages 290--305, November 2004.
|
 |
17
|
|
CITED BY 11
|
|
|
|
|
|
|
|
|
|
|
Yoav Zibin , Alex Potanin , Mahmood Ali , Shay Artzi , Adam Kie|un , Michael D. Ernst, Object and reference immutability using Java generics, Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, September 03-07, 2007, Dubrovnik, Croatia
|
|
|
Shay Artzi , Adam Kiezun , David Glasser , Michael D. Ernst, Combined static and dynamic mutability analysis, Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, November 05-09, 2007, Atlanta, Georgia, USA
|
|
|
|
|
|
|
|
|
|
|
|
Shay Artzi , Adam Kieżun , Jaime Quinonez , Michael D. Ernst, Parameter reference immutability: formal definition, inference tool, and comparison, Automated Software Engineering, v.16 n.1, p.145-192, March 2009
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.m
Miscellaneous
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.1
Requirements/Specifications
Subjects:
Tools
D.2.5
Testing and Debugging
Subjects:
Tracing
General Terms:
Documentation,
Experimentation,
Languages,
Verification
Keywords:
automata,
inspector method,
java,
mining,
object behavior model,
object state,
observer method,
program analysis,
program instrumentation,
purity analysis
|