{"title":"时间归纳法之字形策略","authors":"Guillaume Baud-Berthier, Laurent Simon","doi":"10.1109/ICTAI.2018.00117","DOIUrl":null,"url":null,"abstract":"Model Checking is at the heart of formal methods for software and hardware verification. In this area of active research, Bounded Model Checking (BMC) and k-induction have reached very impressive results, especially when both methods are working together. They are based on a common approach that unrolls the transition relation, but each method serves a different purpose in practice. BMC is usually used for bugs findings, while k-induction aims at building inductive invariants. The ZigZag approach, proposed 15 years ago, takes benefit from both strategies by successively calling each one of them, while trying to share a lot of information between calls thanks to the mechanism of SAT clauses learning. Despite the practical importance of the ZigZag algorithm, it was mainly used forwardly until last year. The transition relation was unrolled by increasing depths only. However, as stated by the authors of ZigZag themselves, it was possible to consider the ZigZag approach backwardly. The experimental study of backward zigzag performances was only proposed one year ago. In this paper, we propose to extend the idea of the ZigZag algorithm by allowing to unroll the transitions from the middle. This has the nice property of allowing the SAT solver to keep learnt clauses that are both close to the initial state and to the bad state in the search. Our experimental study however shows that the best option for ZigZag is still to perform it backward, as stated in a previous work. However, we also show that our hybrid approach offers the same performances as forward ZigZag, while allowing more flexible strategies to be developed in the future, for example by choosing the right transition to expand.","PeriodicalId":254686,"journal":{"name":"2018 IEEE 30th International Conference on Tools with Artificial Intelligence (ICTAI)","volume":"58 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Zigzagging Strategies for Temporal Induction\",\"authors\":\"Guillaume Baud-Berthier, Laurent Simon\",\"doi\":\"10.1109/ICTAI.2018.00117\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Model Checking is at the heart of formal methods for software and hardware verification. In this area of active research, Bounded Model Checking (BMC) and k-induction have reached very impressive results, especially when both methods are working together. They are based on a common approach that unrolls the transition relation, but each method serves a different purpose in practice. BMC is usually used for bugs findings, while k-induction aims at building inductive invariants. The ZigZag approach, proposed 15 years ago, takes benefit from both strategies by successively calling each one of them, while trying to share a lot of information between calls thanks to the mechanism of SAT clauses learning. Despite the practical importance of the ZigZag algorithm, it was mainly used forwardly until last year. The transition relation was unrolled by increasing depths only. However, as stated by the authors of ZigZag themselves, it was possible to consider the ZigZag approach backwardly. The experimental study of backward zigzag performances was only proposed one year ago. In this paper, we propose to extend the idea of the ZigZag algorithm by allowing to unroll the transitions from the middle. This has the nice property of allowing the SAT solver to keep learnt clauses that are both close to the initial state and to the bad state in the search. Our experimental study however shows that the best option for ZigZag is still to perform it backward, as stated in a previous work. However, we also show that our hybrid approach offers the same performances as forward ZigZag, while allowing more flexible strategies to be developed in the future, for example by choosing the right transition to expand.\",\"PeriodicalId\":254686,\"journal\":{\"name\":\"2018 IEEE 30th International Conference on Tools with Artificial Intelligence (ICTAI)\",\"volume\":\"58 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 IEEE 30th International Conference on Tools with Artificial Intelligence (ICTAI)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICTAI.2018.00117\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE 30th International Conference on Tools with Artificial Intelligence (ICTAI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICTAI.2018.00117","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Model Checking is at the heart of formal methods for software and hardware verification. In this area of active research, Bounded Model Checking (BMC) and k-induction have reached very impressive results, especially when both methods are working together. They are based on a common approach that unrolls the transition relation, but each method serves a different purpose in practice. BMC is usually used for bugs findings, while k-induction aims at building inductive invariants. The ZigZag approach, proposed 15 years ago, takes benefit from both strategies by successively calling each one of them, while trying to share a lot of information between calls thanks to the mechanism of SAT clauses learning. Despite the practical importance of the ZigZag algorithm, it was mainly used forwardly until last year. The transition relation was unrolled by increasing depths only. However, as stated by the authors of ZigZag themselves, it was possible to consider the ZigZag approach backwardly. The experimental study of backward zigzag performances was only proposed one year ago. In this paper, we propose to extend the idea of the ZigZag algorithm by allowing to unroll the transitions from the middle. This has the nice property of allowing the SAT solver to keep learnt clauses that are both close to the initial state and to the bad state in the search. Our experimental study however shows that the best option for ZigZag is still to perform it backward, as stated in a previous work. However, we also show that our hybrid approach offers the same performances as forward ZigZag, while allowing more flexible strategies to be developed in the future, for example by choosing the right transition to expand.