RSS Meetups are monthly gatherings of LASIGE members with research interests mainly in Software Architecture, Verification, Testing, Programming Languages, Type Systems, Logic, Concurrency, and Formal Methods.
Title: Semantic Conflicts in Version Control Systems
Speaker: Nuno Castanho, LASIGE – DI/FCUL
When: Tuesday, July 20, 14h00
Abstract: Merging parallel changes is a common occurrence for developers working in collaborative software projects. Nowadays, however, developers still rely on tools that perform textual merge to detect possible merge conflicts. While practical and efficient, this merging approach fails to detect semantic conflicts, that is, concurrent changes that cause the merged result to misbehave.
It is well known that software testing is a powerful method to check if a software system matches its requirements and build the developer’s confidence that it is defect-free. As such, tests can be used to detect wrong behaviour in the merged result. Despite their capabilities, however, tests might not cover the changed parts and, hence, do not reveal the bugs introduced during the merge. As such, the effectiveness of testing for conflict detection is directly dependant on the quality of the test suite being used. This led to the development of UNSETTLE, a tool capable of comparing the changes in different versions of a code base to a set of change patterns capturing known and common causes of semantic conflicts and automatically search for tests that reveal a semantic conflict.
Bio: Nuno Castanho is a Masters student at the Faculty of Sciences, University of Lisbon, and a student researcher at LASIGE. He received his BSc in Computer Science from the same faculty. His current research focuses on the development of a tool to automatically detect semantic conflicts introduced during merge operations in version control systems.