The anatomy of a large-scale hypertextual Web search engine
WWW7 Proceedings of the seventh international conference on World Wide Web 7
Hubs, authorities, and communities
ACM Computing Surveys (CSUR)
Hipikat: recommending pertinent software development artifacts
Proceedings of the 25th International Conference on Software Engineering
Mining Version Histories to Guide Software Changes
IEEE Transactions on Software Engineering
Hipikat: A Project Memory for Software Development
IEEE Transactions on Software Engineering
Textual Allusions to Artifacts in Software-Related Repositories
Proceedings of the 2006 international workshop on Mining software repositories
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Detection of Duplicate Defect Reports Using Natural Language Processing
ICSE '07 Proceedings of the 29th international conference 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
Determining detailed structural correspondence for generalization tasks
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Predicting vulnerable software components
Proceedings of the 14th ACM conference on Computer and communications security
Scalable detection of semantic clones
Proceedings of the 30th international conference on Software engineering
An approach to detecting duplicate bug reports using natural language and execution information
Proceedings of the 30th international conference on Software engineering
Jigsaw: a tool for the small-scale reuse of source code
Companion of the 30th international conference on Software engineering
Extracting structural information from bug reports
Proceedings of the 2008 international working conference on Mining software repositories
SpotSigs: robust and efficient near duplicate detection in large web collections
Proceedings of the 31st annual international ACM SIGIR conference on Research and development in information retrieval
Introduction to Information Retrieval
Introduction to Information Retrieval
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Using Statistical Models to Predict Software Regressions
ISSRE '08 Proceedings of the 2008 19th International Symposium on Software Reliability Engineering
Factor graphs and the sum-product algorithm
IEEE Transactions on Information Theory
Verification, Testing and Statistics
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Codebook: discovering and exploiting relationships in software repositories
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Automated support for repairing input-model faults
Proceedings of the IEEE/ACM international conference on Automated software engineering
Crowdsourcing suggestions to programming problems for dynamic web development languages
CHI '11 Extended Abstracts on Human Factors in Computing Systems
Which bug should I fix: helping new developers onboard a new project
Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering
BQL: capturing and reusing debugging knowledge
Proceedings of the 33rd International Conference on Software Engineering
Serving information needs in business process consulting
BPM'11 Proceedings of the 9th international conference on Business process management
CJAdviser: SMT-based debugging support for ContextJ
Proceedings of the 3rd International Workshop on Context-Oriented Programming
Deja vu: fingerprinting network problems
Proceedings of the Seventh COnference on emerging Networking EXperiments and Technologies
A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each
Proceedings of the 34th International Conference on Software Engineering
BugRedux: reproducing field failures for in-house debugging
Proceedings of the 34th International Conference on Software Engineering
ReBucket: a method for clustering duplicate crash reports based on call stack similarity
Proceedings of the 34th International Conference on Software Engineering
Healing online service systems via mining historical issue repositories
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Reusing debugging knowledge via trace-based bug search
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Is text search an effective approach for fault localization: a practitioners perspective
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
ACM Transactions on Software Engineering and Methodology (TOSEM)
Search-based duplicate defect detection: an industrial experience
Proceedings of the 10th Working Conference on Mining Software Repositories
Current challenges in automatic software repair
Software Quality Control
Hi-index | 0.00 |
In large software development projects, when a programmer is assigned a bug to fix, she typically spends a lot of time searching (in an ad-hoc manner) for instances from the past where similar bugs have been debugged, analyzed and resolved. Systematic search tools that allow the programmer to express the context of the current bug, and search through diverse data repositories associated with large projects can greatly improve the productivity of debugging This paper presents the design, implementation and experience from such a search tool called DebugAdvisor. The context of a bug includes all the information a programmer has about the bug, including natural language text, textual rendering of core dumps, debugger output etc. Our key insight is to allow the programmer to collate this entire context as a query to search for related information. Thus, DebugAdvisor allows the programmer to search using a fat query, which could be kilobytes of structured and unstructured data describing the contextual information for the current bug. Information retrieval in the presence of fat queries and variegated data repositories, all of which contain a mix of structured and unstructured data is a challenging problem. We present novel ideas to solve this problem. We have deployed DebugAdvisor to over 100 users inside Microsoft. In addition to standard metrics such as precision and recall, we present extensive qualitative and quantitative feedback from our users.