Loading...

EXAF: A search engine for sample applications of object-oriented framework-provided concepts

Noei, E ; Sharif University of Technology

652 Viewed
  1. Type of Document: Article
  2. DOI: 10.1016/j.infsof.2016.03.007
  3. Publisher: Elsevier
  4. Abstract:
  5. Object-oriented application frameworks, such as Java Swing, provide reusable code and design for implementing domain-specific concepts, such as Context Menu, in software applications. Hence, use of such frameworks not only can decrease the time and the cost of developing new software applications, but also can increase their maintainability. However, the main problems of using object-oriented application frameworks are their large and complex APIs, and often incomplete user manuals. To mitigate these problems, developers often try to learn how to implement their desired concepts from available sample applications. Nonetheless, this introduces another hard and time-consuming challenge which is finding proper sample applications. Objective: To address this difficulty, we introduce EXAF (EXample Applications Finder) that helps developers find sample applications which implement their desired framework-provided concepts. Method: The majority of existing framework comprehension approaches can only help programmers to get familiar with the usage of particular fine-grained API elements of the desired framework such as its classes and methods. Nevertheless, our approach is able to find sample applications that implement a particular framework-provided concept. To this end, EXAF benefits from the Latent Semantic Indexing (LSI) information retrieval technique. We evaluated the approach using 24 concepts on top of the Microsoft.Net, Qt, and Java Swing frameworks. Results: Based on our evaluations, the precision of EXAF is more than 79%. Besides, it can find some sample applications that could not be found by common code search engines such as the ones which are used in SourceForge and Google Code. Conclusions: The results of our evaluations indicate that EXAF is effective in practice, and yields better search results because it considers various artifacts of a project like user reviews and bug reports
  6. Keywords:
  7. Object-oriented application frameworks ; Application programming interfaces (API) ; Application programs ; Codes (symbols) ; Computer software ; Computer software reusability ; Java programming language ; Search engines ; Semantics ; Code search engine ; Framework-provided concepts ; Frameworks comprehension ; Object oriented application ; Sample applications ; Object oriented programming
  8. Source: Information and Software Technology ; Volume 75 , 2016 , Pages 135-147 ; 09505849 (ISSN)
  9. URL: http://www.sciencedirect.com/science/article/pii/S0950584916300532