Using Information Flow to estimate interference between developers same method contributions
Roberto Souto Maior de Barros Filho, Paulo Borba

TL;DR
This study explores using Information Flow Control to estimate interference between developers' contributions in Java methods, revealing potential but with notable false positives and limitations.
Contribution
It demonstrates the feasibility of applying IFC, specifically JOANA, to detect developer interference in same-method contributions, highlighting its potential and current limitations.
Findings
Information flow occurred in 64% of evaluated scenarios.
Only 15 out of 35 scenarios with information flow showed actual interference.
Major reasons for false positives include change nature, excessive annotations, and conservative flow detection.
Abstract
This work's main goal is to understand if Information Flow Control (IFC), a security technique used for discovering leaks in software, could be used to indicate the presence of dynamic semantic conflicts between developers contributions in merge scenarios. However, as defining if a dynamic semantic conflict exists involves understanding the expected behaviour of a system, and as such behavioural specifications are often hard to capture, formalize and reason about, we instead try to detect a code level adaptation of the notion of interference from Goguen and Meseguer. We limit our scope to interference caused by developers contributions on the same method. Therefore, we conduct an evaluation to understand if information flow may be used to estimate interference. In particular, we use Java Object-sensitive Analysis (JOANA) to do the IFC for Java programs. JOANA does the IFC of Java…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Security and Verification in Computing · Advanced Malware Detection Techniques
