The Programmer's Apprentice: A Session with KBEmacs
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Domain-Specific Automatic Programming
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Understanding and Automating Algorithm Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Report on the Larch shared language
Science of Computer Programming
A Larch shared language handbook
Science of Computer Programming
A Comparative Analysis of Functional Correctness
ACM Computing Surveys (CSUR)
Predicative programming Part I
Communications of the ACM
Predicative programming Part II
Communications of the ACM
A generalized control structure and its formal definition
Communications of the ACM
The new math of computer programming
Communications of the ACM
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
The Science of Programming
Princples of Computer Programming
Princples of Computer Programming
The Craft of Programming
Relational Theory of Computing
Relational Theory of Computing
Software Development: A Rigorous Approach
Software Development: A Rigorous Approach
Algorithms + Data Structures = Programs
Algorithms + Data Structures = Programs
The architecture of concurrent programs
The architecture of concurrent programs
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Introduction to Mathematical Theory of Computation
Introduction to Mathematical Theory of Computation
A Discipline of Programming
PASCAL user manual and report
Elementary Numerical Analysis: An Algorithmic Approach
Elementary Numerical Analysis: An Algorithmic Approach
Structured Programming; Theory and Practice the Systems Programming Series
Structured Programming; Theory and Practice the Systems Programming Series
A Theory of Programming Language Semantics
A Theory of Programming Language Semantics
Studies in Automatic Programming Logic
Studies in Automatic Programming Logic
Elements of discrete mathematics (McGraw-Hill computer science series)
Elements of discrete mathematics (McGraw-Hill computer science series)
Application programming as the construction of language interpreters
ACM SIGPLAN Notices
An Ontological Model of an Information System
IEEE Transactions on Software Engineering
Evaluation criteria for functional specifications
ICSE '90 Proceedings of the 12th international conference on Software engineering
An Automated Approach to Information Systems Decomposition
IEEE Transactions on Software Engineering
Specifying Transaction-Based Information Systems with Regular Expressions
IEEE Transactions on Software Engineering
Temporal Development Methods for Agent-Based
Autonomous Agents and Multi-Agent Systems
Hi-index | 0.00 |
Of the many ways to express program specifications, three of the most common are: as a pair of assertions, an input assertion and an output assertion; as a function mapping legal inputs to correct outputs; or as a relation containing the input/output pairs that are considered correct. The construction of programs consists of mapping a potentially complex specification into a program by recursively decomposing complex specifications into simpler ones. We show how this decomposition takes place in all three modes of specification and draw some conclusions on the nature of programming.