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 条
  • [1] The Research on Formal Verification of CPU Structure Based on Theorem Proving
    Yang, Hongwei
    Ma, Dianfu
    PROCEEDINGS OF 2019 IEEE 10TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS 2019), 2019, : 139 - 143
  • [2] THEOREM-PROVING AND SOFTWARE ENGINEERING
    JONES, CB
    SOFTWARE ENGINEERING JOURNAL, 1988, 3 (01): : 2 - 2
  • [3] Formal Verification of Control Systems' Properties with Theorem Proving
    Araiza-Illan, Dejanira
    Eder, Kerstin
    Richards, Arthur
    2014 UKACC INTERNATIONAL CONFERENCE ON CONTROL (CONTROL), 2014, : 244 - 249
  • [4] Formal Verification of Universal Numbers using Theorem Proving
    Rashid, Adnan
    Gauhar, Ayesha
    Hasan, Osman
    Abed, Sa'ed
    Ahmad, Imtiaz
    JOURNAL OF ELECTRONIC TESTING-THEORY AND APPLICATIONS, 2024, 40 (03): : 329 - 345
  • [5] Integrated formal verification: Using model checking with automated abstraction, invariant generation, and theorem proving
    Rushby, J
    THEORETICAL AND PRACTICAL ASPECTS OF SPIN MODEL CHECKING, 1999, 1680 : 1 - 11
  • [6] Zap: Automated theorem proving for software analysis
    Ball, T
    Lahiri, SK
    Musuvathi, M
    LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING, PROCEEDINGS, 2005, 3835 : 2 - 22
  • [7] Theorem proving based Formal Verification of Distributed Dynamic Thermal Management schemes
    Sardar, Muhammad Usama
    Hasan, Osman
    Shafique, Muhammad
    Henkel, Joerg
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2017, 100 : 157 - 171
  • [8] Formal verification of Matrix based MATLAB models using interactive theorem proving
    Gauhar, Ayesha
    Rashid, Adnan
    Hasan, Osman
    Bispo, Joao
    Cardoso, Joao M. P.
    PEERJ COMPUTER SCIENCE, 2021, 7 : 1 - 21
  • [9] Software for Automated Theorem Proving Based on the Calculus of Positively Constructed Formulas
    Bychkov, Igor
    Cherkashin, Evgeny
    Davydov, Artem
    Larionov, Alexander
    PROCEEDINGS OF THE 2016 IEEE 11TH CONFERENCE ON INDUSTRIAL ELECTRONICS AND APPLICATIONS (ICIEA), 2016, : 940 - 945
  • [10] An approach for the formal verification of DSP designs using theorem proving
    Akbarpour, Behzad
    Tahar, Sofiene
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2006, 25 (08) : 1441 - 1457