Efficient software product-line model checking using induction and a SAT solver

被引:0
作者
Fei He
Yuan Gao
Liangze Yin
机构
[1] Tsinghua University,Tsinghua National Laboratory for Information Science and Technology (TNList)
[2] Ministry of Education,Key Laboratory for Information System Security
[3] Tsinghua University,School of Software
[4] National University of Defense Technology,Department of Computer Science and Technology
来源
Frontiers of Computer Science | 2018年 / 12卷
关键词
software product line; model checking; satisfiability;
D O I
暂无
中图分类号
学科分类号
摘要
Software product line (SPL) engineering is increasingly being adopted in safety-critical systems. It is highly desirable to rigorously show that these systems are designed correctly. However, formal analysis for SPLs is more difficult than for single systems because an SPL may contain a large number of individual systems. In this paper, we propose an efficient model-checking technique for SPLs using induction and a SAT (Boolean satisfiability problem) solver. We show how an induction-based verification method can be adapted to the SPLs, with the help of a SAT solver. To combat the state space explosion problem, a novel technique that exploits the distinguishing characteristics of SPLs, called feature cube enlargement, is proposed to reduce the verification efforts. The incremental SAT mechanism is applied to further improve the efficiency. The correctness of our technique is proved. Experimental results show dramatic improvement of our technique over the existing binary decision diagram (BDD)-based techniques.
引用
收藏
页码:264 / 279
页数:15
相关论文
共 37 条
[1]  
Thüm T(2014)A classification and survey of analysis strategies for software product lines ACM Computing Surveys 47 6-306
[2]  
Apel S(2014)Variability in software systems — a systematic literature review IEEE Transactions on Software Engineering 40 282-439
[3]  
Kästner C(2014)Formal semantics, modular specification, and symbolic verification of productline behaviour Science of Computer Programming 80 416-173
[4]  
Schaefer I(2005)A survey of recent advances in SATbased formal verification International Journal on Software Tools for Technology Transfer 7 156-560
[5]  
Saake G(2003)Temporal induction by incremental SAT solving Electronic Notes in Theoretical Computer Science 89 543-97
[6]  
Galster M(2008)PicoSAT essentials Journal on Satisfiability, Boolean Modeling and Computation 4 75-96
[7]  
Weyns D(2004)Completeness and complexity of bounded model checking Lecture Notes in Computer Science 2937 85-13
[8]  
Tofan D(2003)Interpolation and sat-based model checking Lecture Notes in Computer Science 2725 1-84
[9]  
Michalik B(2001)Feature integration using a feature construct Science of Computer Programming 41 53-177
[10]  
Avgeriou P(2002)Liveness checking as safety checking Electronic Notes in Theoretical Computer Science 66 160-79