ŠTILL, Vladimír and Jiří BARNAT. Local Nontermination Detection for Parallel C++ Programs. Online. In Ölveczky P., Salaün G. International Conference on Software Engineering and Formal Methods. Cham: Springer, 2019. p. 373-390. ISBN 978-3-030-30445-4. Available from: https://dx.doi.org/10.1007/978-3-030-30446-1_20. [citováno 2024-04-23]
Other formats:   BibTeX LaTeX RIS
Basic information
Original name Local Nontermination Detection for Parallel C++ Programs
Authors ŠTILL, Vladimír (203 Czech Republic, guarantor, belonging to the institution) and Jiří BARNAT (203 Czech Republic, belonging to the institution)
Edition Cham, International Conference on Software Engineering and Formal Methods, p. 373-390, 18 pp. 2019.
Publisher Springer
Other information
Original language English
Type of outcome Proceedings paper
Field of Study 10200 1.2 Computer and information sciences
Country of publisher Switzerland
Confidentiality degree is not subject to a state or trade secret
Publication form printed version "print"
WWW Author's page Publisher's page
Impact factor Impact factor: 0.402 in 2005
RIV identification code RIV/00216224:14330/19:00107759
Organization unit Faculty of Informatics
ISBN 978-3-030-30445-4
ISSN 0302-9743
Doi http://dx.doi.org/10.1007/978-3-030-30446-1_20
UT WoS 000716915400018
Keywords in English termination; nontermination; local nontermination; parallel programs; c++; model checking; DIVINE
Tags firank_B
Tags International impact, Reviewed
Changed by Changed by: RNDr. Pavel Šmerk, Ph.D., učo 3880. Changed: 28/4/2020 00:04.
Abstract
One of the key problems with parallel programs is ensuring that they do not hang or wait indefinitely – i.e. there are no deadlocks, livelocks and the program proceeds towards its goals. In this work, we present a practical approach to detection of nonterminating sections of programs written in C or C++, and its implementation into the model checker. This complements the existing techniques for finding safety violations such as assertion failures and memory errors. Our approach makes it possible to detect partial deadlocks and livelocks, i.e. those situations in which some of the threads are progressing normally while the others are waiting indefinitely. The approach is also applicable to programs that do not terminate (such as daemons with infinite control loops) as it can be configured to check only for termination of selected sections of the program. The termination criteria can be user-provided, however, comes with the set of built-in termination criteria suited for the analysis of programs with mutexes and other common synchronisation primitives.
Links
GA18-02177S, research and development projectName: Abstrakce a jiné techniky v semi-symbolické verifikaci programů
Investor: Czech Science Foundation
MUNI/A/1018/2018, interní kód MUName: Rozsáhlé výpočetní systémy: modely, aplikace a verifikace VIII.
Investor: Masaryk University, Category A
PrintDisplayed: 23/4/2024 14:26