ABSTRACT
Large open source software repositories are polluted with incomplete or inadequately functioning projects having scarce or poor descriptions. Developers often search these repositories to find sample applications containing implementations of relevant features. While relying on software search engines that retrieve germane applications based on direct matches between user queries and words in the descriptions (or source code files), it is difficult to warrant that retrieved applications contain functionality described by their authors in project summaries.
We propose a novel approach called K9 that helps users evaluate if recommended applications implement functionality, which is described by the authors in project summaries. Using programmers' queries describing high-level concepts (e.g., sql server, floating toolbar, or smart card), K9 uses information retrieval and program analysis techniques to evaluate recommended applications based on how they implement these high-level concepts. We conjecture that K9 will effectively support developers in evaluating functionality of the retrieved applications.
- Biggerstaff, T. J., Mitbander, B. G., and Webster, D. E. The Concept Assignment Problem in Program Understanding in Proceedings of 15th IEEE/ACM International Conference on Software Engineering (ICSE'94) (May 17--21, 1994), 482--498. Google ScholarDigital Library
- Cottrell, R., Walker, R., and Denzinger, J. Jigsaw: A tool for small-scale source code reuse in Proceedings of 30th IEEE/ACM International Conference on Software Engineering (ICSE'08) (2008), 933--934. Google ScholarDigital Library
- Cubranic, D., Murphy, G. C., Singer, J., and Booth, K. S. Hipikat: A Project Memory for Software Development. IEEE Transactions on Software Engineering, 31, 6 (June 2005), 446--465. Google ScholarDigital Library
- Henninger, S. Supporting the construction and evolution of component repositories in Proceedings of 18th IEEE/ACM International Conference on Software Engineering (ICSE'96) (1996), 279--288. Google ScholarDigital Library
- Holmes, R. and Murphy, G. C. Using structural context to recommend source code examples in Proceedings of 27th International Conference on Software Engineering (ICSE'05) (2005), 117-- 125. Google ScholarDigital Library
- Holmes, R. and Walker, R. Supporting the investigation and planning of pragmatic reuse tasks in Proceedings of 29th IEEE/ACM International Conference on Software Engineering (ICSE'07) (2007), 447--457. Google ScholarDigital Library
- Howison, J. and Crowston, K. The perils and pitfalls of mining SourceForge in Proceedings of 1st International Workshop on Mining Software Repositories (MSR'04) (2004). Google ScholarDigital Library
- Little, G. and Miller, R. C. Keyword programming in java in Proceedings of 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE'07) (Atlanta, GA, 2007), 84--93. Google ScholarDigital Library
- Mandelin, D., Xu, L., Bodík, R., and Kimelman, D. Jungloid mining: helping to navigate the API jungle in Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'05) (2005), 48--61. Google ScholarDigital Library
- Poshyvanyk, D., Guéhéneuc, Y. G., Marcus, A., Antoniol, G., and Rajlich, V. Feature Location using Probabilistic Ranking of Methods based on Execution Scenarios and Information Retrieval. IEEE Transactions on Software Engineering, 33, 6 (June 2007), 420--432. Google ScholarDigital Library
- Robillard, M. Automatic Generation of Suggestions for Program Investigation in Proceedings of Joint European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (Lisbon, Portugal, September, 2005), 11--20 Google ScholarDigital Library
- Sahavechaphan, N. and Claypool, K. XSnippet: mining For sample code in Proceedings of Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'06) (2006), 413--430. Google ScholarDigital Library
- Shepherd, D., Fry, Z., Gibson, E., Pollock, L., and Vijay-Shanker, K. Using Natural Language Program Analysis to Locate and Understand Action-Oriented Concerns in Proceedings of International Conference on Aspect Oriented Software Development (AOSD'07) (2007), 212--224. Google ScholarDigital Library
- Stylos, J. and Myers, B. A. Mica: A Web-Search Tool for Finding API Components and Examples in Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing (2006), 195--202. Google ScholarDigital Library
- Thummalapenta, S. and Xie, T. Parseweb: a Programmer Assistant for Reusing Open Source Code on the Web in Proceedings of 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE '07) (Atlanta, GA, 2007), 204--213. Google ScholarDigital Library
- Ye, Y. and Fischer, G. Reuse-Conducive Development Environments. Journal Automated Software Engineering, 12, 2 (2005), 199--235. Google ScholarDigital Library
- Zhao, W., Zhang, L., Liu, Y., Sun, J., and Yang, F. SNIAFL: Towards a Static Non-interactive Approach to Feature Location. ACM Transactions on Software Engineering and Methodologies (TOSEM), 15, 2 (2006), 195--226. Google ScholarDigital Library
Index Terms
- Evaluating recommended applications
Recommendations
An evolutionary approach to constructing effective software reuse repositories
Repositories for software reuse are faced with two interrelated problems: (1) acquiring the knowledge to initially construct the repository and (2) modifying the repository to meet the evolving and dynamic needs of software development organizations. ...
Facilitating the comparison of software retrieval systems through a reference reuse collection
SUITE '10: Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and EvaluationAlthough the idea of component-based software reuse has been around for more than four decades the technology for retrieving reusable software artefacts has grown out of its infancy only recently. After about 30 years of basic research in which ...
Luandri: A Clean Lua Interface to the Indri Search Engine
SIGIR '17: Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information RetrievalIn recent years, the information retrieval (IR) community has witnessed the first successful applications of deep neural network models to short-text matching and ad-hoc retrieval tasks. However, the two communities - focused on deep neural networks and ...
Comments