Modern software engineering often involves using many existing APIs, both open source and – in industrial coding environments– proprietary. Programmers reference documentation and code search tools to remind themselves of proper common usage patterns of APIs. However, high-quality API usage examples are computationally expensive to curate and maintain, and API usage examples retrieved from company-wide code search can be tedious to review. We present a tool, EG, that mines codebases and shows the common, idiomatic us-age examples for API methods. EG was integrated into Facebook’s internal code search tool for the Hack language and evaluated on open-source GitHub projects written in Python. EG was also compared against code search results and hand-written examples from a popular programming website called ProgramCreek. Compared with these two baselines, examples generated by EG are more succinct and representative with less extraneous statements. In addition, a survey with Facebook developers shows that EG examples are preferred in 97% of cases.
Wed 11 NovDisplayed time zone: (UTC) Coordinated Universal Time change
17:00 - 17:30 | |||
17:00 2mTalk | Emerging Perspectives of Application Programming Interface Strategy: A Framework to Respond to Business Concerns Journal First Juho Lindman University of Gothenburg, Jennifer Horkoff Chalmers and the University of Gothenburg, Imed Hammouda Mediterranean Institute of Technology, Eric Knauss Chalmers and University of Gothenburg | ||
17:03 1mTalk | Exempla Gratis (E.G.): Code Examples for Free Industry Papers Celeste Barnaby Facebook, Inc., Koushik Sen University of California at Berkeley, Tianyi Zhang Harvard University, USA, Elena Glassman Harvard University, Satish Chandra Facebook, USA DOI | ||
17:05 1mTalk | Exploring How Deprecated Python Library APIs Are (Not) Handled Research Papers Jiawei Wang Monash University, Australia, Li Li Monash University, Australia, Kui Liu Nanjing University of Aeronautics and Astronautics, China, Haipeng Cai Washington State University, USA DOI | ||
17:07 1mTalk | LibComp: An IntelliJ Plugin for Comparing Java Libraries Tool Demos Link to publication DOI Pre-print Media Attached | ||
17:09 1mTalk | Selecting Third-Party Libraries: The Practitioners’ Perspective Research Papers Enrique Larios Vargas Software Improvement Group, Netherlands, Maurício Aniche Delft University of Technology, Netherlands, Christoph Treude University of Adelaide, Australia, Magiel Bruntink Software Improvement Group, Netherlands, Georgios Gousios Facebook & Delft University of Technology DOI | ||
17:11 19mTalk | Conversations on APIs Paper Presentations Celeste Barnaby Facebook, Inc., Jiawei Wang Monash University, Australia, Juho Lindman University of Gothenburg, Rehab El-Hajj University of Alberta, Canada, Tam Nguyen Auburn University, USA, M: Massimiliano Di Penta University of Sannio, Italy |