Today's application development process depends heavily on the usage of application programming interfaces (APIs) for many kinds of frameworks. Time spent searching for appropriate API members and understanding their usages tends to occupy much of the time required for the whole development process. This paper proposes a new approach for developing application programs based on APIs in a simple way: through code development by iterating a Search-Select-Superpose (SSS) loop. The approach comprises three phases. In the Search phase, the user searches for a way to implement a desired functionality by combining API calls. The search results are shown to the user as a list of outlines (sets of words) attached to code skeletons. A code skeleton, chosen in the Select phase, is then merged with the program at hand in the Superpose phase. The entire process is implemented through the construction of an indexed dataset composed of code skeletons extracted from open-source repositories, and through the use of a tool to control the SSS loop. We have developed a prototype of the proposed system. In this paper, the design and implementation of the proposed system are described. The effectiveness of the system was confirmed through empirical results from experiments with event-driven Android application development.
A B S T R A C TPrograms in the event-driven style that are typical of mobile and/or Web applications are becoming complex and hard to maintain. For the purpose of reducing the burden put on software developers while reading source code to understand its details, we propose a tool for supporting program understanding, named SAIFU (a tool for Supporting program understanding by Automatic Indexing of Functionalities). SAIFU automatically extracts implemented functionalities from source code and puts annotations to them. SAIFU helps the user grasp the behavior and the structure of a whole program by showing a list of the annotations of functionalities. SAIFU highlights a set of statements of the source code that are related to any functionality on the annotation list so that the user can investigate the implementation details of a particular functionality. Experimental results obtained by applying SAIFU to 16 applications in Google Samples confirm that the tool is effective for finding out important statements from existing Android application programs.
Keywords
API member set frequent pattern mining application development open source repositories Android
A B S T R A C TSearch tools for Application Programming Interface (API) usage patterns extracted from open source repositories could provide useful information for application developers. Unlike ordinary document retrieval, API member sets obtained by mining are often similar to each other and are mixtures of several unimportant and/or irrelevant elements. Thus, an API member set search tool needs to have the ability to extract an essential part of each API member set and to be equipped with an efficient searching interface. We propose a method to improve the searchability of API member sets by utilizing inclusion graphs among API member sets that are automatically extracted from source code. The proposed method incorporates the frequent pattern mining to obtain inclusion graphs and offers the user a way to search appropriate API member sets smoothly and intuitively by using a GUI. In this paper, we describe the details of our method and the design and implementation of the prototype and discuss the usability of the proposed tool.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.