Despite the tremendous impact of Large Language Models on facilitating many software engineering tasks, change comprehension still remains a very challenging task. Software developers spend a significant portion of the workday trying to understand and review their teammates’ code changes. Currently, most code reviewing and change comprehension is done using textual diff tools, such as the commit diff provided by GitHub or Gerrit. Such diff tools are insufficient, especially for complex changes, which move code within the same file or between different files. Abstract Syntax Tree (AST) diff tools brought several improvements in making easier the understanding of source code changes. However, they still have some constraints and limitations that affect negatively their accuracy. In this keynote, I will demonstrate these limitations using real case studies from open-source projects. At the same time, I will show how the AST diff generated by our tool addresses these limitations. Moreover, I will introduce a Benchmark we created based on commits from the Defects4J and Refactoring Oracle datasets and present the precision and recall of state-of-the-art AST diff tools on our benchmark. Finally, I will use examples from open-source projects showing that source code diff is extremely more challenging for test code and present our recent progress on documenting and detecting test-specific refactorings. I will conclude the keynote with some interesting future research directions. Vive la révolution!
Thu 6 MarDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 10:30 | Keynote 2 Research Papers at Amphithéâtre Bernard Lamarre (C-631) Chair(s): Maria Teresa Baldassarre Department of Computer Science, University of Bari , Masud Rahman Dalhousie University | ||
09:00 90mKeynote | Keynote 2: Source Code Diff Revolution Research Papers Nikolaos Tsantalis Concordia University |