Towards Distributed Runtime Monitoring with C plus plus Contracts

被引:1
|
作者
Schmedes, Rolf [1 ]
Ittershagen, Philipp [1 ]
Gruettner, Kim [1 ]
机构
[1] OFFIS Inst Informat Technol, Oldenburg, Germany
关键词
Design by Contract; runtime monitoring;
D O I
10.1145/3312614.3312645
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Design by Contract supports the specification of the intended behavior of a software component at its interfaces. Out of these specifications, runtime monitors can be generated. While those runtime monitors check the correct behavior of the software component, they are usually executed on the same processor as the monitored software and therefore prone against the same possible hardware failures. This work proposes an approach for distributed runtime monitors in order to increase the overall robustness of the system. Runtime monitors will be derived from contract specifications and then check the fulfillment of assumptions and guarantees during runtime. While deployed onto a multi-processing system the contract checks can detect permanent hardware failures. Also, there are some scenarios where the parallel execution of the contract checks might be sensible. Therefore, this approach arguably increases the safety benefit of contracts and at the same time, leaves potential to further decrease the added execution time overhead. A first prototype of our approach was implement and tested. Experiments regarding the performance showed that the execution time doubled when distributed runtime monitors were used.
引用
收藏
页码:141 / 145
页数:5
相关论文
共 50 条
  • [1] Towards Heterogeneous and Distributed Computing in C plus
    Brown, Gordon
    Reyes, Ruyman
    Wong, Michael
    PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL (IWOCL'19), 2019,
  • [2] TaskTorrent: a Lightweight Distributed Task-Based Runtime System in C plus
    Cambier, Leopold
    Qian, Yizhou
    Darve, Eric
    PROCEEDINGS OF 2020 IEEE/ACM 3RD ANNUAL PARALLEL APPLICATIONS WORKSHOP, ALTERNATIVES TO MPI+X (PAW-ATM 2020), 2020, : 16 - 26
  • [3] Dereferee: instrumenting C plus plus pointers with meaningful runtime diagnostics
    Allevato, Anthony
    Edwards, Stephen H.
    SOFTWARE-PRACTICE & EXPERIENCE, 2014, 44 (08): : 973 - 997
  • [4] AutoTuneTMP: Auto-Tuning in C plus plus With Runtime Template Metaprogramming
    Pfander, David
    Brunn, Malte
    Pflueger, Dirk
    2018 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW 2018), 2018, : 1123 - 1132
  • [5] On Monitoring C/C plus plus Transactional Memory Programs
    Fiedor, Jan
    Letko, Zdenek
    Lourenco, Joao
    Vojnar, Tomas
    MATHEMATICAL AND ENGINEERING METHODS IN COMPUTER SCIENCE, MEMICS 2014, 2014, 8934 : 73 - 87
  • [6] Runtime race detection for mum-threaded C plus plus server applications
    Muhlenfeld, Arndt
    Wotawa, Franz
    PROCEEDINGS OF THE IASTED INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2007, : 111 - +
  • [7] Source-to-Source Instrumentation for Profiling Runtime Behavior of C plus plus Containers
    Jungblut, Pascal
    Kowalewski, Roger
    Fuerlinger, Karl
    IEEE 20TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS / IEEE 16TH INTERNATIONAL CONFERENCE ON SMART CITY / IEEE 4TH INTERNATIONAL CONFERENCE ON DATA SCIENCE AND SYSTEMS (HPCC/SMARTCITY/DSS), 2018, : 948 - 953
  • [8] Towards Modern C plus plus Language Support for MPI
    Ghosh, Sayan
    Alsobrooks, Clara
    Rufenacht, Martin
    Skjellum, Anthony
    Bangalore, Purushotham, V
    Lumsdaine, Andrew
    PROCEEDINGS OF EXAMPI 2021: WORKSHOP ON EXASCALE MPI, 2021, : 27 - 35
  • [9] Towards More Reliable C plus plus Template Metaprograms
    Sinkovics, Abel
    Sajo, Endre
    Porkolab, Zoltan
    12TH SYMPOSIUM ON PROGRAMMING LANGUAGES AND SOFTWARE TOOLS, SPLST' 11, 2011, : 260 - 271
  • [10] HDPV: interactive, faithful, in-vivo runtime state visualization for C/C plus plus and Java']Java
    Sundararaman, Jaishankar
    Back, Godmar
    SOFTVIS 2008: PROCEEDINGS OF THE 4TH ACM SYMPOSIUM ON SOFTWARE VISUALIZATION, 2008, : 47 - 56