Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1389449.1389471acmconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
research-article

Towards execution time estimation in abstract machine-based languages

Published: 15 July 2008 Publication History

Abstract

Abstract machines provide a certain separation between platform-dependent and platform-independent concerns in compilation. Many of the differences between architectures are encapsulated in the specific abstract machine implementation and the bytecode is left largely architecture independent. Taking advantage of this fact, we present a framework for estimating upper and lower bounds on the execution times of logic programs running on a bytecode-based abstract machine. Our approach includes a one-time, program-independent profiling stage which calculates constants or functions bounding the execution time of each abstract machine instruction. Then, a compile-time cost estimation phase, using the instruction timing information, infers expressions giving platform-dependent upper and lower bounds on actual execution time as functions of input data sizes for each program. Working at the abstract machine level makes it possible to take into account low-level issues in new architectures and platforms by just reexecuting the calibration stage instead of having to tailor the analysis for each architecture and platform. Applications of such predicted execution times include debugging/verification of time properties, certification of time properties in mobile code, granularity control in parallel/distributed computing, and resource-oriented specialization

References

[1]
H. Ait-Kaci. Warren's Abstract Machine, A Tutorial Reconstruction. MIT Press, 1991.
[2]
E. Albert, P. Arenas, S. Genaim, and G. Puebla. Automatic Inference of Upper Bounds for Recurrence Relations in Cost Analysis. In Proc. of Static Analysis Symposium (SAS), LNCS. Springer-Verlag, July 2008. To appear.
[3]
E. Albert, P. Arenas, S. Genaim, G. Puebla, and D. Zanardini. Cost analysis of java bytecode. In R. D. Nicola, editor, 16th European Symposium on Programming, ESOP'07, volume 4421 of Lecture Notes in Computer Science, pages 157--172. Springer, March 2007.
[4]
R. Bagnara, A. Pescetti, A. Zaccagnini, E. Zaffanella, and T. Zolo. Purrs: The Parma University's Recurrence Relation Solver. http://www.cs.unipr.it/purrs.
[5]
I. Bate, G. Bernat, G. Murphy, and P. Puschner. Low-Level Analysis of a Portable Java Byte Code WCET Analysis Framework. In Proc. 7th International Conference on Real-Time Computing Systems and Applications, pages 39--48, Dec. 2000.
[6]
I. Bate, G. Bernat, and P. Puschner. Java virtual-machine support for portable worst-case execution-time analysis. In 5th IEEE International Symposium on Object-oriented Real-time Distributed Computing, Washington, DC, USA, Apr. 2002.
[7]
R. Benzinger. Automated higher-order complexity analysis. Theor. Comput. Sci., 318(1-2), 2004.
[8]
F. Bueno, P. López-García, and M. Hermenegildo. Multivariant Non-Failure Analysis via Standard Abstract Interpretation. In 7th International Symposium on Functional and Logic Programming (FLOPS 2004), number 2998 in LNCS, pages 100--116, Heidelberg, Germany, April 2004. Springer-Verlag.
[9]
S. Buettcher. Warren's Abstract Machine - A Java Implementation. http://www.stefan.buettcher.org/cs/wam/index.html.
[10]
S.-J. Craig and M. Leuschel. Self-tuning resource aware specialisation for Prolog. In PPDP '05: Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming, pages 23--34, New York, NY, USA, 2005. ACM Press.
[11]
S. K. Debray and N. W. Lin. Cost analysis of logic programs. ACM Transactions on Programming Languages and Systems, 15(5):826--875, November 1993.
[12]
S. K. Debray, N.-W. Lin, and M. Hermenegildo. Task Granularity Analysis in Logic Programs. In Proc. of the 1990 ACM Conf. on Programming Language Design and Implementation, pages 174--188. ACM Press, June 1990.
[13]
S. K. Debray, P. López-García, M. Hermenegildo, and N.-W. Lin. Lower Bound Cost Estimation for Logic Programs. In 1997 International Logic Programming Symposium, pages 291--305. MIT Press, Cambridge, MA, October 1997.
[14]
S. Diehl, P. Hartel, and P. Sestoft. Abstract machines for programming language implementation. Future Generation Computer Systems, 16(7):739--751, 2000.
[15]
A. Ermedahl, J. Gustafsson, and B. Lisper. Experiences from Industrial WCET Analysis Case Studies. In R. Wilhelm, editor, Proc. Fifth International Workshop on Worst-Case Execution Time (WCET) Analysis, Palma de Mallorca, July 2005.
[16]
G. Gómez and Y. A. Liu. Automatic time-bound analysis for a higherorder language. In PEPM. ACM Press, 2002.
[17]
M. Hermenegildo, G. Puebla, F. Bueno, and P. López-García. Integrated Program Debugging, Verification, and Optimization Using Abstract Interpretation (and The Ciao System Preprocessor). Science of Computer Programming, 58(1-2):115--140, October 2005.
[18]
E. Y.-S. Hu, A. J. Wellings, and G. Bernat. Deriving java virtual machine timing models for portable worst-case execution time analysis. In On The Move to Meaningful Internet Systems 2003: OTM 2003 Workshops, volume 2889 of LNCS, pages 411--424. Springer, October 2003.
[19]
E. Mera, P. López-García, G. Puebla, M. Carro, and M. Hermenegildo. Combining Static Analysis and Profiling for Estimating Execution Times. In Ninth International Symposium on Practical Aspects of Declarative Languages, number 4354 in LNCS, pages 140--154. Springer-Verlag, January 2007.
[20]
J. Navas, M. Méndez-Lojo, and M. Hermenegildo. Customizable Resource Usage Analysis for Java Bytecode. Technical report, University of New Mexico, Department of Computer Science, UNM, January 2008. Submitted for publication.
[21]
J. Navas, E. Mera, P. López-García, and M. Hermenegildo. User-Definable Resource Bounds Analysis for Logic Programs. In 23rd International Conference on Logic Programming (ICLP 2007), volume 4670 of LNCS, pages 348--363. Springer-Verlag, September 2007.
[22]
G. Román-Díez and G. Puebla. Java bytecode timing cost models. Technical Report CLIP12/2007.0, Technical University of Madrid, School of Computer Science, UPM, December 2007.
[23]
D. Warren. An Abstract Prolog Instruction Set. Technical Report 309, Artificial Intelligence Center, SRI International, 333 Ravenswood Ave, Menlo Park CA 94025, 1983.
[24]
R. Wilhelm. Timing analysis and timing predictability. In F. S. de Boer, M. M. Bonsangue, S. Graf, and W. P. de Roever, editors, Formal Methods for Components and Objects, Third International Symposium, FMCO 2004, Leiden, The Netherlands, November 2 - 5, 2004, Revised Lectures, volume 3657 of Lecture Notes in Computer Science, pages 317--323. Springer, 2004.

