• Corpus ID: 52986197

Orca: Differential Bug Localization in Large-Scale Services

@inproceedings{Bhagwan2018OrcaDB,
  title={Orca: Differential Bug Localization in Large-Scale Services},
  author={Ranjita Bhagwan and Rahul Kumar and Chandra Shekhar Maddila and Adithya Abraham Philip},
  booktitle={OSDI},
  year={2018}
}
Today, we depend on numerous large-scale services for basic operations such as email. These services are complex and extremely dynamic as developers continuously commit code and introduce new features, fixes and, consequently, new bugs. Hundreds of commits may enter deployment simultaneously. Therefore one of the most time-critical, yet complex tasks towards mitigating service disruption is to localize the bug to the right commit. This paper presents the concept of differential bug… 

Figures and Tables from this paper

Scaffle: bug localization on millions of files
TLDR
Scaffle is presented, the first scalable bug localization technique, based on the key insight to divide the problem into two easier sub-problems, and improves over several baseline approaches, including an existing classification-based approach, a scalable variant of existing information retrieval-based approaches, and a set of hand-tuned, industrially deployed heuristics.
Rex: Preventing Bugs and Misconfiguration in Large Services Using Correlated Change Analysis
TLDR
Rex is a tool that, using a combination of machine-learning and program analysis, learns change-rules that capture correlations between code and configuration that emerge organically in large services.
Adapting bug prediction models to predict reverted commits at Wayfair
TLDR
This work adapts prior work on features extracted from the revision history of a codebase that are typically used in bug prediction to the related problem of predicting whether a commit is likely to be reverted, which allows developers to find time-sensitive bugs in production more quickly.
Demystifying the challenges and benefits of analyzing user-reported logs in bug reports
TLDR
This paper conducts an empirical study on the challenges that developers may encounter when analyzing the user-provided logs and their benefits, and highlights possible future research directions to better help practitioners attach or analyze logs in bug reports.
Pathidea: Improving Information Retrieval-Based Bug Localization by Re-Constructing Execution Paths Using Logs
TLDR
An IRBL approach, Pathidea, which leverages logs in bug reports to re-construct execution paths and helps improve the results of bug localization and conducts a parameter sensitivity analysis and provides recommendations on setting the parameter values when applying PathideA.
Keeping Master Green at Scale
TLDR
The design and implementation of SubmitQueue guarantees an always green master branch at scale: all build steps successfully execute for every commit point.
Testing Configuration Changes in Context to Prevent Production Failures
TLDR
The idea behind ctests is simple—connecting production system configurations to software tests so that configuration changes can be tested in the context of code affected by the changes, and it effectively detects real-world failure-inducing configuration changes, diverse injected mis configurationurations and misconfigurations in the deployed files.
Building Sankie: An AI Platform for DevOps
TLDR
Sankie provides all the necessary infrastructure to ingest data from repositories and services, train models based on the data, and eventually perform decorations or provide information to engineers to help increase the velocity and throughput of changes, bug fixes etc.
PTracer: A Linux Kernel Patch Trace Bot
TLDR
PTracer, a Linux kernel patch trace bot based on an improved PatchNet has been successfully applied to a commercial operating system and has the advantages of improving software quality and saving labor cost.
Studying and Leveraging User-Provided Logs in Bug Reports for Debugging Assistance
TLDR
Studying and Leveraging User-Provided Logs in Bug Reports for Debugging Assistance and using them for debugging assistance is studied.
...
1
2
...

References

SHOWING 1-10 OF 51 REFERENCES
AmaLgam+: Composing Rich Information Sources for Accurate Bug Localization
TLDR
A method for locating relevant buggy files that puts together fives sources of information, namely, version history, similar reports, structure, stack traces, and reporter information is proposed, which performs a large‐scale experiment on four open source projects to localize more than 3000 bugs.
Bug Localization Based on Code Change Histories and Bug Reports
TLDR
BLIA, a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories is proposed.
Analyzing Requirements and Traceability Information to Improve Bug Localization
  • M. Rath, D. Lo, Patrick Mäder
  • Computer Science
    2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR)
  • 2018
TLDR
This paper proposes a novel approach TraceScore that also utilizes projects' requirements information and explicit dependency trace links to further close the gap in order to relate a new bug report to defective source code files.
Where should the bugs be fixed? More accurate information retrieval-based bug localization based on bug reports
TLDR
The results show that BugLocator can effectively locate the files where the bugs should be fixed, and outperforms existing state-of-the-art bug localization methods.
Differential static analysis: opportunities, applications, and challenges
TLDR
It is speculated that differential static analysis tools have the potential to be widely deployed on the developer's toolbox despite the fundamental stumbling blocks that limit the adoption of static analysis.
DebugAdvisor: a recommender system for debugging
TLDR
Investigation of large software development projects, when a programmer is assigned a bug to fix, she typically spends a lot of time searching for instances from the past where similar bugs have been debugged, analyzed and resolved, this paper presents the design, implementation and experience from a search tool called DebugAdvisor.
HOLMES: Effective statistical debugging via efficient path profiling
TLDR
Results indicate that path profiles can help isolate bugs more precisely by providing more information about the context in which bugs occur, and bug-directed profiling can efficiently isolate bugs with low overheads, providing a scalable and accurate alternative to sparse random sampling.
Differential symbolic execution
TLDR
A novel extension and application of symbolic execution techniques that computes a precise behavioral characterization of a program change that exploits the fact that program versions are largely similar to reduce cost and improve the quality of analysis results is introduced.
lprof: A Non-intrusive Request Flow Profiler for Distributed Systems
Applications implementing cloud services, such as HDFS, Hadoop YARN, Cassandra, and HBase, are mostly built as distributed systems designed to scale. In order to analyze and debug the performance of
Scalable statistical bug isolation
TLDR
A statistical debugging algorithm that isolates bugs in programs containing multiple undiagnosed bugs and identifies predictors that are associated with individual bugs that reveal both the circumstances under which bugs occur as well as the frequencies of failure modes, making it easier to prioritize debugging efforts.
...
1
2
3
4
5
...