Mining object behavior with ADABU. 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.
Keywords for this software
References in zbMATH (referenced in 6 articles )
Showing results 1 to 6 of 6.
- Peleg, Hila; Shoham, Sharon; Yahav, Eran; Yang, Hongseok: Symbolic automata for representing big code (2016)
- Aarts, Fides; Kuppens, Harco; Tretmans, Jan; Vaandrager, Frits; Verwer, Sicco: Improving active Mealy machine learning for protocol conformance testing (2014)
- Mocci, Andrea; Sangiorgio, Mario: Detecting component changes at run time with behavior models (2013)
- Ficco, Massimo; Pietrantuono, Roberto; Russo, Stefano: Bug localization in test-driven development (2011)
- Artzi, Shay; Kieżun, Adam; Quinonez, Jaime; Ernst, Michael D.: Parameter reference immutability: formal definition, inference tool, and comparison (2009)
- Carzaniga, Antonio; Gorla, Alessandra; Pezzè, Mauro: Healing web applications through automatic workarounds (2008)