The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
An Assessment of Techniques for Proving Program Correctness
ACM Computing Surveys (CSUR)
Revised report on the algorithm language ALGOL 60
Communications of the ACM
Compiler Construction for Digital Computers
Compiler Construction for Digital Computers
Automatic computation of limits
SYMSAC '71 Proceedings of the second ACM symposium on Symbolic and algebraic manipulation
Structured programming
Abstract interpretation and low-level code optimization
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A Shortest Path Algorithm for Edge-Sparse Graphs
Journal of the ACM (JACM)
Two Algorithms for Determining Volumes of Convex Polyhedra
Journal of the ACM (JACM)
Comparison of Compacting Algorithms for Garbage Collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer-assisted microanalysis of programs
Communications of the ACM
Analyses of deterministic parsing algorithms
Communications of the ACM
Communications of the ACM
Computer-aided micro-analysis of programs
ICSE '79 Proceedings of the 4th international conference on Software engineering
Mechanical analysis of program complexity
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Goal-directed program transformation
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Towards an automatic complexity analysis for generic programs
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
Choosing an efficient internal schema
VLDB '76 Proceedings of the second international conference on Systems for Large Data Bases
Cost-driven autonomous mobility
Computer Languages, Systems and Structures
Hi-index | 48.26 |
Two languages enabling their users to estimate the efficiency of computer programs are presented. The program whose efficiency one wishes to estimate is written in the first language, a go-to-less programming language which includes most of the features of Algol 60. The second language consists of interactive commands enabling its users to provide additional information about the program written in the first language and to output results estimating its efficiency. Processors for the two languages are also described. The first processor is a syntax-directed translator which compiles a program into a symbolic formula representing the execution time for that program. The second processor is a set of procedures for algebraic manipulation which can be called by the user to operate on the formula produced by the first processor. Examples of the usage of the two languages are included. The limitations of the present system, its relation to Knuth's work on the analysis of algorithms, and some of the directions for further research are also discussed.