Goal-directed requirements acquisition
6IWSSD Selected Papers of the Sixth International Workshop on Software Specification and Design
Inferring Declarative Requirements Specifications from Operational Scenarios
IEEE Transactions on Software Engineering
Deriving operational software specifications from system goals
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
The 4+1 View Model of Architecture
IEEE Software
Representing and Using Nonfunctional Requirements: A Process-Oriented Approach
IEEE Transactions on Software Engineering - Special issue on knowledge representation and reasoning in software development
Towards requirements-driven information systems engineering: the Tropos project
Information Systems - The 13th international conference on advanced information systems engineering (CAiSE*01)
RE '04 Proceedings of the Requirements Engineering Conference, 12th IEEE International
Towards software architecture-based regression testing
WADS '05 Proceedings of the 2005 workshop on Architecting dependable systems
On the Use of Specification-Based Assertions as Test Oracles
SEW '05 Proceedings of the 29th Annual IEEE/NASA on Software Engineering Workshop
Using scenarios to support traceability
TEFSE '05 Proceedings of the 3rd international workshop on Traceability in emerging forms of software engineering
An Automated Approach for Goal-driven, Specification-based Testing
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Hi-index | 0.00 |
This paper presents a specification-based testing approach that compares software specifications defined at different levels of abstraction, e.g. architecture and implementation, against specified system goals. We believe that a goal-driven approach that connects several development artifacts through verification of specified goals provides useful traceability links between those artifacts as well as an efficient testing technique. Our approach begins with a system goal graph in which high-level goals are step-wise refined into low-level functional goals that can be realized as code components. Each of the architectural components is associated with a plan that describes the component's functional behavior. Source code is annotated with goals from plans and events that achieve the goals; code is then precompiled to emit those goals and events at run time. Plans are automatically translated into a rule-based recognizer. An oracle is produced from the pre- and post-conditions associated with the plan's goals. When the program executes, the goals and events emitted are automatically tested against the plans and expected results. As components achieve their component-level plans, a higher-level plan recognizer, concerned with the integration of components, can verify correct system behavior over the interaction trace of a collection of lower-level plans. A small example illustrates the concept.