skip to main content
10.1145/2254064.2254086acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Proving acceptability properties of relaxed nondeterministic approximate programs

Authors Info & Claims
Published:11 June 2012Publication History

ABSTRACT

Approximate program transformations such as skipping tasks [29, 30], loop perforation [21, 22, 35], reduction sampling [38], multiple selectable implementations [3, 4, 16, 38], dynamic knobs [16], synchronization elimination [20, 32], approximate function memoization [11],and approximate data types [34] produce programs that can execute at a variety of points in an underlying performance versus accuracy tradeoff space. These transformed programs have the ability to trade accuracy of their results for increased performance by dynamically and nondeterministically modifying variables that control their execution.

We call such transformed programs relaxed programs because they have been extended with additional nondeterminism to relax their semantics and enable greater flexibility in their execution.

We present language constructs for developing and specifying relaxed programs. We also present proof rules for reasoning about properties [28] which the program must satisfy to be acceptable. Our proof rules work with two kinds of acceptability properties: acceptability properties [28], which characterize desired relationships between the values of variables in the original and relaxed programs, and unary acceptability properties, which involve values only from a single (original or relaxed) program. The proof rules support a staged reasoning approach in which the majority of the reasoning effort works with the original program. Exploiting the common structure that the original and relaxed programs share, relational reasoning transfers reasoning effort from the original program to prove properties of the relaxed program.

We have formalized the dynamic semantics of our target programming language and the proof rules in Coq and verified that the proof rules are sound with respect to the dynamic semantics. Our Coq implementation enables developers to obtain fully machine-checked verifications of their relaxed programs.

Skip Supplemental Material Section

Supplemental Material

References

  1. The Coq Proof Assistant. http://coq.inria.fr.Google ScholarGoogle Scholar
  2. Scimark 2.0. http://math.nist.gov/scimark2.Google ScholarGoogle Scholar
  3. J. Ansel, C. Chan, Y. L. Wong, M. Olszewski, Q. Zhao, A. Edelman, and S. Amarasinghe. Petabricks: a language and compiler for algorithmic choice. PLDI, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. W. Baek and T. M. Chilimbi. Green: a framework for supporting energy-conscious programming using controlled approximation. PLDI, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G. Barthe, J. Crespo, and C. Kunz. Relational verification using product programs. FM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Barthe, B. Köpf, F. Olmedo, and S. Zanella Béguelin. Probabilistic reasoning for differential privacy. POPL, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. N. Benton. Simple relational correctness proofs for static analyses and program transformations. POPL, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. W. Blume and R. Eigenmann. Performance analysis of parallelizing compilers on the Perfect Benchmarks programs. Transactions on Parallel and Distributed Systems, 3(6), 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Carbin, D. Kim, S. Misailovic, and M. Rinard. Reasoning about Relaxed Programs. Technical Report MIT-CSAIL-TR-2011-050, MIT, 2011.Google ScholarGoogle Scholar
  10. M. Carbin and M. Rinard. Automatically Identifying Critical Input Regions and Code in Applications. ISSTA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Chaudhuri, S. Gulwani, R. Lublinerman, and S. Navidpour. Proving Programs Robust. FSE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J.M. Crespo and C. Kunz. A machine-checked framework for relational separation logic. SEFM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Demsky and M. Rinard. Data structure repair using goal-directed reasoning. ICSE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. W. Floyd. Assigning meanings to programs. Mathematical aspects of computer science, 19(19--32), 1967.Google ScholarGoogle Scholar
  15. C. A. R. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12(10), October 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H. Hoffman, S. Sidiroglou, M. Carbin, S. Misailovic, A. Agarwal, and M. Rinard. Dynamic knobs for responsive power-aware computing. ASPLOS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. H. Hoffmann, S. Misailovic, S. Sidiroglou, A. Agarwal, and M. Rinard. Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures. Technical Report MIT-CSAIL-TR-2009-042, MIT, 2009.Google ScholarGoogle Scholar
  18. S. Liu, K. Pattabiraman, T. Moscibroda, and B. Zorn. Flikker: Saving dram refresh-power through critical data partitioning. ASPLOS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. Milicevic, D. Rayside, K. Yessenov, and D. Jackson. Unifying execution of imperative and declarative code. ICSE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Misailovic, D. Kim, and M. Rinard. Parallelizing sequential programs with statistical accuracy tests. Technical Report MIT-CSAIL-TR-2010-038, MIT, 2010.Google ScholarGoogle Scholar
  21. S. Misailovic, D. Roy, and M. Rinard. Probabilistically Accurate Program Transformations. SAS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. Misailovic, S. Sidiroglou, H. Hoffmann, and M. Rinard. Quality of service profiling. ICSE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. Morgan. The specification statement. Transactions on Programming Languages and Systems, 10(3), 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Nanevski, A. Banerjee, and D. Garg. Verification of information flow and access control policies with dependent types. SP, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Nelson, A. Sampson, and L. Ceze. Dense approximate storage in phase-change memory. ASPLOS-WACI, 2011.Google ScholarGoogle Scholar
  26. A. Pnueli, M. Siegel, and E. Singerman. Translation validation. TACAS, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. Rayside, A. Milicevic, K. Yessenov, G. Dennis, and D. Jackson. Agile specifications. OOPSLA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Rinard. Acceptability-oriented computing. OOPSLA Onwards '03. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. ICS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Rinard. Using early phase termination to eliminate load imbalances at barrier synchronization points. OOPSLA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. C. Rinard and D. Marinov. Credible compilation with pointers. RTRV, 1999.Google ScholarGoogle Scholar
  32. Martin Rinard. A lossy, synchronization-free, race-full, but still acceptably accurate parallel space-subdivision tree construction algorithm. Technical Report MIT-CSAIL-TR-2012-005, MIT, 2012.Google ScholarGoogle Scholar
  33. H. Samimi, E. Aung, and T. Millstein. Falling back on executable specifications. ECOOP, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman. Enerj: approximate data types for safe and general low-power computation. PLDI, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. Sidiroglou, S. Misailovic, H. Hoffmann, and M. Rinard. Managing Performance vs. Accuracy Trade-offs With Loop Perforation. FSE '11.Google ScholarGoogle Scholar
  36. H Yang. Relational separation logic. Theoretical Computer Science, 375(1--3), May 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. J. Yang, K. Yessenov, and A. Solar-Lezama. A language for automatically enforcing privacy policies. POPL, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Z. Zhu, S. Misailovic, J. Kelner, and M. Rinard. Randomized accuracy-aware program transformations for efficient approximate computations. POPL, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. L. Zuck, A. Pnueli, and R. Leviathan. Validation of optimizing compilers. Technical report, Weizmann Institute of Science, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Proving acceptability properties of relaxed nondeterministic approximate programs

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation
            June 2012
            572 pages
            ISBN:9781450312059
            DOI:10.1145/2254064
            • cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 47, Issue 6
              PLDI '12
              June 2012
              534 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/2345156
              Issue’s Table of Contents

            Copyright © 2012 ACM

            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: 11 June 2012

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            PLDI '12 Paper Acceptance Rate48of255submissions,19%Overall Acceptance Rate406of2,067submissions,20%

            Upcoming Conference

            PLDI '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader