[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/2133429.2133594acmconferencesArticle/Chapter ViewAbstractPublication PagesiccadConference Proceedingsconference-collections
research-article

Efficient state space exploration: interleaving stateless and state-based model checking

Published: 07 November 2010 Publication History

Abstract

State-based model checking methods comprise computing and storing reachable states, while stateless model checking methods directly reason about reachable paths using decision procedures, thereby avoiding computing and storing the reachable states. Typically, state-based methods involve memory-intensive operations, while stateless methods involve time-intensive operations. We propose a divide-and-conquer strategy to combine the complementary strengths of these methods for efficient verification of embedded software. Specifically, our model checking engine uses both state decomposition and state prioritization to guide the combination of a Presburger arithmetic based symbolic traversal algorithm (state-based) and an SMT based bounded model checking algorithm (stateless). These two underlying algorithms are interleaved---based on memory/time bounds and dynamic task partitioning---in order to systematically explore the state space and to avoid storing the entire reachable state set. We have implemented our new method in a tightly integrated verification tool called HMC (Hybrid Model Checker). We demonstrate the efficacy of the proposed method on some industry examples.

References

[1]
E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 1999.
[2]
K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.
[3]
A. Biere, A. Cimatti, E. M. Clarke, and Y. Zhu. Symbolic model checking without BDDs. In TACAS, 1999.
[4]
M. Sheeran, S. Singh, and G. Stalmarck. Checking safety properties using induction and a SAT solver. In FMCAD, 2000.
[5]
M. Ganai and A. Gupta. SAT-based Scalable Formal Verification Solutions. Springer, 2007.
[6]
G. Holzmann. The model checker spin. IEEE Trans. Software Engineering, 1997.
[7]
T. Ball and S. Rajamani. The SLAM toolkit. In CAV, 2001.
[8]
E. Clarke, D. Kroening, and F. Lerda. A tool for checking ANSI-C programs. In TACAS, 2004.
[9]
F. Ivančić, Z. Yang, M. Ganai, A. Gupta, I. Shlyakhter, and P. Ashar. F-Soft: Software verification platform. In CAV, 2005.
[10]
W. Pugh. The omega test: a fast and practical integer programming algorithm for dependence analysis. In Proc. of Supercomputing, 1991.
[11]
T. Bultan, R. Gerber, and C. League. Composite model checking: verification with type-specific symbolic representations. In ACM Trans. on Software Engineering Method, 2000.
[12]
Z. Yang, C. Wang, A. Gupta, and F. Ivančić. Mixed symbolic representations for model checking software programs. In Formal Methods and Models for Co-Design, 2006.
[13]
C. Wang, Z. Yang, A. Gupta, and F. Ivančić. Using counterexamples for improving the precision of reachability computation with polyhedra. In CAV, 2007.
[14]
M. Ganai and A. Gupta. Accelerating high-level bounded model checking. In ICCAD, 2006.
[15]
M. Ganai and A. Gupta. Completeness in SMT-based BMC for software programs. In DATE, 2008.
[16]
B. Dutertre and L. de Moura. A fast linear-arithmetic solver for DPLL(T). In CAV, 2006.
[17]
H. Kim, F. Somenzi and H. Jin. Efficient Term-ITE Conversion for Satisfiability Modulo Theories. In SAT, 2009.
[18]
F. Somenzi. CUDD: CU decision digram package. university of colorado at boulder. ftp://vlsi.colorado.edu/pub/.
[19]
H. Cho, G. Hatchel, E. Macii, B. Plessier, and F. Somenzi. Algorithms for approximate fsm traversal based on state space decomposition. IEEE Trans. on CAD, 1996.
[20]
T. Yavuz-kahveci, M. Tuncer, and T. Bultan. A library for composite symbolic representations. In TACAS, 2001.
[21]
M. Ganai and W. Li. Bang for the buck: Improvising and scheduling verification engines for effective resource utilization. In Formal Methods and Models for Co-Design, 2009.
[22]
SRI. Yices: An SMT solver. http://fm.csl.sri.com/yices.
[23]
P. Godefroid, N. Klarlund, and K. Sen. DART: Directed automated random testing. In Proc. of PLDI, 2005.
[24]
R. Majumdar and K. Sen. Hybrid concolic testing. In Proc. of ICSE, 2007.
[25]
D. Yang and D. Dill. Validating and guided search of the state space. In DAC, 1998.
[26]
J. Yuan, J. Shen, J. Abraham, and A. Aziz. On Combining Formal and Informal Verification. In CAV, July 1997.
[27]
S. Shyam and V. Bertacco. Distance-guided hybrid verification with guido. In DATE, 2006.
[28]
A. Gupta, M. Ganai, C. Wang, and Z. Yang. Abstraction and bdds complement SAT-based bmc in diver. In CAV, 2003.
[29]
K. McMillan. Interpolation and sat-based model checking. In CAV, 2003.
[30]
G. Bischoff, K. Brace, G. Cabodi, S. Nocco, and S. Quer. Exploiting target enlargement and dynamic abstraction within mixed bdd and sat invariant checking. In BMC workshop, 2004.
[31]
T. Arons, E. Elster, S. Ozer, J. Shalev, and E. Singerman. Efficient symbolic simulation of low level software. In DATE, 2008.
[32]
M. Ganai and A. Gupta. Tunneling and Slicing: Towards Scalable BMC. In DAC, 2008.
[33]
A. Narayan, A. Isles, J. Jain, R. Brayton, and A. Sangiovanni-Vincentelli. Reachability analysis using partitioned-ROBDDs. In ICCAD, 1997.
[34]
S. Barner and I. Rabinovitz. Efficient Symbolic Model Checking of Software Using Partial Disjunctive Partitioning. In Proc. of CHARME, 2003.
[35]
C. Wang, Z. Yang, F. Ivančić, and A. Gupta. Disjunctive image computation for embedded software verification. In DATE, 2006.
[36]
D. Ward and F. Somenzi. Decomposing image computation for symbolic reachability analysis using control flow information. In ICCAD, 2006.

Cited By

View all
  • (2018)The role of model checking in software engineeringFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-016-6192-012:4(642-668)Online publication date: 1-Aug-2018

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICCAD '10: Proceedings of the International Conference on Computer-Aided Design
November 2010
863 pages
ISBN:9781424481927
  • General Chair:
  • Louis Scheffer,
  • Program Chairs:
  • Joel Phillips,
  • Alan J. Hu

Sponsors

Publisher

IEEE Press

Publication History

Published: 07 November 2010

Check for updates

Qualifiers

  • Research-article

Conference

ICCAD '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 457 of 1,762 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2018)The role of model checking in software engineeringFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-016-6192-012:4(642-668)Online publication date: 1-Aug-2018

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