Verification of probabilistic programs
SIAM Journal on Computing
Real and complex analysis, 3rd ed.
Real and complex analysis, 3rd ed.
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Symbolic Solution of Finite-Difference Equations
ACM Transactions on Mathematical Software (TOMS)
Some MACSYMA Programs for Solving Recurrence Relations
ACM Transactions on Mathematical Software (TOMS)
Probabilistic Languages: A Review and Some Open Questions
ACM Computing Surveys (CSUR)
Computer-assisted microanalysis of programs
Communications of the ACM
Communications of the ACM
Symbolic execution and program testing
Communications of the ACM
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Determining average program execution times and their variance
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Task granularity analysis in logic programs
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Computer-assisted microanalysis of parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Polymorphic time systems for estimating program complexity
ACM Letters on Programming Languages and Systems (LOPLAS)
Cost analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiling performance models from parallel programs
ICS '94 Proceedings of the 8th international conference on Supercomputing
Static branch frequency and program profile analysis
MICRO 27 Proceedings of the 27th annual international symposium on Microarchitecture
Symbolic analysis for parallelizing compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Analysis of benchmark characteristics and benchmark performance prediction
ACM Transactions on Computer Systems (TOCS)
Expressing meaningful processing requirements among heterogeneous nodes in an active network
Proceedings of the 2nd international workshop on Software and performance
Automated complexity analysis of Nuprl extracted programs
Journal of Functional Programming
Language and Compiler Support for Adaptive Applications
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
Toward a progress indicator for program compilation
Software—Practice & Experience
Automatic Inference of Upper Bounds for Recurrence Relations in Cost Analysis
SAS '08 Proceedings of the 15th international symposium on Static Analysis
Closed-Form Upper Bounds in Static Cost Analysis
Journal of Automated Reasoning
Multivariate amortized resource analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the limits of the classical approach to cost analysis
SAS'12 Proceedings of the 19th international conference on Static Analysis
Hi-index | 0.00 |
The first part of the paper shows that previous theoretical work on the semantics of probabilistic programs (Kozen) and on the correctness of performance annotated programs (Ramshaw) can be used to automate the average-case analysis of simple programs containing assignments, conditionals, and loops. A performance compiler has been developed using this theoretical foundation. The compiler is described, and it is shown that special cases of symbolic simplifications of formulas play a major role in rendering the system usable. The performance compiler generates a system of recurrence equations derived from a given program whose efficiency one wishes to analyze. This generation is always possible, but the problem of solving the resulting equations may be complex. The second part of the paper presents an original method that generalizes the previous approach and is applicable to functional programs that make use of recursion and complex data structures. Several examples are presented, including an analysis of binary tree sort. A key feature of the analysis of such programs is that distributions on complex data structures are represented using attributed probabilistic grammars.