{"title":"Specification analysis and test data generation by solving Boolean combinations of numeric constraints","authors":"Jian Zhang","doi":"10.1109/APAQ.2000.883800","DOIUrl":null,"url":null,"abstract":"In the analysis of state-based requirement specifications and in software test data generation, one often has to determine the satisfiability of Boolean combinations of numeric constraints. Theoretically this problem is undecidable, and practically many problem instances are very difficult. In this paper an extension to a Boolean constraint solver is described. The new tool can deal with variables of other types (including the enumerated type, integers and reals). It combines Boolean logic reasoning with linear programming and bound propagation. Non-linear constraints are allowed, but the solving method is incomplete. Experimental results show that the tool can be quite useful in testing specifications as well as procedural code.","PeriodicalId":432680,"journal":{"name":"Proceedings First Asia-Pacific Conference on Quality Software","volume":"123 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings First Asia-Pacific Conference on Quality Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APAQ.2000.883800","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24
Abstract
In the analysis of state-based requirement specifications and in software test data generation, one often has to determine the satisfiability of Boolean combinations of numeric constraints. Theoretically this problem is undecidable, and practically many problem instances are very difficult. In this paper an extension to a Boolean constraint solver is described. The new tool can deal with variables of other types (including the enumerated type, integers and reals). It combines Boolean logic reasoning with linear programming and bound propagation. Non-linear constraints are allowed, but the solving method is incomplete. Experimental results show that the tool can be quite useful in testing specifications as well as procedural code.