Learning regular sets from queries and counterexamples
Information and Computation
Testing by means of inductive program learning
ACM Transactions on Software Engineering and Methodology (TOSEM)
Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Assessing Test Data Adequacy through Program Inference
ACM Transactions on Programming Languages and Systems (TOPLAS)
Introduction to Automata Theory, Languages and Computability
Introduction to Automata Theory, Languages and Computability
ICGI '98 Proceedings of the 4th International Colloquium on Grammatical Inference
Improving test suites via operational abstraction
Proceedings of the 25th International Conference on Software Engineering
Feedback-Directed Random Test Generation
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
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
Smyle: A Tool for Synthesizing Distributed Models from Scenarios by Learning
CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
THE QSM ALGORITHM AND ITS APPLICATION TO SOFTWARE BEHAVIOR MODEL INDUCTION
Applied Artificial Intelligence
Automatic testing of TCP/IP implementations using QuickCheck
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
Dynamic testing via automata learning
International Journal on Software Tools for Technology Transfer (STTT) - Special Section on HVC 07
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Iterative Refinement of Reverse-Engineered Models by Model-Based Testing
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Longer is Better: On the Role of Test Sequence Length in Software Testing
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
On the correspondence between conformance testing and regular inference
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
LearnLib: a library for automata learning and experimentation
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Iterative refinement of specification for component based embedded systems
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Incremental learning-based testing for reactive systems
TAP'11 Proceedings of the 5th international conference on Tests and proofs
Learning-based testing for reactive systems using term rewriting technology
ICTSS'11 Proceedings of the 23rd IFIP WG 6.1 international conference on Testing software and systems
Assessing test adequacy for black-box systems without specifications
ICTSS'11 Proceedings of the 23rd IFIP WG 6.1 international conference on Testing software and systems
Model-Based testing and model inference
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Guided GUI testing of android apps with minimal restart and approximate learning
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
This paper addresses the challenge of generating test sets that achieve functional coverage, in the absence of a complete specification. The inductive testing technique works by probing the system behaviour with tests, and using the test results to construct an internal model of software behaviour, which is then used to generate further tests. The idea in itself is not new, but prior attempts to implement this idea have been hampered by expense and scalability, and inflexibility with respect to testing strategies. In the past, inductive testing techniques have tended to focus on the inferred models, as opposed to the suitability of the test sets that were generated in the process. This paper presents a flexible implementation of the inductive testing technique, and demonstrates its application with case-study that applies it to the Linux TCP stack implementation. The evaluation shows that the generated test sets achieve a much better coverage of the system than would be achieved by similar non-inductive techniques.