Learning regular sets from queries and counterexamples
Information and Computation
Discovering models of software processes from event-based data
ACM Transactions on Software Engineering and Methodology (TOSEM)
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICGI '98 Proceedings of the 4th International Colloquium on Grammatical Inference
Generating Annotated Behavior Models from End-User Scenarios
IEEE Transactions on Software Engineering
QUARK: Empirical Assessment of Automaton-based Specification Miners
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
SMArTIC: towards building an accurate, robust and scalable specification miner
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Behaviour Model Synthesis from Properties and Scenarios
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Reverse Engineering State Machines by Interactive Grammar Inference
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Improving dynamic software analysis by applying grammar inference principles
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on Program Comprehension through Dynamic Analysis (PCODA)
Spin model checker, the: primer and reference manual
Spin model checker, the: primer and reference manual
THE QSM ALGORITHM AND ITS APPLICATION TO SOFTWARE BEHAVIOR MODEL INDUCTION
Applied Artificial Intelligence
On the Synthesis of Finite-State Machines from Samples of Their Behavior
IEEE Transactions on Computers
Learning assumptions for compositional verification
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
EPIA'05 Proceedings of the 12th Portuguese conference on Progress in Artificial Intelligence
Automatic steering of behavioral model inference
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Iterative Refinement of Reverse-Engineered Models by Model-Based Testing
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Mining program workflow from interleaved traces
Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining
Incrementally discovering testable specifications from program executions
FMCO'09 Proceedings of the 8th international conference on Formal methods for components and objects
Extracting QuickCheck specifications from EUnit test cases
Proceedings of the 10th ACM SIGPLAN workshop on Erlang
Learning extended FSA from software: An empirical assessment
Journal of Systems and Software
Unifying FSM-inference algorithms through declarative specification
Proceedings of the 2013 International Conference on Software Engineering
Empirical Software Engineering
Using model checking to analyze the system behavior of the LHC production grid
Future Generation Computer Systems
Hi-index | 0.00 |
Finite state machine-based abstractions of software behaviour are popular because they can be used as the basis for a wide range of (semi-) automated verification and validation techniques. These can however rarely be applied in practice, because the specifications are rarely kept up- to-date or even generated in the first place. Several techniques to reverse-engineer these specifications have been proposed, but they are rarely used in practice because their input requirements (i.e. the number of execution traces) are often very high if they are to produce an accurate result. An insufficient set of traces usually results in a state machine that is either too general, or incomplete. Temporal logic formulae can often be used to concisely express constraints on system behaviour that might otherwise require thousands of execution traces to identify. This paper describes an extension of an existing state machine inference technique that accounts for temporal logic formulae, and encourages the addition of new formulae as the inference process converges on a solution. The implementation of this process is openly available, and some preliminary results are provided.