[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3377816.3381740acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper
Public Access

Predictive constraint solving and analysis

Published: 18 September 2020 Publication History

Abstract

We introduce a new idea for enhancing constraint solving engines that drive many analysis and synthesis techniques that are powerful but have high complexity. Our insight is that in many cases the engines are run repeatedly against input constraints that encode problems that are related but of increasing complexity, and domain-specific knowledge can reduce the complexity. Moreover, even for one formula the engine may perform multiple expensive tasks with commonalities that can be estimated and exploited. We believe these relationships lay a foundation for making the engines more effective and scalable. We illustrate the viability of our idea in the context of a well-known solver for imperative constraints, and discuss how the idea generalizes to more general purpose methods.

References

[1]
2019. International SAT Competitions Webpage. http://www.satcompetition.org/.
[2]
2019. Korat GitHub Repository. https://github.com/korattest/korat.
[3]
Abdulbaki Aydin, Lucas Bang, and Tevfik Bultan. 2015. Automata-Based Model Counting for String Constraints. In CAV. 255--272.
[4]
Paul Beame, Russell Impagliazzo, Toniann Pitassi, and Nathan Segerlind. 2003. Memoization and DPLL: Formula Caching Proof Systems. In Complexity.
[5]
A. Biere, M. Heule, H. van Maaren, and T. Walsh (Eds.). 2009. Handbook of Satisfiability. Vol. 185.
[6]
Chandrasekhar Boyapati, Sarfraz Khurshid, and Darko Marinov. 2002. Korat: Automated testing based on Java predicates. In ISSTA.
[7]
C. Cadar, D. Dunbar, and D. R. Engler. 2008. KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. In OSDI.
[8]
Bob Carpenter et al. 2017. Stan: A Probabilistic Programming Language. JSS 76, 1 (2017).
[9]
Supratik Chakraborty, Kuldeep S. Meel, and Moshe Y. Vardi. 2013. A Scalable Approximate Model Counter. In CP. 200--216.
[10]
E. M. Clarke, Jr., O. Grumberg, and D. A. Peled. 1999. Model Checking. MIT Press.
[11]
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. 2009. Introduction to Algorithms. The MIT Press.
[12]
Nima Dini. 2016. MKorat: A novel approach for memorizing the Korat search and some potential applications. Master's thesis. University of Texas at Austin.
[13]
Antonio Filieri, Marcelo F. Frias, Corina S. Pasareanu, and Willem Visser. 2015. Model Counting for Complex Data Structures. In SPIN. 222--241.
[14]
Antonio Filieri, Corina S. Păsăreanu, and Willem Visser. 2013. Reliability Analysis in Symbolic Pathfinder. In ICSE. 622--631.
[15]
Patrice Godefroid, Nils Klarlund, and Koushik Sen. 2005. DART: Directed automated random testing. In PLDI. 213--223.
[16]
Carla P. Gomes, Ashish Sabharwal, and Bart Selman. 2006. Model Counting: A New Strategy for Obtaining Good Bounds. In AAAI. 54--61.
[17]
Seonmo Kim and Stephen McCamant. 2018. Bit-Vector Model Counting Using Statistical Estimation. In TACAS. 133--151.
[18]
J. C. King. 1976. Symbolic Execution and Program Testing. CACM 19, 7 (1976).
[19]
Thomas M. Mitchell. 1997. Machine Learning (1 ed.). McGraw-Hill, Inc.
[20]
M. Monperrus. 2018. Automatic Software Repair: A Bibliography. CUSR 51, 1 (2018).
[21]
N. Rosner, C. Pombo, N. Aguirre, A. Jaoua, A. Mili, and M. F. Frias. 2013. Parallel Bounded Verification of Alloy Models by TranScoping. In VSTTE. 88--107.
[22]
João P. Marques Silva and Karem A. Sakallah. 1996. GRASP - a New Search Algorithm for Satisfiability. In ICCAD. 220--227.
[23]
Mate Soos, Karsten Nohl, and Claude Castelluccia. 2009. Extending SAT Solvers to Cryptographic Problems. In TACAS. 244--257.
[24]
Willem Visser, Jaco Geldenhuys, and Matthew B. Dwyer. 2012. Green: Reducing, Reusing and Recycling Constraints in Program Analysis. In FSE. 58:1--58:11.
[25]
Guowei Yang, Corina S. Pasareanu, and Sarfraz Khurshid. 2012. Memoized symbolic execution. In ISSTA. 144--154.
[26]
S. Yoo and M. Harman. 2012. Regression Testing Minimization, Selection and Prioritization: A Survey. STVR 22, 2 (2012), 67--120.

Cited By

View all
  • (2020)A Study of Symmetry Breaking Predicates and Model CountingTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-030-45190-5_7(115-134)Online publication date: 17-Apr-2020

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE-NIER '20: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: New Ideas and Emerging Results
June 2020
128 pages
ISBN:9781450371261
DOI:10.1145/3377816
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 the author(s) 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

In-Cooperation

  • KIISE: Korean Institute of Information Scientists and Engineers
  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 September 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. SAT
  2. approximate model counting
  3. history-aware analysis
  4. korat

Qualifiers

  • Short-paper

Funding Sources

  • Facebook Testing and Verification Research Award
  • NSF

Conference

ICSE '20
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)54
  • Downloads (Last 6 weeks)10
Reflects downloads up to 10 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2020)A Study of Symmetry Breaking Predicates and Model CountingTools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-030-45190-5_7(115-134)Online publication date: 17-Apr-2020

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media