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

From boolean to quantitative synthesis

Published: 09 October 2011 Publication History

Abstract

Motivated by improvements in constraint-solving technology and by the increase of routinely available computational power, partial-program synthesis is emerging as an effective approach for increasing programmer productivity. The goal of the approach is to allow the programmer to specify a part of her intent imperatively (that is, give a partial program) and a part of her intent declaratively, by specifying which conditions need to be achieved or maintained. The task of the synthesizer is to construct a program that satisfies the specification. As an example, consider a partial program where threads access shared data without using any synchronization mechanism, and a declarative specification that excludes data races and deadlocks. The task of the synthesizer is then to place locks into the program code in order for the program to meet the specification.
In this paper, we argue that quantitative objectives are needed in partial-program synthesis in order to produce higher-quality programs, while enabling simpler specifications. Returning to the example, the synthesizer could construct a naive solution that uses one global lock for shared data. This can be prevented either by constraining the solution space further (which is error-prone and partly defeats the point of synthesis), or by optimizing a quantitative objective that models performance. Other quantitative notions useful in synthesis include fault tolerance, robustness, resource (memory, power) consumption, and information flow.

References

[1]
A. Biermann. Automatic programming: A tutorial on formal methodologies. J. Symb. Comput., 1(2):119--142, 1985.
[2]
R. Bloem, K. Chatterjee, K. Greimel, T. Henzinger, B. Jobstmann, and R. Singh. Specification-centered robustness. In SIES, pages 176--185, 2011.
[3]
R. Bloem, K. Chatterjee, T. Henzinger, and B. Jobstmann. Better quality in synthesis through quantitative objectives. In CAV, 2009.
[4]
U. Boker, K. Chatterjee, T. Henzinger, and O. Kupferman. Temporal specifications with accumulative values. In LICS, 2011.
[5]
P. Černý, K. Chatterjee, and T. Henzinger. The complexity of quantitative information flow problems. In CSF, pages 205--218, 2011.
[6]
P. Černý, K. Chatterjee, T. Henzinger, A. Radhakrishna, and R. Singh. Quantitative synthesis for concurrent programs. In CAV, pages 243--259, 2011.
[7]
P. Černý, T. Henzinger, and A. Radhakrishna. Simulation distances. In CONCUR, pages 253--268, 2010.
[8]
A. Chakrabarti, L. de Alfaro, T. Henzinger, and M. Stoelinga. Resource interfaces. In EMSOFT, pages 117--133, 2003.
[9]
K. Chatterjee and L. Doyen. Energy parity games. In ICALP (2), pages 599--610, 2010.
[10]
K. Chatterjee, L. Doyen, and T. Henzinger. Quantitative languages. ACM Trans. Comput. Log., 11(4), 2010.
[11]
K. Chatterjee, T. Henzinger, B. Jobstmann, and R. Singh. Measuring and synthesizing systems in probabilistic environments. In CAV, pages 380--395, 2010.
[12]
K. Chatterjee, T. Henzinger, B. Jobstmann, and R. Singh. Quasy: Quantitative synthesis tool. In TACAS, pages 267--271, 2011.
[13]
K. Chatterjee, T. Henzinger, and M. Jurdzinski. Mean-payoff parity games. In LICS, pages 178--187, 2005.
[14]
K. Chatterjee, T. Henzinger, and V. Prabhu. Timed parity games: Complexity and robustness. In FORMATS, pages 124--140, 2008.
[15]
S. Cherem, T. Chilimbi, and S. Gulwani. Inferring locks for atomic sections. In PLDI, pages 304--315, 2008.
[16]
A. Church. Logic, arithmetic, and automata. In Proceedings of the International Congress of Mathematicians, 1962.
[17]
D. Clark, S. Hunt, and P. Malacaria. A static analysis for quantifying information flow in a simple imperative language. Journal of Computer Security, 15(3):321--371, 2007.
[18]
E. Clarke and E. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. Workshop on Logic of Programs, 1981.
[19]
L. de Alfaro, M. Faella, T. Henzinger, R. Majumdar, and M. Stoelinga. Model checking discounted temporal properties. Theor. Comput. Sci., 345(1):139--170, 2005.
[20]
L. de Alfaro, M. Faella, T. A. Henzinger, R. Majumdar, and M. Stoelinga. The element of surprise in timed games. In CONCUR, pages 142--156, 2003.
[21]
L. de Alfaro, V. Raman, M. Faella, and R. Majumdar. Code aware resource management. In EMSOFT, pages 191--202, 2005.
[22]
M. Emmi, J. Fischer, R. Jhala, and R. Majumdar. Lock allocation. In POPL, pages 291--296, 2007.
[23]
E. Filiot, N. Jin, and J.-F. Raskin. An antichain algorithm for LTL realizability. In CAV, pages 263--277, 2009.
[24]
E. Grädel, W. Thomas, and T. Wilke, editors. Automata, Logics, and Infinite Games: A Guide to Current Research, volume 2500 of Lecture Notes in Computer Science. Springer, 2002.
[25]
S. Gulwani. Automating string processing in spreadsheets using input-output examples. In POPL, pages 317--330, 2011.
[26]
B. Jobstmann, S. Galler, M. Weiglhofer, and R. Bloem. Anzu: A tool for property synthesis. In CAV, pages 258--262, 2007.
[27]
B. Jobstmann, A. Griesmayer, and R. Bloem. Program repair as a game. In CAV, pages 226--238, 2005.
[28]
V. Kuncak, M. Mayer, R. Piskac, and P. Suter. Complete functional synthesis. In PLDI, pages 316--329, 2010.
[29]
N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1997.
[30]
O. Maler, A. Pnueli, and J. Sifakis. On the synthesis of discrete controllers for timed systems (an extended abstract). In STACS, pages 229--242, 1995.
[31]
Z. Manna and R. Waldinger. A deductive approach to program synthesis. ACM Trans. Program. Lang. Syst., 2(1):90--121, 1980.
[32]
H. Payer, H. Röck, C. Kirsch, and A. Sokolova. Scalability versus semantics of concurrent fifo queues. In PODC, pages 331--332, 2011.
[33]
A. Pnueli and R. Rosner. On the synthesis of a reactive module. In POPL, 1989.
[34]
A. Puri. Theory of Hybrid Systems and Discrete Event Systems. PhD thesis, EECS Department, University of California, Berkeley, 1995.
[35]
D. Smith. KIDS: A semiautomatic program development system. IEEE Trans. Software Eng., 16(9):1024--1043, 1990.
[36]
A. Solar-Lezama, G. Arnold, L. Tancau, R. Bodík, V. Saraswat, and S. Seshia. Sketching stencils. In PLDI, pages 167--178, 2007.
[37]
A. Solar-Lezama, C. Jones, and R. Bodík. Sketching concurrent data structures. In PLDI, 2008.
[38]
A. Solar-Lezama, R. Rabbah, R. Bodík, and K. Ebcioglu. Programming by sketching for bit-streaming programs. In PLDI, 2005.
[39]
M. Vechev, E. Yahav, and G. Yorsh. Abstraction-guided synthesis of synchronization. In POPL, 2010.
[40]
R. Wilhelm, S. Altmeyer, C. Burguière, D. Grund, J. Herter, J. Reineke, B. Wachter, and S. Wilhelm. Static timing analysis for hard real-time systems. In VMCAI, 2010.
[41]
H. Yasuoka and T. Terauchi. Quantitative information flow - verification hardness and possibilities. In CSF, pages 15--27, 2010.
[42]
U. Zwick and M. Paterson. The complexity of mean payoff games on graphs. Theor. Comput. Sci., 158(1&2):343--359, 1996.

