Kernekoncepter
Information flow between developers' contributions to the same methods can be used to estimate the existence of interference, which may indicate the presence of dynamic semantic conflicts in software merging.
Resumé
The paper investigates using Information Flow Control (IFC), a security technique, to detect dynamic semantic conflicts that may arise when developers' contributions are merged in a collaborative software development environment. Dynamic semantic conflicts are subtle dependencies between contributions that can lead to unexpected behavior in the integrated system, but are difficult to detect compared to syntactic or static semantic conflicts.
The authors focus on detecting interference between developers' contributions to the same methods, as a necessary but not sufficient condition for dynamic semantic conflicts. They use the Java Object-sensitive Analysis (JOANA) tool to perform IFC on the integrated version of the software, checking for information flow between the contributions to the same methods. The existence of information flow is used as an estimate of the presence of interference, which may indicate a dynamic semantic conflict.
The evaluation consists of three parts:
Determining the most appropriate JOANA configuration for identifying information flow between same-method contributions.
Measuring the frequency of information flow between same-method contributions in a sample of merge scenarios.
Manually analyzing a subset of the scenarios with information flow to understand the limitations of using information flow to estimate interference.
The results show that information flow occurs in around 64% of the evaluated scenarios, but only 15 out of 35 manually analyzed scenarios with information flow were considered to have actual interference. The authors identify three main reasons for detecting information flow without interference: issues related to the nature of the changes, excessive annotation from their strategy, and the conservative nature of the flows identified by JOANA.
The authors conclude that information flow can be used to estimate interference, but the number of false positives should be reduced. They envision being able to solve around three-quarters of the false positives obtained in their analysis.
Statistik
Information flow between developers' contributions to the same methods occurred in around 64% of the evaluated merge scenarios.
Citater
"Failing to detect dynamic semantic conflicts may affect a system's quality."
"We check if the existence of information flow between developers same-method contributions (in merge scenarios) may be used to estimate interference."
"We found three different major reasons for detecting information flow and no interference: cases related to the nature of changes, to excessive annotation from our strategy and to the conservativeness of the flows identified by Java Object-sensitive Analysis (JOANA or JOANA's)."