Proceedings of the 40th International Conference on Software Engineering 2018
DOI: 10.1145/3180155.3180199
|View full text |Cite
|
Sign up to set email alerts
|

Inferring and asserting distributed system invariants

Abstract: Distributed systems are difficult to debug and understand. A key reason for this is distributed state, which is not easily accessible and must be pieced together from the states of the individual nodes in the system.We propose Dinv, an automatic approach to help developers of distributed systems uncover the runtime distributed state properties of their systems. Dinv uses static and dynamic program analyses to infer relations between variables at different nodes. For example, in a leader election algorithm, Din… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
3
2

Relationship

1
8

Authors

Journals

citations
Cited by 23 publications
(6 citation statements)
references
References 49 publications
0
6
0
Order By: Relevance
“…Also, the works on the automated inference of models of behaviour including data attributes, time, and probabilities in their transitions [38,52,66,74,112] inspire an interesting future avenue for our research, i.e., to measure precision and recall of such extended models. Another context in which one can investigate the applicability and adaptation of our approach is that of the models of behaviour expressing distributed systems invariants [42]. Finally, one can design new quality measures that relate arbitrary numbers of behaviours (not just behaviours of a specification and its execution log), e.g., to establish a basis for comparing results of various process querying methods [79], models of behaviour that summarise traces at varying levels of abstraction [43], and different behavioural representations [83].…”
Section: Software Engineering Practicementioning
confidence: 99%
“…Also, the works on the automated inference of models of behaviour including data attributes, time, and probabilities in their transitions [38,52,66,74,112] inspire an interesting future avenue for our research, i.e., to measure precision and recall of such extended models. Another context in which one can investigate the applicability and adaptation of our approach is that of the models of behaviour expressing distributed systems invariants [42]. Finally, one can design new quality measures that relate arbitrary numbers of behaviours (not just behaviours of a specification and its execution log), e.g., to establish a basis for comparing results of various process querying methods [79], models of behaviour that summarise traces at varying levels of abstraction [43], and different behavioural representations [83].…”
Section: Software Engineering Practicementioning
confidence: 99%
“…For two languages, Java and Go, we have versions of XVector that automatically instrument the source code using static analysis and a whitelist of known networking library calls. This procedure is described in more detail in our previous work on inferring distributed system invariants [46]. For the other languages, the developer must manually log information with XVector.…”
Section: Logging the Happens-before Relationmentioning
confidence: 99%
“…In this work, we identify patterns by manually inspecting the collected traces. In future work, we aim to develop algorithms to identify patterns using statistical analysis techniques, such as invariant analysis [17,34,20].…”
Section: Proposed Approachmentioning
confidence: 99%