{"title":"Property Oriented Verification Via Iterative Abstract Interpretation","authors":"Banghu Yin","doi":"10.1109/ICSE-Companion.2019.00067","DOIUrl":null,"url":null,"abstract":"Static analysis by abstract interpretation is one of the widely used automatic approaches to program verification, due to its soundness guarantee and scalability. A key challenge for abstract interpretation with convex and linear abstract domain is verifying complex programs with disjunctive or non-linear behaviors. Our approach is conducting abstract interpretation in an iterative forward and backward manner. It utilizes dynamic input space partitioning to split the input space into sub-spaces. Thus each sub-space involves fewer disjunctive and non-linear program behaviors and is easier to be verified. We have implemented our approach. The experimental results are promising.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"96 6","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSE-Companion.2019.00067","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Static analysis by abstract interpretation is one of the widely used automatic approaches to program verification, due to its soundness guarantee and scalability. A key challenge for abstract interpretation with convex and linear abstract domain is verifying complex programs with disjunctive or non-linear behaviors. Our approach is conducting abstract interpretation in an iterative forward and backward manner. It utilizes dynamic input space partitioning to split the input space into sub-spaces. Thus each sub-space involves fewer disjunctive and non-linear program behaviors and is easier to be verified. We have implemented our approach. The experimental results are promising.