Program abstraction and instantiation
ACM Transactions on Programming Languages and Systems (TOPLAS)
PROUST: Knowledge-Based Program Understanding
IEEE Transactions on Software Engineering
Top-down synthesis of divide-and-conquer algorithms
Artificial Intelligence
Abstraction and specification in program development
Abstraction and specification in program development
Analogical problem solving
Deriving specifications from requirements
ICSE '88 Proceedings of the 10th international conference on Software engineering
Constructing Specifications by Combining Parallel Elaborations
IEEE Transactions on Software Engineering
Detecting interference when merging specification evolutions
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
Analogical approach to specification derivation
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
The requirements apprentice: an initial scenario
IWSSD '89 Proceedings of the 5th international workshop on Software specification and design
Learning from physical analogies: a study in analogy and the explanation process
Learning from physical analogies: a study in analogy and the explanation process
Program derivation: the development of programs from specifications
Program derivation: the development of programs from specifications
A Deductive Approach to Program Synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
The role of analogy in software reuse
SAC '93 Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice
Strategies for incorporating formal specifications in software development
Communications of the ACM
Process reuse using a template approach: a case-study from avionics
ACM SIGSOFT Software Engineering Notes
A model for a distributed OS automatic generation system
ACM SIGOPS Operating Systems Review
Tools for producing formal specifications: a view of current architectures and future directions
Annals of Software Engineering
A case-study of requirements reuse through product families
Annals of Software Engineering
Knowledge-Based Software Architectures: Acquisition, Specification, and Verification
IEEE Transactions on Knowledge and Data Engineering
Technology Transfer for Reuse: A Management Model and Process Improvement Framework
ICRE '98 Proceedings of the 3rd International Conference on Requirements Engineering: Putting Requirements Engineering to Practice
M2Z: A Tool for Translating a Natural Language Software Specification into Z
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Hi-index | 0.02 |
SPECIFIER, an interactive system which derives formal specifications of data types and programs from their informal descriptions, is described. The process of deriving formal specifications is viewed as a problem-solving process. The system uses common problem-solving techniques such as schemas, analogy, and difference-based reasoning to derive formal specifications. If an informal description is a commonly occurring operation for which the system has a schema, then the formal specification is derived by instantiating the schema. If there is a no such schema, SPECIFIER tries to find a previously solved problem which is analogous to the current problem. If the problem found is directly analogous to the current problem, it applies an analogy mapping to obtain a formal specification. On the other hand, if the analogy found is only approximate, it solves the directly analogous part of the problem by analogy and performs difference-based reasoning using the remaining (unmatched) parts to transform the formal specification obtained by analogy to a formal specification for the entire original problem.