[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3014812.3014827acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesaus-cswConference Proceedingsconference-collections
research-article

Static techniques for reducing memory usage in the C implementation of whiley programs

Published: 31 January 2017 Publication History

Abstract

Languages that use call-by-value semantics, such as Whiley, can make program verification easier. But efficient implementation becomes harder, due to the overhead of copying and garbage collection. This paper describes how a mixture of static analysis and runtime-monitoring can be used to eliminate unnecessary copying and deallocate memory without garbage collection. We show that this allows Whiley programs to be translated into efficient C implementations.

References

[1]
A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, chapter 9, page 608. Addison wesley, 2006.
[2]
J. Aldrich, V. Kostadinov, and C. Chambers. Alias Annotations for Program Understanding. In ACM SIGPLAN Notices, volume 37, pages 311--330. ACM, 2002.
[3]
A. Alexandrescu. Modern C++ design: generic programming and design patterns applied. Addison-Wesley, 2001.
[4]
J. Blandy. Why Rust? Trustworthy, Concurrent Systems Programming. Number 978-1-491-92730-4. O'Reilly Media, Inc., First edition, September 2015.
[5]
N. Lameed and L. Hendren. Staged static techniques to efficiently implement array copy semantics in a MATLAB JIT compiler. In Compiler Construction, pages 22--41. Springer, 2011.
[6]
N. Nethercote and J. Seward. Valgrind: a framework for heavyweight dynamic binary instrumentation. In ACM Sigplan notices, volume 42, pages 89--100. ACM, 2007.
[7]
D. J. Pearce. Integer range analysis for Whiley on embedded systems. In Object/Component/Service-Oriented Real-Time Distributed Computing Workshops (ISORCW), 2015 IEEE International Symposium on, pages 26--33. IEEE, 2015.
[8]
D. J. Pearce and L. Groves. Designing a verifying compiler: Lessons learned from developing Whiley. Science of Computer Programming, 113:191--220, 2015.
[9]
P. Schnorf, M. Ganapathi, and J. L. Hennessy. Compile-time Copy Elimination. Software: Practice and Experience, 23(11):1175--1200, 1993.
[10]
M.-H. Weng, M. Utting, and B. Pfahringer. Bound Analysis for Whiley Programs. Electronic Notes in Theoretical Computer Science, 320:53--67, 2016.

Cited By

View all
  • (2021)Automatic proofs of memory deallocation for a Whiley-to-C CompilerFormal Methods in System Design10.1007/s10703-021-00378-0Online publication date: 16-Aug-2021
  • (2019)An Introduction to Software Verification with WhileyEngineering Trustworthy Software Systems10.1007/978-3-030-17601-3_1(1-37)Online publication date: 14-Apr-2019

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
ACSW '17: Proceedings of the Australasian Computer Science Week Multiconference
January 2017
615 pages
ISBN:9781450347686
DOI:10.1145/3014812
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: 31 January 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. compiler
  2. copy elimination
  3. static analysis

Qualifiers

  • Research-article

Conference

ACSW 2017
ACSW 2017: Australasian Computer Science Week 2017
January 30 - February 3, 2017
Geelong, Australia

Acceptance Rates

ACSW '17 Paper Acceptance Rate 78 of 156 submissions, 50%;
Overall Acceptance Rate 204 of 424 submissions, 48%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2021)Automatic proofs of memory deallocation for a Whiley-to-C CompilerFormal Methods in System Design10.1007/s10703-021-00378-0Online publication date: 16-Aug-2021
  • (2019)An Introduction to Software Verification with WhileyEngineering Trustworthy Software Systems10.1007/978-3-030-17601-3_1(1-37)Online publication date: 14-Apr-2019

View Options

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