| |
| Recommending APIs for Software Evolution | 
| Ferdian THUNG PhD Candidate
School of Information Systems
Singapore Management University
| Research Area
Dissertation Committee Chairman Committee Members |
| | Date
December 13, 2017 (Wednesday) | Time
10.30am - 11.30am | Venue
Meeting Room 4.4, Level 4,
School of Information Systems Singapore Management University
80 Stamford Road
Singapore 178902 | We look forward to seeing you at this research seminar. 
|
|
|
| | About The Talk Softwares are constantly evolving. This evolution has been made easier through the use of Application Programming Interfaces (APIs). By leveraging APIs, developers reuse previously implemented functionalities and concentrate on writing new codes. These APIs may originate from either third parties or internally from other components of the software that are currently developed. In the first case, developers need to know how to find and use third party APIs. In the second case, developers need to be aware of internal APIs in their own software. In either case, there is often too much information to digest. For instance, finding the right APIs may require sifting through many different APIs and learning them one by one, which can easily cost a large amount of time. Also, as the software becomes bigger and more complex, developers may not be aware of all functionalities available in their software. To deal with the above-mentioned difficulties, we propose API recommendation approaches for software evolution. We have developed three approaches in this direction. The first two approaches assist developers in using third party APIs while the third approach assists developers in evolving their software according to changes in internal APIs. Our first approach deals with a problem of finding the right API libraries for implementing new software features. Our second approach deals with the subsequent problem after finding the right API libraries, which is finding the right API methods to be used for implementing the new software features. Our third work deals with a problem of evolving an older software version to contain features and/or bug fixes that are added in the newer software version. This is necessary since some softwares maintain many different versions. One such software is Linux kernel, which we studied in our work. | Speaker Biography Ferdian THUNG is a PhD candidate at School of Information Systems, Singapore Management University advised by Associate Professor David Lo. He received his B.Eng. in Informatics Engineering from School of Electrical Engineering and Informatics, Bandung Institute of Technology in 2011. From August 2015 to May 2016, he visited the Institute for Software Research in CMU. His research interests are in software engineering and data mining area. He has been working on automated prediction techniques, recommendation systems, and empirical studies in software engineering. |
|