The Community for Technology Leaders
2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE) (2017)
Urbana, IL, USA
Oct. 30, 2017 to Nov. 3, 2017
ISBN: 978-1-5386-3976-4
pp: 967-972
Muhammad Asaduzzaman , Department of Computer Science, University of Saskatchewan, Canada
Chanchal K. Roy , Department of Computer Science, University of Saskatchewan, Canada
Kevin A. Schneider , Department of Computer Science, University of Saskatchewan, Canada
Daqing Hou , Electrical and Computer Engineering Department, Clarkson University, USA
ABSTRACT
Software frameworks enable developers to reuse existing well tested functionalities instead of taking the burden of implementing everything from scratch. However, to meet application specific requirements, the frameworks need to be customized via extension points. This is often done by passing a framework related object as an argument to an API call. To enable such customizations, the object can be created by extending a framework class, implementing an interface, or changing the properties of the object via API calls. However, it is both a common and non-trivial task to find all the details related to the customizations. In this paper, we present a tool, called FEMIR, that utilizes partial program analysis and graph mining technique to detect, group, and rank framework extension examples. The tool extends existing code completion infrastructure to inform developers about customization choices, enabling them to browse through extension points of a framework, and frequent usages of each point in terms of code examples. A video demo is made available at https://asaduzzamanparvez.wordpress.com/femir.
INDEX TERMS
Tools, Receivers, Proposals, Java, Indexes, Tree data structures
CITATION

M. Asaduzzaman, C. K. Roy, K. A. Schneider and D. Hou, "FEMIR: A tool for recommending framework extension examples," 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), Urbana, IL, USA, 2017, pp. 967-972.
doi:10.1109/ASE.2017.8115713
361 ms
(Ver 3.3 (11022016))