Loading...
APIS’ Evolution Comprehension Via Analyzing the Q&As in the Stack Overflow Website
Taghavi, Samira | 2016
718
Viewed
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 49046 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Heydarnoori, Abbas
- Abstract:
- Client applications are often developed with the help of software frameworks in order to reduce the development costs and to increase the software quality. However, frameworks may evolve to add new features or to fix bugs, and thus, their APIs may change at the same time. Nevertheless, these API changes can cause the client applications to not work properly. New frameworks typically use the deprecation mechanism to reduce this effect, but their documents often do not provide sufficient information. Consequently, deprecated APIs usages remain unresolved in client applications. To tackle this issue, we introduce ARFES (Automated Recommender of Framework Evolution Solutions) that provides change rules and recommends guidelines by processing the Q&As in the Stack Overflow website. The discussions in the Stack Overflow website are a valuable source of information about programming issues including the APIs evolutions. To this end, ARFES benefits from natural language text processing and graph-based approaches in order to extract the change rules, and the machine learning techniques to recommend guidelines. We evaluated the approach for 137 APIs from the Android, Swing, and Spring frameworks. Based on our evaluations, the precision of ARFES in detecting the change rules is more than 93% and the recall is more than 76.6%. Furthermore, the precision of ARFES in recommending guidelines based on 1255 documents from the Stack Overflow is 89% and the recall is 93%. Also in a user study, 19 programmers evaluate ARFES as a useful tool in practice
- Keywords:
- Machine Learning ; Natural Language Processing ; Community Based Question and Answering (CQA) Sites ; Object-Oriented Application Frameworks ; Software Frameworks Evolution ; Deprecated APIs ; Stack Overflow Websites
-
محتواي کتاب
- view