Quantifying Software Correctness by Combining Architecture Modeling and Formal Program Analysis

被引:0
|
作者
Lanzinger, Florian [1 ]
Martin, Christian [1 ]
Reiche, Frederik [1 ]
Teuber, Samuel [1 ]
Heinrich, Robert [1 ]
Weigl, Alexander [1 ]
机构
[1] Karlsruhe Inst Technol, Karlsruhe, Germany
关键词
Service-oriented architecture; Component-based architecture; Architecture modeling; Deductive verification; Quantitative verification; Architecture simulation; Software reliability estimation;
D O I
10.1145/3605098.3636008
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Most formal methods see the correctness of a software system as a binary decision. However, proving the correctness of complex systems completely is difficult because they are composed of multiple components, usage scenarios, and environments. We present Quac, a modular approach for quantifying the correctness of service-oriented software systems by combining software architecture modeling with deductive verification. Our approach is based on a model of the service-oriented architecture and the probabilistic usage scenarios of the system. The correctness of a single service is approximated by a coverage region, which is a formula describing which inputs for that service are proven to not lead to an erroneous execution. The coverage regions can be determined by a combination of various analyses, e.g., formal verification, expert estimations, or testing. The coverage regions and the software model are then combined into a probabilistic program. From this, we can compute the probability that under a given usage profile no service is called outside its coverage region. We also present an implementation of Quac for Java using the modeling tool Palladio and the deductive verification tool KeY. We demonstrate its usability by applying it to a software simulation of an energy system.
引用
收藏
页码:1702 / 1711
页数:10
相关论文
共 50 条
  • [1] Quantifying Software Correctness by Combining Architecture Modeling and Formal Program Analysis
    Lanzinger, Florian
    Martin, Christian
    Reiche, Frederik
    Teuber, Samuel
    Heinrich, Robert
    Weigl, Alexander
    [J]. arXiv, 1600,
  • [2] Quantifying Software Correctness by Combining Architecture Modeling and Formal Program Analysis
    Lanzinger, Florian
    Martin, Christian
    Reiche, Frederik
    Teuber, Samuel
    Heinrich, Robert
    Weigl, Alexander
    [J]. Proceedings of the ACM Symposium on Applied Computing, : 1702 - 1711
  • [3] Formal Modeling of Automotive Software Requirements by Correctness
    Liu, Xiaojian
    Wang, Zhixue
    Yan, Xuqin
    Li, Yang
    Li, Jianxin
    [J]. ADVANCES IN SCIENCE AND ENGINEERING, PTS 1 AND 2, 2011, 40-41 : 961 - 967
  • [4] Formal modeling and analysis of software architecture: Components, connectors, and events
    Garlan, D
    [J]. FORMAL METHODS FOR SOFTWARE ARCHITECTURES, 2003, 2804 : 1 - 24
  • [5] Software architecture correctness
    Barber, KS
    Holt, J
    [J]. IEEE SOFTWARE, 2001, 18 (06) : 64 - 65
  • [6] A formal modeling method for embedded software architecture
    Xu, Hai-Yang
    Zhuang, Yi
    Gu, Jing-Jing
    [J]. Tien Tzu Hsueh Pao/Acta Electronica Sinica, 2014, 42 (08): : 1515 - 1521
  • [7] Formal description of software dynamic correctness
    Ma, Yanfang
    Zhang, Min
    Chen, Yixiang
    [J]. Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2013, 50 (03): : 626 - 635
  • [8] ON FORMAL AND INFORMAL PROOFS FOR PROGRAM CORRECTNESS
    CULIK, K
    [J]. SIGPLAN NOTICES, 1983, 18 (01): : 23 - 28
  • [9] FORMAL CORRECTNESS PROOFS OF A NONDETERMINISTIC PROGRAM
    UPFAL, E
    [J]. INFORMATION PROCESSING LETTERS, 1982, 14 (02) : 86 - 92
  • [10] Do the informal & formal software modeling notations satisfy practitioners for software architecture modeling?
    Ozkaya, Mert
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 95 : 15 - 33