Predicting Accurate and Actionable Static Analysis Warnings: An Experimental Approach J. Ruthruff et al., University of Nebraska-Lincoln, NE U.S.A, Google.

Slides:



Advertisements
Similar presentations
Introduction to Hypothesis Testing
Advertisements

Data Mining Methodology 1. Why have a Methodology  Don’t want to learn things that aren’t true May not represent any underlying reality ○ Spurious correlation.
Predictor of Customer Perceived Software Quality By Haroon Malik.
Regression Analysis Once a linear relationship is defined, the independent variable can be used to forecast the dependent variable. Y ^ = bo + bX bo is.
5/15/2015Slide 1 SOLVING THE PROBLEM The one sample t-test compares two values for the population mean of a single variable. The two-sample test of a population.
Min Zhang School of Computer Science University of Hertfordshire
Chapter 18 Introduction to Quality
Improving Static Analysis Results Accuracy Chris Wysopal CTO & Co-founder, Veracode SATE Summit October 1, 2010.
Topic 6: Introduction to Hypothesis Testing
1-1 Copyright © 2015, 2010, 2007 Pearson Education, Inc. Chapter 25, Slide 1 Chapter 25 Comparing Counts.
Memories of Bug Fixes Sunghun Kim, Kai Pan, and E. James Whitehead Jr., University of California, Santa Cruz Presented By Gleneesha Johnson CMSC 838P,
Chapter 16 Chi Squared Tests.
1 Predictors of customer perceived software quality Paul Luo Li (ISRI – CMU) Audris Mockus (Avaya Research) Ping Zhang (Avaya Research)
Predictive Analysis in Marketing Research
Introduction to Communication Research
Today Concepts underlying inferential statistics
1 Chapter 17: Introduction to Regression. 2 Introduction to Linear Regression The Pearson correlation measures the degree to which a set of data points.
Learning From Mistakes—A Comprehensive Study on Real World Concurrency Bug Characteristics Shan Lu, Soyeon Park, Eunsoo Seo and Yuanyuan Zhou Appeared.
SW388R7 Data Analysis & Computers II Slide 1 Multiple Regression – Basic Relationships Purpose of multiple regression Different types of multiple regression.
Relationships Among Variables
Review for Final Exam Some important themes from Chapters 9-11 Final exam covers these chapters, but implicitly tests the entire course, because we use.
Statistical Analysis. Purpose of Statistical Analysis Determines whether the results found in an experiment are meaningful. Answers the question: –Does.
Marshall University School of Medicine Department of Biochemistry and Microbiology BMS 617 Lecture 12: Multiple and Logistic Regression Marshall University.
1 Prediction of Software Reliability Using Neural Network and Fuzzy Logic Professor David Rine Seminar Notes.
Jarhead Analysis and Detection of Malicious Java Applets Johannes Schlumberger, Christopher Kruegel, Giovanni Vigna University of California Annual Computer.
Chapter 8 Introduction to Hypothesis Testing
Copyright © 2005 Brooks/Cole, a division of Thomson Learning, Inc Chapter 24 Statistical Inference: Conclusion.
박 종 혁 컴퓨터 보안 및 운영체제 연구실 MobiSys '11 Proceedings of the 9th international conference on Mobile systems, applications,
Copyright © 2010 Pearson Education, Inc. Warm Up- Good Morning! If all the values of a data set are the same, all of the following must equal zero except.
CS4723 Software Validation and Quality Assurance
A Taxonomy of Evaluation Approaches in Software Engineering A. Chatzigeorgiou, T. Chaikalis, G. Paschalidou, N. Vesyropoulos, C. K. Georgiadis, E. Stiakakis.
Chapter 8 Introduction to Hypothesis Testing
Ch. 2: Planning a Study (cont’d) pp THE RESEARCH PROPOSAL  In all empirical research studies, you systematically collect and analyze data 
Statistical Decision Making. Almost all problems in statistics can be formulated as a problem of making a decision. That is given some data observed from.
Mining and Analysis of Control Structure Variant Clones Guo Qiao.
Crystal Linkletter and Derek Bingham Department of Statistics and Actuarial Science Simon Fraser University Acknowledgements This research was initiated.
11 A Hybrid Phish Detection Approach by Identity Discovery and Keywords Retrieval Reporter: 林佳宜 /10/17.
Managerial Economics Demand Estimation & Forecasting.
Statistical Power The power of a test is the probability of detecting a difference or relationship if such a difference or relationship really exists.
Essential Question:  How do scientists use statistical analyses to draw meaningful conclusions from experimental results?
1 Test Selection for Result Inspection via Mining Predicate Rules Wujie Zheng
Business Statistics: A Decision-Making Approach, 6e © 2005 Prentice-Hall, Inc. Chap 13-1 Introduction to Regression Analysis Regression analysis is used.
Chapter 11 Statistical Techniques. Data Warehouse and Data Mining Chapter 11 2 Chapter Objectives  Understand when linear regression is an appropriate.
STATISTICS AND OPTIMIZATION Dr. Asawer A. Alwasiti.
Copyright © 2010 Pearson Education, Inc. Warm Up- Good Morning! If all the values of a data set are the same, all of the following must equal zero except.
Inferential Statistics Introduction. If both variables are categorical, build tables... Convention: Each value of the independent (causal) variable has.
+ Chapter Scientific Method variable is the factor that changes in an experiment in order to test a hypothesis. To test for one variable, scientists.
Section 12.2: Tests for Homogeneity and Independence in a Two-Way Table.
1-1 Copyright © 2014, 2011, and 2008 Pearson Education, Inc.
1 Predicting Classes in Need of Refactoring – An Application of Static Metrics Liming Zhao Jane Hayes 23 September 2006.
Anomaly Detection. Network Intrusion Detection Techniques. Ştefan-Iulian Handra Dept. of Computer Science Polytechnic University of Timișoara June 2010.
Class Seven Turn In: Chapter 18: 32, 34, 36 Chapter 19: 26, 34, 44 Quiz 3 For Class Eight: Chapter 20: 18, 20, 24 Chapter 22: 34, 36 Read Chapters 23 &
Stats 242.3(02) Statistical Theory and Methodology.
Static Analysis Tools Emerson Murphy-Hill. A Comparison of Bug Finding Tools for Java Bug pattern detection PMD FindBugs JLint Theorem proving [involves.
Summary of presentation Introduction of the dissertation.
Data Analysis.
BINARY LOGISTIC REGRESSION
R. E. Wyllys Copyright 2003 by R. E. Wyllys Last revised 2003 Jan 15
Chi-Square X2.
Understanding Results
CJT 765: Structural Equation Modeling
The Nature of Probability and Statistics
Predict Failures with Developer Networks and Social Network Analysis
CHAPTER 1 Exploring Data
CHAPTER 1 Exploring Data
CHAPTER 1 Exploring Data
CHAPTER 1 Exploring Data
15.1 The Role of Statistics in the Research Process
CHAPTER 1 Exploring Data
CHAPTER 1 Exploring Data
Presentation transcript:

Predicting Accurate and Actionable Static Analysis Warnings: An Experimental Approach J. Ruthruff et al., University of Nebraska-Lincoln, NE U.S.A, Google Inc. ICSE 박 종 화 컴퓨터 보안 및 운영체제 연구실

Computer Security & OS Lab. IndexIndex 2  Introduction  Background  Logistic regression models  Case study  Conclusions

Computer Security & OS Lab. IntroductionIntroduction 3  Static analysis tools detect software defects by analyzing a system without actually executing it.  There are well-known two challgenge. One challenge involves the accuracy of reported warnings A second challenge receiving less attention is that warnings are not always acted on by developers even if they reveal true defects  The core elements of our approach are statistical models  They are built using screening, an incremental statistical process to quickly discard factors with low predictive power

Computer Security & OS Lab. BackgroundBackground 4  FindBugs at Google FindBugs is an open-source static analysis tool for Java programs The tool analyzes Java bytecode to issue reports for 487 bug patterns These patterns are organized into seven categories: Bad Practice, Correctness, Internationalization, Malicious Code Vulnerability, Multithreaded Correctness, Performance, and Dodgy At Google, we have deployed FindBugs using an enterprise-wide service model. We performed a cost/benefits analysis identifying this as a cost-effective approach for determining sufficiently interesting defects to report to developers.

Computer Security & OS Lab. BackgroundBackground 5  Logistic Regression Analysis Logistic regression analysis is a type of categorical data analysis for predicting dependent variable values that follow binomial distributions. Logistic regression measures the relationship between the categorical dependent variable and one or more independent variables, which are usually (but not necessarily) continuous, by estimating probabilities. -Wikipedia

Computer Security & OS Lab. Logistic regression models 6  We aim to build statistical models that classify incoming static analysis warnings to reduce the cost of this process.  Logistic Regression Model Factors We selected 33 factors to incorporate into the experimental screening methodology for generating our required models.

Computer Security & OS Lab. Experimental Screening Process 7  Screening experiments are designed to quickly yet systematically narrow down large groups. To focus the direction of research Used to discover the most significant factors  we consider a screening methodology with up to four stages that attempts to identify at least six predictive factors for a predictive model. Four stages to Ranges of 5%, 25%, 50%, 100% of the total warnings

Computer Security & OS Lab. Experimental Screening Process 8  The first stage of the screening methodology eliminate factors that appear to have little of the predictive power needed to build accurate models.  In a second stage, Additional 20% of the static analysis warnings, bringing the total number of considered warnings to 25%  The third stage of our screening methodology considers the next 25% of warnings, for a total of half of all warnings.  Final stage The last 50% of the data

Computer Security & OS Lab. Building Models From Screening Factors 9  Model for Predicting False Positives  Examining just 5% in the first stage  Screening experiment eliminated 15 of the 33 factors  Examining just 25% in the second stage  Five factors were eliminated 5 of the 18 factors  Examining just 50% in the Third stage  Two factors were eliminated 2 of the 13 factors  Examining just 50% in the Fourth stage  Two factors were eliminated 2 of the 11 factors  Values close to 0.0 correspond to false positive predictions, while values close to 1.0 correspond to true defects

Computer Security & OS Lab. Building Models From Screening Factors 10  Models for Actionable Warnings Our first model is built using only those warnings identified as true defects. ( 13 factors ) Our second model is designed to predict actionable defects from all warnings (i.e., both false positives and legitimate warnings). ( 15 factors )

Computer Security & OS Lab. Case study 11  The data set consists of 1,652 unique warning selected from a population of tens of thousands of warnings seen over a nine-month period  The warnings in the data set were manually examined and classified as either false positives or true defects  Screening model Classifying warnings that ere built from out screening methodology  All-Data model To collect data for every factor, for every sampled warning  BOW model Work of Bell et al. Ostrand et al. BOW+ model is added ‘bug pattern’ and ‘priority’

Computer Security & OS Lab. Results and Discussion 12

Computer Security & OS Lab. ConclusionsConclusions 13  The proposed screening approach for model building accomplishes this by quickly discarding metrics with low predictive power  The screening-based models were able to accurately predict false positive warnings over 85% of the time on average, and actionable warnings over 70% of the time  This work also indicates that regression models may be effective in settings involving static analysis warnings, and shows promise for future work in this area

Computer Security & OS Lab. ReferencesReferences 14  FindBugs.  N. Ayewah, W. Pugh, J. D. Morgenthaler, J. Penix, and Y. Zhou. Evaluating static analysis defect warnings on production software. In Proc. 7thACM Workshop on Prog. Analysis for Softw. Tools and Eng., pages 168–179, 2007  en.wikipedia.org/wiki/.

Computer Security & OS Lab. 15 Thank You !