skip to main content
10.1145/1595696.1595766acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

DebugAdvisor: a recommender system for debugging

Published: 24 August 2009 Publication History

Abstract

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.

References

[1]
Infer.NET. http://research.microsoft.com//en-us/um/cambridge/projects/infernet/.
[2]
N. Bettenburg, S. Just, A. Schröter, C. Weiss, R. Premraj, and T. Zimmermann. What makes a good bug report? In FSE 08: Foundations of Software Engineering, pages 308--318, 2008.
[3]
N. Bettenburg, R. Premraj, T. Zimmermann, and S. Kim. Duplicate bug reports considered harmful... really? In ICSM 2008: International Conference on Software Maintenance, pages 337--345, 2008.
[4]
N. Bettenburg, R. Premraj, T. Zimmermann, and S. Kim. Extracting structural information from bug reports. In MSR '08: Mining Software Repositories, pages 27--30, 2008.
[5]
S. Brin and L. Page. The anatomy of a large-scale hypertextual web search engine. Comput. Netw. ISDN Syst., 30(1-7):107--117, 1998.
[6]
S. Budge, N. Nagappan, S. K. Rajamani, and G. Ramalingam. Global software servicing: Observational experiences at Microsoft. In IGCSE 2008: Global Software Engineering, 2008.
[7]
R. Cottrell, J. J. C. Chang, R. J. Walker, and J. Denzinger. Determining detailed structural correspondence for generalization tasks. In FSE 07: Foundations of Software Engineering, pages 165--174, 2007.
[8]
R. Cottrell, R. J. Walker, and J. Denzinger. Jigsaw: a tool for the small-scale reuse of source code. In ICSE Companion 2008, pages 933--934, 2008.
[9]
D. Cubranic and G. C. Murphy. Hipikat: Recommending pertinent software development artifacts. In ICSE 03: International Conference on Software Engineering, pages 406--418, 2003.
[10]
D. Cubranic, G. C. Murphy, J. Singer, and K. S. Booth. Hipikat: A project memory for software development. IEEE Trans. Software Engineering, 31(6):446--465, 2005.
[11]
M. Gabel, L. Jiang, and Z. Su. Scalable detection of semantic clones. In ICSE 08: International Conference on Software Engineering, pages 321--330, 2008.
[12]
N. Jalbert and W. Weimer. Automated duplicate detection for bug tracking systems. In DSN 08: Dependable Systems and Networks, pages 52--61, 2008.
[13]
S. Kim, K. Pan, and E. J. Whitehead. Memories of bug fixes. In FSE 06: Foundations of Software Engineering, pages 35--45, 2006.
[14]
J. M. Kleinberg. Hubs, authorities, and communities. ACM Computing Surveys, 31, 4es, 5, 1999.
[15]
F. R. Kschischang, B. J. Frey, and H. A. Loeliger. Factor graphs and the sum-product algorithm. IEEE Trans. Information Theory, 47(2):498--519, 2001.
[16]
C. D. Manning, P. Raghavan, and H. Schutze. Introduction to Information Retrieval. Cambridge University Press, 2008.
[17]
S. Neuhaus, T. Zimmermann, C. Holler, and A. Zeller. Predicting vulnerable software components. In CCS 07: Computer and Communications Security, 2007.
[18]
P. Runeson, M. Alexandersson, and O. Nyholm. Detection of duplicate defect reports using natural language processing. In ICSE 07: International Conference on Software Engineering, pages 499--510, 2007.
[19]
Z. M. Saul, V. Filkov, P. T. Devanbu, and C. Bird. Recommending random walks. In FSE 07: Foundations of Software Engineering, pages 15--24, 2007.
[20]
A. Tarvo. Using statistical models to predict software regressions. In ISSRE 08: Software Reliability Engineering, pages 259--264, 2008.
[21]
M. Theobald, J. Siddharth, and A. Paepcke. Spotsigs: robust and efficient near duplicate detection in large web collections. In SIGIR 08: Information Retrieval, pages 563--570, 2008.
[22]
G. Venolia. Textual allusions to artifacts in software-related repositories. In MSR 06: Mining software repositories, pages 151--154, 2006.
[23]
X. Wang, L. Zhang, T. Xie, J. Anvik, and J. Sun. An approach to detecting duplicate bug reports using natural language and execution information. In ICSE 08: International Conference on Software Engineering, pages 461--470, 2008.
[24]
T. Zimmermann, P. Weißgerber, S. Diehl, and A. Zeller. Mining version histories to guide software changes. IEEE Trans. Software Eng., 31(6):429--445, 2005.

