Skip to main content
Workshops & seminars, Conferences & lectures

Seminar: Leveraging Dual Channel Constraints to Speed Program Repair


Date & time
Monday, August 7, 2023
2 p.m. – 3:30 p.m.
Speaker(s)

Earl Barr

Cost

This event is free

Organization

Department of Computer Science and Software Engineering

Contact

Mirco Ravanelli

Where

ER Building
2155 Guy St.
Room 1072

Wheel chair accessible

Yes

Abstract

    Code mixes natural language in identifier names, comments, and stylistic choices (ordering and typesetting) with a formal language that defines a computation. The snippets in each language form a communication channel. Developers read both channels; a CPU processes only the formal channel. These two channels interact and constrain each other. The theory of dual channel constraints elucidates these interactions and points to their exploitation. I will illustrate how to leverage dual channel constraints to tackle the central challenge of automated program repair: finding correct patches in the vast search space of candidate patches. Real-world programs define large namespaces of variables that considerably contributes to the search space explosion. Existing program repair approaches neglect information about the program namespace, which makes them inefficient and increases the chance of test-overfitting. I will present RETE, a new program repair technique, that introduces a dual channel representation to learn project-independent information about a program’s namespace and uses it to navigate the search space of patches. On the ManyBugs and BugsInPy datasets, our experiments demonstrate that RETE generates six new correct patches that fix bugs that previous tools did not repair, an improvement of 31% and 59% over the existing state of the art.

Bio

Dr. Earl Barr is a professor of software engineering at the University College London, on sabbatical visiting Google DeepMind. He received his PhD at University California Davis. Earl's research interests include artificial intelligence for software engineering (and vice versa), debugging, testing and analysis, game theory, and computer security. His recent work focuses on probabilistically quantifying program equivalence, probabilistic type inference, and dual channel constraints. With the exception of a pandemic-imposed hiatus, Earl dodges vans and taxis on his bike commute in London.

Back to top

© Concordia University