Determining average program execution times and their variance
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Analysis of pointers and structures
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Automatic average-case analysis of algorithms
Theoretical Computer Science - Theme issue on the algebraic and computing treatment of noncommutative power series
Randomized algorithms
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Parametric shape analysis via 3-valued logic
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Implementing Quicksort programs
Communications of the ACM
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
Flow analysis and optimization of LISP-like structures
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Introduction to Algorithms
Combinatorial Enumeration
Deletions That Preserve Randomness
IEEE Transactions on Software Engineering
A Modular Calculus for the Average Cost of Data Structuring
A Modular Calculus for the Average Cost of Data Structuring
A Random Bag Preserving Product Operation
Electronic Notes in Theoretical Computer Science (ENTCS)
Analytic Combinatorics
Hi-index | 0.00 |
A high-level overview of the MOQA language is presented. The representation of its data structure, a labeled series-parallel partial order, is shown along with some of the functions allowed upon this data structure. The combination of MOQA's data structure and its functions capture the required calculus to statically obtain the average-case time of algorithms written in this language. The implementation of these concepts is discussed and algorithms written in this implementation are presented. A detailed analysis of one of these implemented algorithms, quicksort, critically compares its average-case time in MOQA against the average-case time of standard quicksort. While the asymptotic average of quicksort in MOQA remains unchanged, extra constant costs are incurred by the MOQA method. It is shown that these costs result from molding the algorithm around the MOQA data structure and functions versus the general approach of choosing the data structure and functions that best match the algorithm. This limitation is balanced against an approach that aims to obtain the average-case time of algorithms statically.