Mechanical proofs about computer programs
Readings in artificial intelligence and software engineering
A computational logic handbook
A computational logic handbook
Quantitative results concerning the utility of explanation-based learning
Artificial Intelligence
Design and validation of computer protocols
Design and validation of computer protocols
Seven Layers of Knowledge Representation and Reasoning in Support of Software Development
IEEE Transactions on Software Engineering - Special issue on knowledge representation and reasoning in software development
Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Requirements Specification for Process-Control Systems
IEEE Transactions on Software Engineering
Automated consistency checking of requirements specifications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Model checking large software specifications
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Formal methods: state of the art and future directions
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
Model-checking of real-time systems: a telecommunications application: experience report
ICSE '97 Proceedings of the 19th international conference on Software engineering
Automatic test data generation using constraint solving techniques
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Verifying systems with integer constraints and Boolean predicates: a composite approach
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Communications of the ACM
Explanation-Based Learning: An Alternative View
Machine Learning
Reactive system validation using automated reasoning over a fragment library
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Hi-index | 0.00 |
Reactive systems control many useful and complex real-world devices. Tool-supported specification modeling helps software engineers design such systems correctly. One such tool, a scenario generator, constructs an input event sequence for the spec model that reaches a state satisfying given criteria. It can uncover counterexamples to desired safety properties, explain feature interactions in concrete terms to requirements analysts, and even provide online help to end users learning how to use a system. However, while exhaustive search algorithms such as model checkers work in limited cases, the problem is highly intractable for the functionally rich models that correspond naturally to complex systems engineers wish to design. This paper describes a novel heuristic approach to the problem that is applicable to a large class of infinite state reactive systems. The key idea is to piece together scenarios that achieve subgoals into a single scenario achieving the conjunction of the subgoals. The scenarios are mined from a library captured independently during requirements acquisition. Explanation-based generalization then abstracts them so they may be coinstantiated and interleaved. The approach is implemented, and I present the results of applying the tool to 63 scenario generation problems arising from a case study of telephony feature validation.