Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Mechanical analysis of program complexity

Published: 25 June 1985 Publication History

Abstract

There has been a great deal of research done which investigates the problem of evaluating the complexity of particular algorithms; little effort however has been applied to the mechanization of this evaluation. This paper presents the ACE (for Automatic Complexity Evaluator) system which is able to analyse reasonably large programs like sorting programs or numerical programs in a fully mechanical way. A complexity function is derived from the initial program. This function is then automatically transformed into its non-recursive equivalent according to MacCarthy's recursion induction principle, using a pre-defined library of recursive definitions (for example id, length, exponential ...). As the execution time is not a decidable property, this transformation will not be possible in all cases. The richer the pre-defined library is, the more likely the system is to succeed. The paper presents the reasons for mechanizing complexity calculus and the problems involved. It describes the operations performed by ACE and its implementation; limitations and further improvements are discussed in conclusion.

References

[1]
Backus J., Can programming be liberated from the Von Neumann style? A functional style and its algebra of programs. Comm. ACM, Vol. 21, 8 (August 78), pp. 613-641.
[2]
Cohen J., Zuckerman C., Two languages for estimating program efficiency. Comm. ACM, Vol. 17, 6 (June 74), pp. 301-308.
[3]
Gordon M., Milner R., Wadsworth C., Edinburgh LCF. Springer-Verlag (1979).
[4]
Guttag J. V., Horning J., Williams J., FP with data abstraction and strong typing. Proc. of the 1981 Conf. on Functional Programming Languages and Computer Architecture (October 81), pp. 11-24.
[5]
MacCarthy J., A basis for a mathematical theory of computation. Computer Programming and formal systems (1963).
[6]
Wegbreit B., Mechanical program analysis. Comm. ACM, Vol. 18, 9 (September 75), pp. 528-539.
[7]
Wegbreit B., Goal-directed program transformation. IEEE Trans. on Software Engineering, Vol. SE-2, 2 (June 76), pp. 69-80.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 20, Issue 7
July 1985
251 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/17919
Issue’s Table of Contents
  • cover image ACM Conferences
    SLIPE '85: Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
    June 1985
    257 pages
    ISBN:0897911652
    DOI:10.1145/800225
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 June 1985
Published in SIGPLAN Volume 20, Issue 7

Check for updates

Author Tags

  1. Fp
  2. Functional programming
  3. Mechanical analysis
  4. Program transformation
  5. Recursion induction principle

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)35
  • Downloads (Last 6 weeks)8
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media