Improving the Classification of Software Behaviors using Ensembles
Bowring, James Frederick
Harrold, Mary Jean
Rehg, James Matthew
MetadataShow full item record
One approach to the automatic classification of program behaviors is to view these behaviors as the collection of all the program's executions. Many features of these executions, such as branch profiles, can be measured, and if these features accurately predict behavior, we can build automatic behavior classifiers from them using statistical machine-learning techniques. Two key problems in the development of useful classifiers are (1) the costs of collecting and modeling data and (2) the adaptation of classifiers to new or unknown behaviors. We address the first problem by concentrating on the properties and costs of individual features and the second problem by using the active-learning paradigm. In this paper, we present our technique for modeling a data-flow feature as a stochastic process exhibiting the Markov property. We introduce the novel concept of databins to summarize, as Markov models, the transitions of values for selected variables. We show by empirical studies that databin-based classifiers are effective. We also describe ensembles of classifiers and how they can leverage their components to improve classification rates. We show by empirical studies that ensembles of control-flow and data-flow based classifiers can be more effective than either component classifier.
- CERCS Technical Reports 
Showing items related by title, author, creator and subject.
De Baets, Peter Wilfried Gaston; Zentner, John Marc; Mavris, Dimitri N. (Georgia Institute of Technology, 2002-11)In this paper, an overview is given of the different alternatives to an integrating computational framework. A new framework will be introduced, which incorporates the latest computational techniques and more importantly ...
Santelices, Raul A. (Georgia Institute of Technology, 2012-05-17)The constant modification of software during its life cycle poses many challenges for developers and testers because changes might not behave as expected or may introduce erroneous side effects. For those reasons, it is ...
Kazman, Rick; Abowd, Gregory D.; Bass, Leonard J.; Clements, Paul (Georgia Institute of Technology, 1995)Software architecture is one of the most important tools for designing and understanding a system, whether that system is in preliminary design, active deployment, or maintenance. Scenarios are important tools for ...