ReGraDe-CS · Reversible Gray Debugging of Concurrent Systems
„Хоризонт Европа“ — Действия „Мария Склодовска-Кюри“
- Период
- 2023-12-01 → 2025-11-30
- Финансиране от ЕС
- 172 750 €
- Участници
- 5
- Схема
- HORIZON-TMA-MSCA-PF-EF
Линиите свързват координатора с партньорите.
Накратко на български
Методите за „пътуване във времето“ при дебъгване на софтуер изследват как да се връща и повтаря изпълнението на програми, в които много процеси работят едновременно. Това помага за по-лесното откриване на грешки, които се появяват само при специфична последователност от събития.
Кратко обяснение, генерирано от езиков модел по текста на CORDIS. Оригиналът е по-долу.
Резултати накратко
Reversible Gray Debugging of Concurrent Systems
Modern software systems rarely run as a single, sequential program. They are /concurrent/: many activities run at the same time, often across several processors or machines in the cloud, and they communicate by exchanging messages. Concurrency is essential for performance and responsiveness, but it makes software failures harder to understand and reproduce. A bug may appear only under a particular “interleaving” of events, such as a rare ordering of message deliveries or scheduling decisions. The ReGraDe-CS project (Reversible Gray Debugging of Concurrent Systems) tackles this challenge by establishing foundations for /reversible debugging/ of concurrent programs: the ability to inspect an execution, move backwards (rollback), and run forwards (replay). In concurrency, reversing an execution cannot be done naively, because actions in different components are linked by cause-and-effect relations (for example, receiving a message depends on a prior message being sent). A correct reversible debugger must respect these dependencies (causal consistency). The project’s objective is to deliver a mathematically well-founded account of reversible debugging for concurrent systems, with a general, reusable semantic theory. The aim is to make “time-travel debugging” for concurrency precise and compositional, in order to be used for message-passing and actor-style languages (such as Erlang) that used in practice to implement large-scale distributed systems.
Текст от CORDIS, на английски · Данни: CORDIS, © Европейски съюз
Цел на проекта
The project tackles gray debugging of concurrent systems. Gray debugging means debugging systems where only part of the source code is accessible (e.g., the system invokes external services such as Google Maps). Debugging concurrent systems (from multiprocessors to Cloud) is notoriously hard. Reversible Causal-Consistent Debugging and Replay (RCCDR) is an innovative approach to this problem, allowing one to log a faulty execution in production environment and replay it in the debugger. There it can be explored backwards and forwards following causality links from the visible misbehavior to the bug causing it. This approach has been implemented in CauDEr, a debugger for the Erlang language.Currently, RCCDR requires access to the whole source code of the target program. To enable gray RCCDR we need to answer the following questions:How can we define RCCDR, and, more generally, reversibility in concurrent systems, in a compositional way, to be able to apply it to systems which are only partially accessible? Are we able to correctly explore backwards and forwards the accessible part? If not, which approximation in the exploration is caused by the missing information about the inaccessible part? Till now RCCDR has only been explored in the concrete setting of Erlang, and gray RCCDR has never been studied. We plan to study gray RCCDR at two levels:1) the abstract level of event structures. Abstraction ensures simpler proofs and generality of the results, making them applicable to many languages;2) the concrete level of Erlang semantics, ensuring applicability in a setting of interest, and allowing to implement it by extending CauDEr and integrating it in the Erlang Solutions environment. As an outcome we will provide the theory to apply the powerful RCCDR approach to concurrent systems which are only partially accessible, as well as exploit it in practice, in the setting of Erlang. This will also enable interaction with IT SMEs and software developers.
Оригинален текст от CORDIS (на английски).
Участници
- ALMA MATER STUDIORUM - UNIVERSITA DI BOLOGNA · BolognaКоординаторИталия
- ERLANG SOLUTIONS LIMITED · LondonОбединеното кралство
- HUAWEI TECHNOLOGIES RESEARCH & DEVELOPMENT (UK) LIMITED · CAMBRIDGEОбединеното кралство
- THE CHANCELLOR MASTERS AND SCHOLARS OF THE UNIVERSITY OF CAMBRIDGE · CAMBRIDGEОбединеното кралство
- UNIVERSITAT POLITECNICA DE VALENCIA · ValenciaИспания
Връзки
- Виж в CORDIS
- DOI: 10.3030/101106046
- https://ec.europa.eu/research/participants/documents/downloadPublic?documentIds=080166e50d1b71da&appId=PPGMS
- https://ec.europa.eu/research/participants/documents/downloadPublic?documentIds=080166e524c7f3fe&appId=PPGMS
Данни: CORDIS, © Европейски съюз