Cited By

View all
  • (2024)Improving Clinical Decision Making With a Two-Stage Recommender SystemIEEE/ACM Transactions on Computational Biology and Bioinformatics10.1109/TCBB.2023.331820921:5(1180-1190)Online publication date: Sep-2024
  • (2024)A Multi-model Software Defect Recommendation System2024 7th International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I61595.2024.10828979(980-984)Online publication date: 18-Sep-2024
  • (2023)Personalized First Issue Recommender for Newcomers in Open Source Projects2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00158(800-812)Online publication date: 11-Sep-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE '09: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
August 2009
408 pages
ISBN:9781605580012
DOI:10.1145/1595696
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 August 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. debugging
  2. recommendation systems
  3. search

Qualifiers

  • Research-article

Conference

ESEC/FSE09
Sponsor:
ESEC/FSE09: Joint 12th European Software Engineering Conference
August 24 - 28, 2009
Amsterdam, The Netherlands

Acceptance Rates

ESEC/FSE '09 Paper Acceptance Rate 32 of 217 submissions, 15%;
Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)19
  • Downloads (Last 6 weeks)2
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Improving Clinical Decision Making With a Two-Stage Recommender SystemIEEE/ACM Transactions on Computational Biology and Bioinformatics10.1109/TCBB.2023.331820921:5(1180-1190)Online publication date: Sep-2024
  • (2024)A Multi-model Software Defect Recommendation System2024 7th International Conference on Contemporary Computing and Informatics (IC3I)10.1109/IC3I61595.2024.10828979(980-984)Online publication date: 18-Sep-2024
  • (2023)Personalized First Issue Recommender for Newcomers in Open Source Projects2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00158(800-812)Online publication date: 11-Sep-2023
  • (2022)ReCDroid+: Automated End-to-End Crash Reproduction from Bug Reports for Android AppsACM Transactions on Software Engineering and Methodology10.1145/348824431:3(1-33)Online publication date: 7-Mar-2022
  • (2022)Hits and Misses: Newcomers' ability to identify Skills needed for OSS tasks2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER53432.2022.00032(174-183)Online publication date: Mar-2022
  • (2022)Technologies for GQM-Based Metrics Recommender Systems: A Systematic Literature ReviewIEEE Access10.1109/ACCESS.2022.315239710(23098-23111)Online publication date: 2022
  • (2022)A Literature Review on Automated Code RepairProceedings of the 2nd International Conference on Recent Trends in Machine Learning, IoT, Smart Cities and Applications10.1007/978-981-16-6407-6_23(249-260)Online publication date: 10-Jan-2022
  • (2021)Analytical Study on Bug Triaging PracticesResearch Anthology on Recent Trends, Tools, and Implications of Computer Programming10.4018/978-1-7998-3016-0.ch049(1068-1094)Online publication date: 2021
  • (2021)Being a Mentor in open source projectsJournal of Internet Services and Applications10.1186/s13174-021-00140-z12:1Online publication date: 9-Sep-2021
  • (2021)Recommending Bug-fixing Comments from Issue Tracking Discussions in Support of Bug Repair2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC)10.1109/COMPSAC51774.2021.00114(812-823)Online publication date: Jul-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media