1st International Workshop on API Usage and Evolution

("La Boca" by Ester Inbar. Available from Attribution through Wikimedia Commons)

WAPI’17 is now over. You can check Sven Amann’s blog for a summary of all the talks and discussions.

See you next year!

WAPI was held on Tuesday May 23rd 2017, co-located with the 39th International Conference on Software Engineering (ICSE 2017) in Buenos Aires, Argentina.

Follow us on Twitter @wapi2018 and spread the word with #wapi17!


Session 1: Opening & Keynote

9:00 - 9:15
Workshop Opening & Introductions
9:15 - 10:30
Human-centered Methods for Improving API Usability
Workshop Keynote by Brad Myers (CMU)
See the slides
Read Sven Amann’s summary of the talk.
10:30 - 11
Coffee Break

Session 2: API Specification and Usage

Session Chair
Thomas LaToza

11:00 - 11:25
On the Role of Fitness Dimensions in API Design Assessment - An Empirical Investigation
by Amir Zghidi, Imed Hammouda, Brahim Hnich, and Eric Knauss (University of Monastir, Chalmers and University of Gothenburg)
See the slides.
Read Sven Amann’s summary of the talk.
11:25 - 11:50
“API Usage in Descriptions of Source Code Functionality”
by Paige Rodeghero, Collin McMillan, and Abigail Shirey (University of Notre Dame)
Read Sven Amann’s summary of the talk.
11:50 - 12:15
Opportunities in Software Engineering Research for Web API Consumption
by Erik Wittern, Annie T.T. Ying, Yunhui Zheng, Jim A. Laredo, Julian Dolby, Chris Young and Aleksander Slominski (IBM Research, IBM T. J. Watson Research Center)
See the slides.
Read Sven Amann’s summary of the talk.
12:15 - 12:30
Discussion of presented topics & listing of open questions/topics for Session 4
12:30 - 2:00
Lunch Break

Session 3: API Evolution

Session Chair
Annie Ying

2:00 - 2:45
“API Evolution and Migration at Google”
Industry talk by Hyrum Wright (Google)
Abstract: Google’s 30,000 engineers actively maintain 2 billion lines of source code in a single source repository. Typical software is built and released from head. Within Google, no individual API is considered immutable, and dedicated teams are responsible for improving APIs and migrating API users to newer versions. At Google-scale—tens or hundreds of thousands of symbol references—automated techniques are required to provide high confidence in migration correctness and safety, while allowing API maintainers the ability to make advances.
In this talk, I’ll discuss how Google engineers evolve and maintain current APIs to prevent interfaces from calcifying. I’ll discuss the reasons we undertake large-scale API migrations, and some of the tools we use to do so. I’ll also present some of the outstanding problems we face when doing API migrations, and how we are trying to scale the process even further.
Read Sven Amann’s summary of the talk.
2:45 - 3:10
Mining Motivated Trends of Usage of Haskell Libraries
by Marc Juchli, Lars Krombeen, Shashank, Chak Shun Yu, Anand Ashok Sawant, Alberto Bacchelli (Delft University of Technology)
See the slides.
Read Sven Amann’s summary of the talk.
3:10 - 3:30
Type Checking for Reliable APIs
by Maria Kechagia and Diomidis Spinellis (Athens University of Economics and Business)
See the slides.
Read Sven Amann’s summary of the talk.
3:30 - 4:00
Coffee Break

Session 4: Open Discussion

4:00 - 4:15
Add extra topics for discussions from Session 3
4:15 - 5:15
Breakout sessions & discussion of open topics
Read Sven Amann’s summary of the discussions.
5:15 - 5:30
Workshop closing

Call for Papers

Application Programming Interfaces (APIs) are an essential mechanism for software reuse. However, over the past two decades, many researchers have shown inherent problems with APIs, such as the lack of useful documentation for proper use, incorrect usage of APIs that lead to bugs and security vulnerability, and difficulties in migrating between API versions. While previous efforts in solving these problems have advanced the state of the art, many of these issues still exist today. We believe it is time to reflect and compare experiences from different perspectives and to come up with new solutions to the above challenges.

The 1st International Workshop on API Usage and Evolution (WAPI) will be co-located with the 39th International Conference on Software Engineering (ICSE 2017) in Buenos Aires, Argentina. WAPI provides a venue for researchers and practitioners to come together and discuss the open challenges that API users and designers face. For example, how can we measure the quality of an API? How can we accurately rely on client code for identifying patterns when the rule of “the majority do it right” does not always hold (e.g., in security-related APIs)? What is the best way to present API recommendations and API usages to a developer? How can we measure or improve the usability of an API? The goal of the workshop is to identify the current open challenges in the area and define a roadmap for innovative solutions.


Topics of interest include, but are not limited to:

  • API quality metrics
  • API usage patterns
  • API misuse detection
  • API specification/documentation
  • Support for evolution of API documentation
  • API usability & design
  • API evolution and migration
  • Library/framework recommendations
  • Leveraging different sources of data to perform any of the above tasks
  • Suitable representations for usage patterns
  • User-friendly ways of presenting API and API-usage recommendations to the developer
  • User perspectives of API usage and evolution
  • Designer perspectives of API design and evolution
  • Negative experiences (what did not work)
  • Identification of open challenges and proposed solutions
  • Synergies between API challenges and other research areas

Submission Information

WAPI 2017 invites contributions in the form of 4-page papers from both researchers and practitioners, as well as talk abstracts from practitioners. Paper submissions can be research papers, practice papers, position papers, or experience reports. All submissions should describe unpublished work and must have been neither previously accepted for publication nor concurrently submitted for review in another journal, book, conference, or workshop. All submissions are peer-reviewed and accepted papers will appear in the workshop proceedings. All submissions should be made through EasyChair.

Important Dates

Submissions due
Friday January 20th 2017

Friday January 27th 2017

Notification to authors
Friday February 17th 2017
Camera-ready copies due
Monday February 27th 2017


Program Committee

  • Abram Hindle, University of Alberta
  • Reid Holmes, University of British Columbia
  • Christian Kästner, Carnegie Mellon University
  • Rob Walker, University of Calgary
  • Sebastian Proksch, TU Darmstadt
  • Luca Ponzanelli, University of Lugano
  • Nikolaos Tsantalis, Concordia University
  • Annie T.T. Ying, IBM T. J. Watson Research Center
  • Collin McMillan, University of Notre Dame
  • Latifa Guerrouj, École de Technologie Supérieure
  • Ian Kelly, Code Pilot (CA Accelerator)
  • Hyrum Wright, Google