Inferring state-based behavior models

Dynamic analysis helps to extract important information about software systems useful in testing, debugging and maintenance activities. Popular dynamic analysis techniques synthesize either information on the values of the variables or information on relations between invocation of methods. Thus, these approaches do not capture the important relations that exist between data values and invocation sequences.In this paper, we introduce a technique, called GK-tail, for generating models that represent the interplay between program variables and method invocations. GK-tail extends the k-tail algorithm for extracting finite state automata from execution traces, to the case of finite state automata with parameters.The paper presents the technique and the results of some preliminary experiments that indicate the potentialities of the proposed approach.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  James R. Larus,et al.  Mining specifications , 2002, POPL '02.

[3]  Pierre Dupont,et al.  Incremental regular inference , 1996, ICGI.

[4]  William G. Griswold,et al.  Dynamically discovering likely program invariants to support program evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[5]  David Notkin,et al.  Tool-assisted unit-test generation and selection based on operational abstractions , 2006, Automated Software Engineering.

[6]  Jerome A. Feldman,et al.  On the Synthesis of Finite-State Machines from Samples of Their Behavior , 1972, IEEE Transactions on Computers.

[7]  David Notkin,et al.  Exploiting Synergy Between Testing and Inferred Partial Specifications , 2003 .

[8]  Steven P. Reiss,et al.  Encoding program executions , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[9]  Michael D. Ernst,et al.  Improving test suites via operational abstraction , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[10]  Rajesh Parekh,et al.  An incremental interactive algorithm for grammar inference , 1996 .

[11]  Leonardo Mariani,et al.  Behavior capture and test: automated analysis of component integration , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[12]  Lothar Wendehals Improving Design Pattern Instance Recognition by Dynamic Analysis , 2003 .

[13]  Ferhat Khendek,et al.  Test Selection Based on Finite State Models , 1991, IEEE Trans. Software Eng..

[14]  Rajesh Parekh,et al.  An Incremental Interactive Algorithm for Regular Grammar Inference , 1996, AAAI/IAAI, Vol. 2.

[15]  J. Feldman,et al.  Learning Automata from Ordered Examples , 1991 .

[16]  Alexander L. Wolf,et al.  Discovering models of software processes from event-based data , 1998, TSEM.

[17]  Abdelwahab Hamou-Lhadj Timothy C. Lethbridge An Efficient Algorithm for Detecting Patterns in Traces of Procedure Calls , 2005 .