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 Nov Times are displayed in time zone: (UTC) Coordinated Universal Time change
17:00 - 17:30: APIsPaper Presentations / Research Papers / Tool Demos / Journal First / Industry Papers at Virtual room 1 | |||
17:00 - 17:02 Talk | Emerging Perspectives of Application Programming Interface Strategy: A Framework to Respond to Business Concerns Journal First Juho LindmanUniversity of Gothenburg, Jennifer HorkoffChalmers and the University of Gothenburg, Imed HammoudaMediterranean Institute of Technology, Eric KnaussChalmers and University of Gothenburg | ||
17:03 - 17:04 Talk | Exempla Gratis (E.G.): Code Examples for Free Industry Papers Celeste BarnabyFacebook, Inc., Koushik SenUniversity of California at Berkeley, Tianyi ZhangHarvard University, USA, Elena GlassmanHarvard University, Satish ChandraFacebook, USA DOI | ||
17:05 - 17:06 Talk | Exploring How Deprecated Python Library APIs Are (Not) Handled Research Papers Jiawei WangMonash University, Australia, Li LiMonash University, Australia, Kui LiuNanjing University of Aeronautics and Astronautics, China, Haipeng CaiWashington State University, USA DOI | ||
17:07 - 17:08 Talk | LibComp: An IntelliJ Plugin for Comparing Java Libraries Tool Demos Link to publication DOI Pre-print Media Attached | ||
17:09 - 17:10 Talk | Selecting Third-Party Libraries: The Practitioners’ Perspective Research Papers Enrique Larios VargasSoftware Improvement Group, Netherlands, Maurício AnicheDelft University of Technology, Netherlands, Christoph TreudeUniversity of Adelaide, Australia, Magiel BruntinkSoftware Improvement Group, Netherlands, Georgios GousiosFacebook & Delft University of Technology DOI | ||
17:11 - 17:30 Talk | Conversations on APIs Paper Presentations Celeste BarnabyFacebook, Inc., Jiawei WangMonash University, Australia, Juho LindmanUniversity of Gothenburg, Rehab El-HajjUniversity of Alberta, Canada, Tam NguyenAuburn University, USA, M: Massimiliano Di PentaUniversity of Sannio, Italy |