A Formal Method for the Abstract Specification of Software
Journal of the ACM (JACM)
Trace Specifications: Methodology and Models
IEEE Transactions on Software Engineering
String-rewriting systems
Simulating the Behavior of Software Modules by Trace Rewriting
IEEE Transactions on Software Engineering
Simulating the behaviour of software modules by trace rewriting
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Sequence-based software specification of deterministic systems
Software—Practice & Experience
Cleanroom software engineering: technology and process
Cleanroom software engineering: technology and process
Derivatives of Regular Expressions
Journal of the ACM (JACM)
The new math of computer programming
Communications of the ACM
Foundations of the Trace Assertion Method of Module Interface Specification
IEEE Transactions on Software Engineering
Structured Programming; Theory and Practice the Systems Programming Series
Structured Programming; Theory and Practice the Systems Programming Series
Using assertions about traces to write abstract specifications for software modules
Proceedings of the 2nd Conference of the European Cooperation on Informatics: Information Systems Methodology
Foundations of Sequence-Based Software Specification
IEEE Transactions on Software Engineering
Academia and industry meet: Some experiences of formal methods in practice
APSEC '03 Proceedings of the Tenth Asia-Pacific Software Engineering Conference Software Engineering Conference
From Requirements to Statistical Testing of Embedded Systems
SEAS '07 Proceedings of the 4th International Workshop on Software Engineering for Automotive Systems
The impact of requirements changes on specifications and state machines
Software—Practice & Experience
An axiom system for sequence-based specification
Theoretical Computer Science
Combining the Box Structure Development Method and CSP for Software Development
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
Sequence-based specification is a constructive method designed to convert ordinary functional requirements (that are often imprecisely and informally composed) into precise specifications. The method prompts a human requirements analyst to make the many decisions necessary to resolve the ambiguities, omissions, inconsistencies, and errors inherent in the original requirements document, and construct a complete, consistent, and traceably correct specification. We find that string-rewriting theory can be applied to make a number of these decisions automatically. In this paper we develop a method of applying string-rewriting to sequence enumeration. We give prescriptions on how prefix rewrite rules and general string rewrite rules can be declared, and used later in the process to automatically make new equivalences thereby prompting the human for fewer decisions. Based on the results we present an enhanced enumeration process, in which one develops working enumerations and working reduction systems concurrently, applying string-rewriting to deduce new reductions as needed, until a complete enumeration is obtained. We present data from four published applications that shows the feasibility and applicability of applying string-rewriting. In addition to effort reduction we have observed the benefit of eliminating rework achieved by consistent decisions, as well as an additional opportunity string-rewriting provides for validation of specification decisions to requirements.