Software engineering (2nd ed.)
Software engineering (2nd ed.)
Test sets generation from algebraic specifications using logic programming
Journal of Systems and Software
Software engineering concepts
Algebraic specification
Testing the Completeness of Specifications
IEEE Transactions on Software Engineering
Automatic proofs by induction in theories without constructors
Information and Computation
Algebraic Specifications in Software Engineering
Algebraic Specifications in Software Engineering
Software engineering with abstractions
Software engineering with abstractions
Fundamentals of software engineering
Fundamentals of software engineering
Sufficient-completeness, ground-reducibility and their complexity
Acta Informatica
Automating inductionless induction using test sets
Journal of Symbolic Computation
Software engineering (3rd ed.): a practitioner's approach
Software engineering (3rd ed.): a practitioner's approach
Object-oriented modeling and design
Object-oriented modeling and design
Powerlist: a structure for parallel recursion
A classical mind
Data Abstraction, Implementation, Specification, and Testing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal specification as a design tool
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Rewrite Rule Theory and Abstract Data Type Analysis
EUROCAM '82 Proceedings of the European Computer Algebra Conference on Computer Algebra
A decidability result about sufficient-completeness of axiomatically specified abstract data types
Proceedings of the 6th GI-Conference on Theoretical Computer Science
An Overview of Rewrite Rule Laboratory (RRL)
RTA '89 Proceedings of the 3rd International Conference on Rewriting Techniques and Applications
Stop losing sleep over incomplete data type specifications
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The specification and application to programming of abstract data types.
The specification and application to programming of abstract data types.
Mechanical Verification of Adder Circuits using Rewrite RuleLaboratory
Formal Methods in System Design
Simultaneous checking of completeness and ground confluence for algebraic specifications
ACM Transactions on Computational Logic (TOCL)
Strategic Issues, Problems and Challenges in Inductive Theorem Proving
Electronic Notes in Theoretical Computer Science (ENTCS)
A sufficient completeness reasoning tool for partial specifications
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
Hi-index | 0.00 |
Books on software engineering methodologies talk about the significance and need for designing consistent and complete specifications during the requirement analysis and design stages of a software development cycle. There is, however, little (or at best very limited) discussion of methods for ensuring these structural properties of specifications. In this paper, we discuss methods for checking completeness of equational specifications. Some of these methods were earlier proposed in somewhat different form in the context of developing the so-called inductionless induction method for automating proofs by induction using completion procedures. These methods are implemented in our theorem prover Rewrite Rule Laboratory (RRL), and have been tried on a number of examples of specifications of data abstractions. In case a specification is incomplete, these methods can aid in making them complete by generating templates which are not specified. Templates can also be helpful in distinguishing between intentional and unintentional incompleteness in specifications. Further, these methods can be used to generate test cases for checking specifications and verifying implementations of specifications. These methods are illustrated on examples which exhibit their power as well as limitations.