Cited By

View all
  • (2022)Parallel Logic Programming: A SequelTheory and Practice of Logic Programming10.1017/S147106842200005922:6(905-973)Online publication date: 28-Mar-2022
  • (2021)Proceedings of the 6th Workshop on Formal Integrated Development EnvironmentElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.338.13338(105-112)Online publication date: 6-Aug-2021
  • (2021)Cost Analysis of Smart Contracts Via Parametric Resource AnalysisStatic Analysis10.1007/978-3-030-65474-0_2(7-31)Online publication date: 13-Jan-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPDP '08: Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
July 2008
278 pages
ISBN:9781605581170
DOI:10.1145/1389449
  • General Chair:
  • Sergio Antoy,
  • Program Chair:
  • Elvira Albert
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 July 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. cost analysis
  2. cost models
  3. execution time estimation
  4. logic programming
  5. profiling
  6. resource awareness

Qualifiers

  • Research-article

Conference

PPDP08
Sponsor:

Acceptance Rates

PPDP '08 Paper Acceptance Rate 24 of 48 submissions, 50%;
Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Parallel Logic Programming: A SequelTheory and Practice of Logic Programming10.1017/S147106842200005922:6(905-973)Online publication date: 28-Mar-2022
  • (2021)Proceedings of the 6th Workshop on Formal Integrated Development EnvironmentElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.338.13338(105-112)Online publication date: 6-Aug-2021
  • (2021)Cost Analysis of Smart Contracts Via Parametric Resource AnalysisStatic Analysis10.1007/978-3-030-65474-0_2(7-31)Online publication date: 13-Jan-2021
  • (2018)Inferring Energy Bounds via Static Program Analysis and Evolutionary Modeling of Basic BlocksLogic-Based Program Synthesis and Transformation10.1007/978-3-319-94460-9_4(54-72)Online publication date: 10-Jul-2018
  • (2015)Inferring Parametric Energy Consumption Functions at Different Software Levels4th International Workshop on Foundational and Practical Aspects of Resource Analysis - Volume 996410.1007/978-3-319-46559-3_5(81-100)Online publication date: 11-Apr-2015
  • (2012)A Fuzzy Approach to Resource Aware Automatic ParallelizationComputational Intelligence10.1007/978-3-642-27534-0_15(229-245)Online publication date: 2012
  • (2009)Non-strict independence-based program parallelization using sharing and freeness informationTheoretical Computer Science10.1016/j.tcs.2009.07.044410:46(4704-4723)Online publication date: 1-Nov-2009

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media