Cited By

View all
  • (2024)Leveraging Artificial Intelligence Models Using Synthetic DataProceedings of the Future Technologies Conference (FTC) 2024, Volume 110.1007/978-3-031-73110-5_4(56-66)Online publication date: 5-Nov-2024
  • (2023)Inductive Program Synthesis Guided by Observational Program SimilarityProceedings of the ACM on Programming Languages10.1145/36228307:OOPSLA2(912-940)Online publication date: 16-Oct-2023
  • (2023)Comparative Synthesis: Learning Near-Optimal Network Designs by QueryProceedings of the ACM on Programming Languages10.1145/35711977:POPL(91-120)Online publication date: 9-Jan-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EMSOFT '11: Proceedings of the ninth ACM international conference on Embedded software
October 2011
366 pages
ISBN:9781450307147
DOI:10.1145/2038642
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: 09 October 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. quantitative models
  2. quantitative synthesis
  3. synthesis

Qualifiers

  • Research-article

Conference

ESWeek '11
ESWeek '11: Seventh Embedded Systems Week
October 9 - 14, 2011
Taipei, Taiwan

Acceptance Rates

Overall Acceptance Rate 60 of 203 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)Leveraging Artificial Intelligence Models Using Synthetic DataProceedings of the Future Technologies Conference (FTC) 2024, Volume 110.1007/978-3-031-73110-5_4(56-66)Online publication date: 5-Nov-2024
  • (2023)Inductive Program Synthesis Guided by Observational Program SimilarityProceedings of the ACM on Programming Languages10.1145/36228307:OOPSLA2(912-940)Online publication date: 16-Oct-2023
  • (2023)Comparative Synthesis: Learning Near-Optimal Network Designs by QueryProceedings of the ACM on Programming Languages10.1145/35711977:POPL(91-120)Online publication date: 9-Jan-2023
  • (2022)Satisfiability of Quantitative Probabilistic CTL: Rise to the ChallengePrinciples of Systems Design10.1007/978-3-031-22337-2_18(364-387)Online publication date: 29-Dec-2022
  • (2022)Optimal Repair for Omega-Regular PropertiesAutomated Technology for Verification and Analysis10.1007/978-3-031-19992-9_23(354-370)Online publication date: 21-Oct-2022
  • (2016)The Reactive Synthesis Competition: SYNTCOMP 2016 and BeyondElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.229.11229(133-148)Online publication date: 22-Nov-2016
  • (2016)Learning programs from noisy dataACM SIGPLAN Notices10.1145/2914770.283767151:1(761-774)Online publication date: 11-Jan-2016
  • (2016)Learning programs from noisy dataProceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2837614.2837671(761-774)Online publication date: 11-Jan-2016
  • (2016)Qlose: Program Repair with Quantitative ObjectivesComputer Aided Verification10.1007/978-3-319-41540-6_21(383-401)Online publication date: 13-Jul-2016
  • (2014)How to Handle Assumptions in SynthesisElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.157.7157(34-50)Online publication date: 18-Jul-2014
  • Show More Cited By

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