APPLYING SOFTWARE MODEL CHECKING TO PALS SYSTEMS

被引:0
|
作者
Nam, Min-Young [1 ]
Sha, Lui [1 ]
Chaki, Sagar [2 ]
Kim, Cheolgi [3 ]
机构
[1] Univ Illinois, Dept Comp Sci, Urbana, IL 61801 USA
[2] Carnegie Mellon Univ, Inst Software Engn, Pittsburgh, PA 15213 USA
[3] Korea Aerosp Univ, Dept SW, Goyang, Gyeonggi Do, South Korea
关键词
D O I
暂无
中图分类号
V [航空、航天];
学科分类号
08 ; 0825 ;
摘要
Physically Asynchronous/Logically Synchronous (PALS) is an architecture pattern that allows developers to design and verify a system as though all nodes executed synchronously. The correctness of PALS protocol was formally verified. However, the implementation of PALS adds additional code that is otherwise not needed. In our case, we have a middleware (PALSWare) that supports PALS systems. In this paper, we introduce a verification framework that shows how we can apply Software Model Checking (SMC) to verify a PALS system at the source code level. SMC is an automated and exhaustive source code checking technology. Compared to verifying (hardware or software) models, verifying the actual source code is more useful because it minimizes any chance of false interpretation and eliminates the possibility of missing software bugs that were absent in the model but introduced during implementation. In other words, SMC reduces the semantic gap between what is verified and what is executed. Our approach is compositional, i.e., the verification of PALSWare is done separately from applications. Since PALSWare is inherently concurrent, to verify it via SMC we must overcome the statespace explosion problem, which arises from concurrency and asynchrony. To this end, we develop novel simplification abstractions, prove their soundness, and then use these abstractions to reduce the verification of a system with many threads to verifying a system with a relatively small number of threads. When verifying an application, we leverage the (already verified) synchronicity guarantees provided by the PALSWare to reduce the verification complexity significantly. Thus, our approach uses both "abstraction" and "composition", the two main techniques to reduce statespace explosion. This separation between verification of PALSWare and applications also provides better management against upgrades to either. We validate our approach by verifying the current PALSWare implementation, and several PALSWare-based distributed real time applications.
引用
收藏
页数:14
相关论文
共 50 条
  • [1] Applying Software Model Checking to PALS Systems
    Chaki, Sagar
    Sha, Lui
    Kim, Cheolgi
    2014 IEEE/AIAA 33RD DIGITAL AVIONICS SYSTEMS CONFERENCE (DASC), 2014,
  • [2] SOFTWARE MODEL CHECKING FOR AVIONICS SYSTEMS
    Cofer, Darren
    Whalen, Michael
    Miller, Steven
    DASC: 2008 IEEE/AIAA 27TH DIGITAL AVIONICS SYSTEMS CONFERENCE, VOLS 1 AND 2, 2008, : 1209 - 1216
  • [3] Model Checking Software in Cyberphysical Systems
    Sirjani, Marjan
    Lee, Edward A.
    Khamespanah, Ehsan
    2020 IEEE 44TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2020), 2020, : 1017 - 1026
  • [4] Applying Multi-Core Model Checking to Hardware-Software Partitioning in Embedded Systems
    Trindade, Alessandro
    Ismail, Hussama
    Cordeiro, Lucas
    2015 BRAZILIAN SYMPOSIUM ON COMPUTING SYSTEMS ENGINEERING (SBESC), 2015, : 102 - 105
  • [5] Applying model checking to destructive testing and analysis of software system
    Kumamoto, Hiroki
    Mizuno, Takahisa
    Narita, Kensuke
    Nishizaki, Shin-ya
    Journal of Software, 2013, 8 (05) : 1254 - 1261
  • [6] Motivating Model Checking of Embedded Systems Software
    Reinbacher, Thomas
    Kramer, Michael
    Horauer, Martin
    Schlich, Bastian
    PROCEEDINGS OF 2008 IEEE/ASME INTERNATIONAL CONFERENCE ON MECHATRONIC AND EMBEDDED SYSTEMS AND APPLICATIONS, 2008, : 546 - +
  • [7] A case study in model checking software systems
    Wing, JM
    VaziriFarahani, M
    SCIENCE OF COMPUTER PROGRAMMING, 1997, 28 (2-3) : 273 - 299
  • [8] Modular Software Model Checking for Distributed Systems
    Leungwattanakit, Watcharin
    Artho, Cyrille
    Hagiya, Masami
    Tanabe, Yoshinori
    Yamamoto, Mitsuharu
    Takahashi, Koichi
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2014, 40 (05) : 483 - 501
  • [9] Process Rewrite Systems for Software Model Checking
    Touili, Tayssir
    2013 INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING (TASE), 2013, : 15 - 22
  • [10] Efficient Software Model Checking of Soundness of Type Systems
    Roberson, Michael
    Harries, Melanie
    Darga, Paul T.
    Boyapati, Chandrasekhar
    OOPSLA 2008 NASHVILLE, CONFERENCE PROCEEDINGS: MUSIC CITY USA, OOPSLA, 2008, : 493 - 504