Abstract
SMT solvers are widely applied for deductive verification of C programs using various verification platforms (Why3, Frama-C/WP, F*) and interactive theorem proving systems (Isabelle, HOL4, Coq) as the decision procedures implemented in SMT solvers are complete for some combinations of logical theories (logics), in particular for the QF_UFLIA logic. At the same time, when verifying C programs, it is often necessary to discharge formulas in other logical theories and their combinations, that are also decidable but not supported by all SMT solvers. Theories of bounded integers both with overflow (for unsigned integers in C) and without overflow (for signed integers), and also theory of finite interpreted sets (needed to support frame conditions) are good examples of such theories. One of the possible ways to support such theories is to directly implement them in SMT-solvers, however, this method is often time-consuming, as well as insufficiently flexible and universal. Another way is to implement custom quantifier instantiation strategies to reduce formulas in unsupported theories to formulas in widespread decidable logics such as QF_UFLIA. In this paper, we present an instantiation procedure for translating formulas in the theory of bounded integers without overflow into the QF_UFLIA logic. We formally proved soundness and completeness of our instantiation procedure in Isabelle. The paper presents an informal description of this proof as well as some considerations on the efficiency of the proposed procedure. Our approach is sufficient to obtain efficient decision procedures implemented as Isabelle/HOL proof methods for several decidable logical theories used in C program verification by relying on the existing capabilities of well-known SMT solvers, such as Z3 and proof reconstruction capabilities of the Isabelle/HOL proof assistant.
Highlights
SMT solvers are widely applied for deductive verification of C programs using various verification platforms (Why3, Frama-C/WP, F*) and interactive theorem proving systems (Isabelle, HOL4, Coq) as the decision procedures implemented in SMT solvers are complete for some combinations of logical theories, in particular for the QF_UFLIA logic
We present an instantiation procedure for translating formulas in the theory of bounded integers without overflow into the QF_UFLIA logic
We formally proved soundness and completeness of our instantiation procedure in Isabelle
Summary
В процессе разработки программного обеспечения на языке Си часто возникают ошибки, связанные с неправильным использованием арифметических операций, которые могут привести к переполнению, и, как следствие, непредвиденному поведению программ, несмотря на долгое и тщательное тестирование. Верифицированная тактика Isabelle/HOL для теории ограниченных целых на основе инстанцирования и SMT. 107-124 данной работе с целью автоматизированного получения доказательств в системе интерактивного доказательства теорем Isabelle/HOL [1] мы сформулировали метод проверки выполнимости формул с ограниченными целочисленными значениями переменных, который основан на применении SMT-решателя в логике QF_UFLIA. В свою очередь, доказательство полноты предложенного метода основывается на преобразовании полученной от SMT-решателя модели в логике QF_UFLIA в модель в теории ограниченных целых. Основной целью нашей работы являлось доказательство полноты и корректности предложенной процедуры преобразования формул из теории ограниченных целых в логику QF_UFLIA. В работе [3] сформулированы методы преобразования для формул в нелинейной модульной арифметике с ограниченными целыми, которые предполагают изменение внутренних алгоритмов SMT-решателя. Решающая процедура данной логики является NP-трудной; аналогичная логика QF_UFLIA, которая является расширением логики IDL операцией умножения на константу, – тоже NP-полная задача
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: Proceedings of the Institute for System Programming of the RAS
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.