A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Communications of the ACM
Abstract data types and the development of data structures
Communications of the ACM
Abstraction and verification in Alphard: defining and specifying iteration and generators
Communications of the ACM
Communications of the ACM
Toward an understanding of data structures
Communications of the ACM
SIMULA: an ALGOL-based simulation language
Communications of the ACM
Systematic Programming: An Introduction
Systematic Programming: An Introduction
Introduction to Mathematical Theory of Computation
Introduction to Mathematical Theory of Computation
Formal specification as a design tool
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program refinement by transformation
ICSE '81 Proceedings of the 5th international conference on Software engineering
Multiple points of view in modelling programs
Proceedings of the 1980 workshop on Data abstraction, databases and conceptual modeling
Some classes of naturally provable programs
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Knowledge about programs: A model and case study
Proceedings of the international conference on Reliable software
The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two)
The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two)
Initial Report on A LISP Programmer''s Apprentice
Initial Report on A LISP Programmer''s Apprentice
Rabbit: A Compiler for Scheme
Automatic Analysis of the Logical Structure of Programs
Automatic Analysis of the Logical Structure of Programs
Dependency Directed Reasoning for Complex Program Understanding
Dependency Directed Reasoning for Complex Program Understanding
SEMIAUTOMATIC TRANSLATION OF COBOL INTO HIBOL
SEMIAUTOMATIC TRANSLATION OF COBOL INTO HIBOL
Transformational Implementation: An Example
IEEE Transactions on Software Engineering
Program Development as a Formal Activity
IEEE Transactions on Software Engineering
An Approach to Formal Definitions and Proofs of Programming Principles
IEEE Transactions on Software Engineering
A Method for Analyzing Loop Programs
IEEE Transactions on Software Engineering
Interactions of Abstractions in Programming
SARA '02 Proceedings of the 4th International Symposium on Abstraction, Reformulation, and Approximation
Strongest postcondition semantics as the formal basis for reverse engineering
WCRE '95 Proceedings of the Second Working Conference on Reverse Engineering
Improving slice accuracy by compression of data and control flow paths
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Code-motion for API migration: fixing SQL injection vulnerabilities in Java
Proceedings of the 4th Workshop on Refactoring Tools
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
A plan calculus is presented which is being used to represent programs and a library of standard data and control abstractions in the programmer's apprentice. Important features of this formalism include: programming language independence, additivity, verifiability and multiple points of view. The logical foundations of the representation are specified formally using a situational calculus in which side effects and overlapping mutable data structures are accounted for. The plan calculus is comparedwith other formalisms, such as program schemas, and its advantages pointed out.