A formal software verification concept based on automated theorem proving and reverse engineering

被引:3
|
作者
Popovic, M [1 ]
Kovacevic, V [1 ]
Velikic, I [1 ]
机构
[1] Univ Novi Sad, Fac Engn, Dept Comp & Control, YU-21000 Novi Sad, Yugoslavia
关键词
formal software verification; reverse engineering; predicate calculus; automated theorem proving; fault-tolerant and robust software; mission-critical embedded software;
D O I
10.1109/ECBS.2002.999823
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Formal software verification typically involves some level of static theorem proving which is a mathematical process of proving that the function computed by a program match the function specified. A theorem prover, such as THEO automates this process. On the other hand, reverse engineering is a process inverse to traditional engineering. An example is extracting software specification from its source code. Both subjects have been widely addressed in literature but there is still the need for additional research efforts in this area. In this paper we present a formal software verification concept, which is based on automated theorem proving and reverse engineering. We are mainly concerned with communications software and with software for families of communication protocols in particular. In the paper we describe how to: (i) model a group of finite state machines using predicate calculus, (ii) extract axiomatic software specification from the source code and log files, and (iii) formally veri, software for a given operational profile (set of test cases). The concept has been successfully applied to a call processing software for systems, which are installed and fully operational in Moscow and Saint Petersburg, Russia.
引用
收藏
页码:59 / 66
页数:8
相关论文
共 50 条
  • [31] A dynamic logic for verification of synchronous models based on theorem proving
    Yuanrui Zhang
    Frédéric Mallet
    Zhiming Liu
    Frontiers of Computer Science, 2022, 16
  • [32] A Short Introduction to Two Approaches in Formal Verification of Security Protocols: Model Checking and Theorem Proving
    Pourpouneh, Mohsen
    Ramezanian, Rasoul
    ISECURE-ISC INTERNATIONAL JOURNAL OF INFORMATION SECURITY, 2016, 8 (01): : 3 - 24
  • [33] Formal Verification of a Chained Multiply-Add Design: Combining Theorem Proving and Equivalence Checking
    Russinoff, David
    Bruguera, Javier
    Chau, Cuong
    Manjrekar, Mayank
    Pfister, Nicholas
    Valsaraju, Harsha
    2022 IEEE 29TH SYMPOSIUM ON COMPUTER ARITHMETIC (ARITH 2022), 2022, : 120 - 126
  • [34] Theorem Proving Techniques for the Formal Verification of NoC Communications with Non-minimal Adaptive Routing
    Helmy, Amr
    Pierre, Laurence
    Jantsch, Axel
    PROCEEDINGS OF THE 13TH IEEE SYMPOSIUM ON DESIGN AND DIAGNOSTICS OF ELECTRONIC CIRCUITS AND SYSTEMS, 2010, : 221 - 224
  • [35] Development and verification of high confidence embedded software by combining model checking and theorem proving
    Xiao, Jian-Yu
    Zhang, De-Yun
    Chen, Hai-Quan
    Dong, Hao
    Jilin Daxue Xuebao (Gongxueban)/Journal of Jilin University (Engineering and Technology Edition), 2005, 35 (05): : 531 - 536
  • [36] Lessons learned in applying formal concept analysis to reverse engineering
    Arévalo, G
    Ducasse, S
    Nierstrasz, O
    FORMAL CONCEPT ANALYSIS, PROCEEDINGS, 2005, 3403 : 95 - 112
  • [37] Second level hypothetical inference based automated theorem proving
    Zhou Xunwei
    Bao Hong
    Proceedings of 2006 International Conference on Artificial Intelligence: 50 YEARS' ACHIEVEMENTS, FUTURE DIRECTIONS AND SOCIAL IMPACTS, 2006, : 126 - 128
  • [38] Formal Specification and Automated Verification of Railway Software with Frama-C
    Prevosto, Virgile
    Burghardt, Jochen
    Gerlach, Jens
    Hartig, Kerstin
    Pohl, Hans
    Voellinger, Kim
    2013 11TH IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2013, : 710 - 715
  • [39] A formal method applied to the automated software engineering with quality guarantees
    Teixeira, Marcelo
    Ribeiro, Richardson
    Barbosa, Marco
    Marin, Luciene
    2014 IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW), 2014, : 108 - 111
  • [40] A survey of formal concept analysis support for software engineering activities
    Tilley, T
    Cole, R
    Becker, P
    Eklund, P
    FORMAL CONCEPT ANALYSIS: FORMAL CONCEPT ANALYSIS, 2005, 3626 : 250 - 271