Title :
Exploring the Intent behind API Evolution: A Case Study
Author :
Hou, Daqing ; Yao, Xiaojia
Author_Institution :
Electr. & Comput. Eng., Clarkson Univ., Potsdam, NY, USA
Abstract :
Reuse has significantly improved software productivity and quality. An application interacts with a reused system through its Application Programming Interfaces (API). To make the life of the application developer easier, it is desirable for the API to be both sufficiently powerful and stable. Unfortunately, in reality APIs inevitably change, to be more powerful or to remove design flaws. This may create additional work for the application developer to adapt to the changed API. Thus, to counter the negative impacts of API evolution, we need to study how and why APIs are evolved. To that end, we performed a detailed analysis of the evolution of a production API. In particular, we categorized the changes to the API according to its domain semantics and design intent. We discussed the implications of our findings for both API designers and application developers.
Keywords :
application program interfaces; software quality; software reusability; API evolution; application programming interface; software productivity; software quality; software reusability; Catalogs; Data mining; Documentation; History; Java; Libraries; Production; APIs; Frameworks and libraries; design intent; empirical studies; software evolution;
Conference_Titel :
Reverse Engineering (WCRE), 2011 18th Working Conference on
Conference_Location :
Limerick
Print_ISBN :
978-1-4577-1948-6
DOI :
10.1109/WCRE.2011.24