SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Thu 21 Oct 2021 14:20 - 14:35 at Zurich B - Program Synthesis Chair(s): Kedar Namjoshi
Thu 21 Oct 2021 22:20 - 22:35 at Zurich B - Program Synthesis - mirror Chair(s): Hakjoo Oh

Use of third-party libraries is extremely common in application software. The libraries evolve to accommodate new features or mitigate security vulnerabilities, thereby breaking the Application Programming Interface(API) used by the software. Such breaking changes in the libraries may discourage client code from using the new library versions thereby keeping the application vulnerable and not up-to-date. We propose a novel output-oriented program synthesis algorithm to automate API usage adaptations via program transformation. Our aim is not only to rely on the few example human adaptations of the clients from the old library version to the new library version, since this can lead to over-fitting transformation rules. Instead, we also rely on example usages of the new updated library in clients, which provide valuable context for synthesizing and applying the transformation rules. Our tool APIFix provides an automated mechanism to transform application code using the old library versions to code using the new library versions - thereby achieving automated API usage adaptation to fix the effect of breaking changes. Our evaluation shows that the transformation rules inferred by APIFix achieve 98.7% precision and 91.5% recall. By comparing our approach to state-of-the-art program synthesis approaches, we show that our approach significantly reduces over-fitting while synthesizing transformation rules for API usage adaptations.

Thu 21 Oct

Displayed time zone: Central Time (US & Canada) change

13:50 - 15:10
Program SynthesisOOPSLA at Zurich B +8h
Chair(s): Kedar Namjoshi Nokia Bell Labs
13:50
15m
Talk
Generalizable Synthesis through UnificationVirtual
OOPSLA
Ruyi Ji Peking University, Jingtao Xia Peking University, Yingfei Xiong Peking University, Zhenjiang Hu Peking University
DOI
14:05
15m
Talk
Gauss: Program Synthesis by Reasoning over GraphsVirtual
OOPSLA
Rohan Bavishi University of California at Berkeley, Caroline Lemieux University of California at Berkeley, Koushik Sen University of California at Berkeley, Ion Stoica University of California at Berkeley
DOI
14:20
15m
Talk
APIfix: Output-Oriented Program Synthesis for Combating Breaking Changes in LibrariesVirtual
OOPSLA
Xiang Gao National University of Singapore, Arjun Radhakrishna Microsoft, Gustavo Soares Microsoft, Ridwan Salihin Shariffdeen National University of Singapore, Sumit Gulwani Microsoft, Abhik Roychoudhury National University of Singapore
DOI
14:35
15m
Talk
LooPy: Interactive Program Synthesis with Control StructuresVirtual
OOPSLA
Kasra Ferdowsifard University of California at San Diego, Shraddha Barke University of California at San Diego, Hila Peleg Technion, Sorin Lerner University of California at San Diego, Nadia Polikarpova University of California at San Diego
DOI
14:50
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA

21:50 - 23:10
Program Synthesis - mirrorOOPSLA at Zurich B
Chair(s): Hakjoo Oh Korea University
21:50
15m
Talk
Generalizable Synthesis through UnificationVirtual
OOPSLA
Ruyi Ji Peking University, Jingtao Xia Peking University, Yingfei Xiong Peking University, Zhenjiang Hu Peking University
DOI
22:05
15m
Talk
Gauss: Program Synthesis by Reasoning over GraphsVirtual
OOPSLA
Rohan Bavishi University of California at Berkeley, Caroline Lemieux University of California at Berkeley, Koushik Sen University of California at Berkeley, Ion Stoica University of California at Berkeley
DOI
22:20
15m
Talk
APIfix: Output-Oriented Program Synthesis for Combating Breaking Changes in LibrariesVirtual
OOPSLA
Xiang Gao National University of Singapore, Arjun Radhakrishna Microsoft, Gustavo Soares Microsoft, Ridwan Salihin Shariffdeen National University of Singapore, Sumit Gulwani Microsoft, Abhik Roychoudhury National University of Singapore
DOI
22:35
15m
Talk
LooPy: Interactive Program Synthesis with Control StructuresVirtual
OOPSLA
Kasra Ferdowsifard University of California at San Diego, Shraddha Barke University of California at San Diego, Hila Peleg Technion, Sorin Lerner University of California at San Diego, Nadia Polikarpova University of California at San Diego
DOI
22:50
20m
Live Q&A
Discussion, Questions and Answers
OOPSLA