DeepAI AI Chat
Log In Sign Up

Differential Performance Debugging with Discriminant Regression Trees

by   Saeid Tizpaz-Niari, et al.

Differential performance debugging is a technique to find performance problems. It applies in situations where the performance of a program is (unexpectedly) different for different classes of inputs. The task is to explain the differences in asymptotic performance among various input classes in terms of program internals. We propose a data-driven technique based on discriminant regression tree (DRT) learning problem where the goal is to discriminate among different classes of inputs. We propose a new algorithm for DRT learning that first clusters the data into functional clusters, capturing different asymptotic performance classes, and then invokes off-the-shelf decision tree learning algorithms to explain these clusters. We focus on linear functional clusters and adapt classical clustering algorithms (K-means and spectral) to produce them. For the K-means algorithm, we generalize the notion of the cluster centroid from a point to a linear function. We adapt spectral clustering by defining a novel kernel function to capture the notion of linear similarity between two data points. We evaluate our approach on benchmarks consisting of Java programs where we are interested in debugging performance. We show that our algorithm significantly outperforms other well-known regression tree learning algorithms in terms of running time and accuracy of classification.


page 1

page 2

page 3

page 4


Detecting and Understanding Real-World Differential Performance Bugs in Machine Learning Libraries

Programming errors that degrade the performance of systems are widesprea...

Data-Driven Debugging for Functional Side Channels

Functional side channels arise when an attacker knows that the secret va...

Spectral Clustering with Smooth Tiny Clusters

Spectral clustering is one of the most prominent clustering approaches. ...

Significance of Classification Techniques in Prediction of Learning Disabilities

The aim of this study is to show the importance of two classification te...

Classification of multivariate functional data on different domains with Partial Least Squares approaches

Classification of multivariate functional data is explored in this paper...

Spectral Clustering, Spanning Forest, and Bayesian Forest Process

Spectral clustering algorithms are very popular. Starting from a pairwis...