ACM Computing Surveys (CSUR)
Program understanding and the concept assignment problem
Communications of the ACM
Supporting the construction and evolution of component repositories
Proceedings of the 18th international conference on Software engineering
Usability Engineering
DARE: Domain analysis and reuse environment
Annals of Software Engineering
A Computer-Aided Prototyping System
IEEE Software
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Hipikat: A Project Memory for Software Development
IEEE Transactions on Software Engineering
Evaluating similarity measures: a large-scale study in the orkut social network
Proceedings of the eleventh ACM SIGKDD international conference on Knowledge discovery in data mining
An Approach to Constructing Feature Models Based on Requirements Clustering
RE '05 Proceedings of the 13th IEEE International Conference on Requirements Engineering
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
Google's PageRank and Beyond: The Science of Search Engine Rankings
Google's PageRank and Beyond: The Science of Search Engine Rankings
Mica: A Web-Search Tool for Finding API Components and Examples
VLHCC '06 Proceedings of the Visual Languages and Human-Centric Computing
The relationship between IR effectiveness measures and user satisfaction
SIGIR '07 Proceedings of the 30th annual international ACM SIGIR conference on Research and development in information retrieval
A comparison of statistical significance tests for information retrieval evaluation
Proceedings of the sixteenth ACM conference on Conference on information and knowledge management
CodeGenie: using test-cases to search and reuse source code
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Opportunistic programming: how rapid ideation and prototyping occur in practice
Proceedings of the 4th international workshop on End-user software engineering
Introduction to Information Retrieval
Introduction to Information Retrieval
On-Demand Cluster Analysis for Product Line Functional Requirements
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
An Exploratory Study of Information Retrieval Techniques in Domain Analysis
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Two studies of opportunistic programming: interleaving web foraging, learning, and writing code
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Sourcerer: mining and searching internet-scale software repositories
Data Mining and Knowledge Discovery
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Enhancing Stakeholder Profiles to Improve Recommendations in Online Requirements Elicitation
RE '09 Proceedings of the 2009 17th IEEE International Requirements Engineering Conference, RE
Example-centric programming: integrating web search into the development environment
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Collaborative filtering recommender systems
The adaptive web
A search engine for finding highly relevant applications
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Approximation Algorithms
Portfolio: finding relevant functions and their usage
Proceedings of the 33rd International Conference on Software Engineering
On-demand feature recommendations derived from mining public product descriptions
Proceedings of the 33rd International Conference on Software Engineering
SCuV: a novel software clustering and visualization tool
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
SNIPR: complementing code search with code retargeting capabilities
Proceedings of the 2013 International Conference on Software Engineering
Do software categories impact coupling metrics?
Proceedings of the 10th Working Conference on Mining Software Repositories
Mining and recommending software features across multiple web repositories
Proceedings of the 5th Asia-Pacific Symposium on Internetware
Hi-index | 0.00 |
Rapid prototypes are often developed early in the software development process in order to help project stakeholders explore ideas for possible features, and to discover, analyze, and specify requirements for the project. As prototypes are typically thrown-away following the initial analysis phase, it is imperative for them to be created quickly with little cost and effort. Tool support for finding and reusing components from open-source repositories offers a major opportunity to reduce this manual effort. In this paper, we present a system for rapid prototyping that facilitates software reuse by mining feature descriptions and source code from open-source repositories. Our system identifies and recommends features and associated source code modules that are relevant to the software product under development. The modules are selected such that they implement as many of the desired features as possible while exhibiting the lowest possible levels of external coupling. We conducted a user study to evaluate our approach and results indicated that it returned packages that implemented more features and were considered more relevant than the state-of-the-art approach.