Hierarchical Usage Context for Software Exceptions
The primary objective is to provide usage contexts for software faults manifested as software exceptions. The modelling tools are unsupervised probabilistic graphical models. The datasets of interest are the combination of interaction traces and software crash reports. The output of the models includes a tree or a hierarchy of usage contexts and the probabilistic association of software exceptions to the tree of contexts, which contributes to a debugging methodology called “debugging in the large”, a postmortem analysis of large amount of usage data to recognize patterns of bugs.
Related Publications
2019
Modeling hierarchical usage context for software exceptions based on interaction data
Hui Chen, Kostadin Damevski, David Shepherd, and 1 more author
Traces of user interactions with a software system, captured in production, are commonly used as an input source for user experience testing. In this paper, we present an alternative use, introducing a novel approach of modeling user interaction traces enriched with another type of data gathered in production—software fault reports consisting of software exceptions and stack traces. The model described in this paper aims to improve developers’ comprehension of the circumstances surrounding a specific software exception and can highlight specific user behaviors that lead to a high frequency of software faults. Modeling the combination of interaction traces and software crash reports to form an interpretable and useful model is challenging due to the complexity and variance in the combined data source. Therefore, we propose a probabilistic unsupervised learning approach, adapting the nested hierarchical Dirichlet process, which is a Bayesian non-parametric hierarchical topic model originally applied to natural language data. This model infers a tree of topics, each of whom describes a set of commonly co-occurring commands and exceptions. The topic tree can be interpreted hierarchically to aid in categorizing the numerous types of exceptions and interactions. We apply the proposed approach to large scale datasets collected from the ABB RobotStudio software application, and evaluate it both numerically and with a small survey of the RobotStudio developers.
@article{chen2019modeling,author={Chen, Hui and Damevski, Kostadin and Shepherd, David and Kraft, Nicholas A.},title={Modeling hierarchical usage context for software exceptions based on interaction data},journal={Automated Software Engineering},year={2019},month=aug,day={13},issn={1573-7535},doi={10.1007/s10515-019-00265-3},url={https://doi.org/10.1007/s10515-019-00265-3}}