Program understanding: challenge for the 1990's
IBM Systems Journal
ACM Computing Surveys (CSUR)
Undecidability of static analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
Supporting the construction and evolution of component repositories
Proceedings of the 18th international conference on Software engineering
An empirical study of static call graph extractors
ACM Transactions on Software Engineering and Methodology (TOSEM)
Application of Spreading Activation Techniques in InformationRetrieval
Artificial Intelligence Review
The anatomy of a large-scale hypertextual Web search engine
WWW7 Proceedings of the seventh international conference on World Wide Web 7
Managing gigabytes (2nd ed.): compressing and indexing documents and images
Managing gigabytes (2nd ed.): compressing and indexing documents and images
Supporting reuse by delivering task-relevant and personalized information
Proceedings of the 24th International Conference on Software Engineering
Component rank: relative significance rank for software component search
Proceedings of the 25th International Conference on Software Engineering
Assessing the relevance of identifier names in a legacy software system
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
Archetypal Source Code Searches: A Survey of Software Developers and Maintainers
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Precise Call Graphs for C Programs with Function Pointers
Automated Software Engineering
Eye-tracking analysis of user behavior in WWW search
Proceedings of the 27th annual international ACM SIGIR conference on Research and development in information retrieval
An Information Retrieval Approach to Concept Location in Source Code
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
Reuse-Conducive Development Environments
Automated Software Engineering
Using structural context to recommend source code examples
Proceedings of the 27th international conference on Software engineering
Jungloid mining: helping to navigate the API jungle
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Ranking Significance of Software Components Based on Use Relations
IEEE Transactions on Software Engineering
Hipikat: A Project Memory for Software Development
IEEE Transactions on Software Engineering
Automatic generation of suggestions for program investigation
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
The social network of Java classes
Proceedings of the 2006 ACM symposium on Applied computing
Google's PageRank and Beyond: The Science of Search Engine Rankings
Google's PageRank and Beyond: The Science of Search Engine Rankings
XSnippet: mining For sample code
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Mica: A Web-Search Tool for Finding API Components and Examples
VLHCC '06 Proceedings of the Visual Languages and Human-Centric Computing
Representing concerns in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Approximate Structural Context Matching: An Approach to Recommend Relevant Examples
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Scents in Programs: Does Information Foraging Theory Apply to Program Maintenance?
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
A comparison of statistical significance tests for information retrieval evaluation
Proceedings of the sixteenth ACM conference on Conference on information and knowledge management
Exploring the neighborhood with dora to expedite software maintenance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Answering conceptual queries with Ferret
Proceedings of the 30th international conference on Software engineering
Introduction to Information Retrieval
Introduction to Information Retrieval
Code Conjurer: Pulling Reusable Software out of Thin Air
IEEE Software
Asking and Answering Questions during a Programming Change Task
IEEE Transactions on Software Engineering
Automatic identification of key classes in a software system using webmining techniques
Journal of Software Maintenance and Evolution: Research and Practice
Automated Software Engineering
SNIFF: A Search Engine for Java Using Free-Form Queries
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Automatically capturing source code context of NL-queries for software maintenance and reuse
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Mining source code to automatically split identifiers for software analysis
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
Mining search topics from a code search engine usage log
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
Reactive information foraging for evolving goals
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Using information fragments to answer the questions developers ask
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
A search engine for finding highly relevant applications
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Using Data Fusion and Web Mining to Support Feature Location in Software
ICPC '10 Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension
Leveraging usage similarity for effective retrieval of examples in code repositories
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Investigating how to effectively combine static concern location techniques
Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation
Portfolio: finding relevant functions and their usage
Proceedings of the 33rd International Conference on Software Engineering
How Well Do Search Engines Support Code Retrieval on the Web?
ACM Transactions on Software Engineering and Methodology (TOSEM)
Finding a needle in the haystack: a technique for ranking matches between components
CBSE'05 Proceedings of the 8th international conference on Component-Based Software Engineering
Concept location using formal concept analysis and information retrieval
ACM Transactions on Software Engineering and Methodology (TOSEM)
Exemplar: A Source Code Search Engine for Finding Highly Relevant Applications
IEEE Transactions on Software Engineering
How Programmers Debug, Revisited: An Information Foraging Theory Perspective
IEEE Transactions on Software Engineering
Topology analysis of software dependencies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 12th international conference on Generative programming: concepts & experiences
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Different studies show that programmers are more interested in finding definitions of functions and their uses than variables, statements, or ordinary code fragments. Therefore, developers require support in finding relevant functions and determining how these functions are used. Unfortunately, existing code search engines do not provide enough of this support to developers, thus reducing the effectiveness of code reuse. We provide this support to programmers in a code search system called Portfolio that retrieves and visualizes relevant functions and their usages. We have built Portfolio using a combination of models that address surfing behavior of programmers and sharing related concepts among functions. We conducted two experiments: first, an experiment with 49 C/C++ programmers to compare Portfolio to Google Code Search and Koders using a standard methodology for evaluating information-retrieval-based engines; and second, an experiment with 19 Java programmers to compare Portfolio to Koders. The results show with strong statistical significance that users find more relevant functions with higher precision with Portfolio than with Google Code Search and Koders. We also show that by using PageRank, Portfolio is able to rank returned relevant functions more efficiently.