BENCHMARKING MACHINE LEARNING TECHNIQUES FOR SOFTWARE DEFECT DETECTION. Presented By: Sheenam Sharma Masters of Computer Science

Similar documents
Learning From the Past with Experiment Databases

Python Machine Learning

Reducing Features to Improve Bug Prediction

Introduction to Ensemble Learning Featuring Successes in the Netflix Prize Competition

Twitter Sentiment Classification on Sanders Data using Hybrid Approach

Predicting Student Attrition in MOOCs using Sentiment Analysis and Neural Networks

OCR for Arabic using SIFT Descriptors With Online Failure Prediction

CS Machine Learning

Impact of Cluster Validity Measures on Performance of Hybrid Models Based on K-means and Decision Trees

Issues in the Mining of Heart Failure Datasets

Rule Learning With Negation: Issues Regarding Effectiveness

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Word Segmentation of Off-line Handwritten Documents

Human Emotion Recognition From Speech

Machine Learning and Data Mining. Ensembles of Learners. Prof. Alexander Ihler

Linking Task: Identifying authors and book titles in verbose queries

A Case Study: News Classification Based on Term Frequency

Lecture 1: Machine Learning Basics

Rule Learning with Negation: Issues Regarding Effectiveness

ScienceDirect. A Framework for Clustering Cardiac Patient s Records Using Unsupervised Learning Techniques

Detecting English-French Cognates Using Orthographic Edit Distance

Probabilistic Latent Semantic Analysis

Australian Journal of Basic and Applied Sciences

Comparison of EM and Two-Step Cluster Method for Mixed Data: An Application

Learning Methods in Multilingual Speech Recognition

Detecting Wikipedia Vandalism using Machine Learning Notebook for PAN at CLEF 2011

*Net Perceptions, Inc West 78th Street Suite 300 Minneapolis, MN

Experiment Databases: Towards an Improved Experimental Methodology in Machine Learning

Cross-lingual Short-Text Document Classification for Facebook Comments

Mining Association Rules in Student s Assessment Data

Algebra 1, Quarter 3, Unit 3.1. Line of Best Fit. Overview

Generative models and adversarial training

Iterative Cross-Training: An Algorithm for Learning from Unlabeled Web Pages

Disambiguation of Thai Personal Name from Online News Articles

AUTOMATED FABRIC DEFECT INSPECTION: A SURVEY OF CLASSIFIERS

Evaluating and Comparing Classifiers: Review, Some Recommendations and Limitations

(Sub)Gradient Descent

Linking the Ohio State Assessments to NWEA MAP Growth Tests *

Assignment 1: Predicting Amazon Review Ratings

Analyzing sentiments in tweets for Tesla Model 3 using SAS Enterprise Miner and SAS Sentiment Analysis Studio

The stages of event extraction

THE ROLE OF DECISION TREES IN NATURAL LANGUAGE PROCESSING

Applications of data mining algorithms to analysis of medical data

Historical maintenance relevant information roadmap for a self-learning maintenance prediction procedural approach

Switchboard Language Model Improvement with Conversational Data from Gigaword

Activity Recognition from Accelerometer Data

Generating Test Cases From Use Cases

Software Development Plan

Active Learning. Yingyu Liang Computer Sciences 760 Fall

Extracting Opinion Expressions and Their Polarities Exploration of Pipelines and Joint Models

Conference Presentation

Truth Inference in Crowdsourcing: Is the Problem Solved?

Universidade do Minho Escola de Engenharia

Math-U-See Correlation with the Common Core State Standards for Mathematical Content for Third Grade

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Semi-supervised methods of text processing, and an application to medical concept extraction. Yacine Jernite Text-as-Data series September 17.

arxiv: v1 [cs.cl] 2 Apr 2017

Mining Student Evolution Using Associative Classification and Clustering

A Vector Space Approach for Aspect-Based Sentiment Analysis

Optimizing to Arbitrary NLP Metrics using Ensemble Selection

Feature Selection based on Sampling and C4.5 Algorithm to Improve the Quality of Text Classification using Naïve Bayes

Indian Institute of Technology, Kanpur

Using dialogue context to improve parsing performance in dialogue systems

Finding Your Friends and Following Them to Where You Are

CSC200: Lecture 4. Allan Borodin

B. How to write a research paper

On-Line Data Analytics

POS tagging of Chinese Buddhist texts using Recurrent Neural Networks

Visit us at:

Netpix: A Method of Feature Selection Leading. to Accurate Sentiment-Based Classification Models

Predicting Students Performance with SimStudent: Learning Cognitive Skills from Observation

Beyond the Pipeline: Discrete Optimization in NLP

This scope and sequence assumes 160 days for instruction, divided among 15 units.

K-Medoid Algorithm in Clustering Student Scholarship Applicants

COMPUTER-ASSISTED INDEPENDENT STUDY IN MULTIVARIATE CALCULUS

CLASSIFICATION OF TEXT DOCUMENTS USING INTEGER REPRESENTATION AND REGRESSION: AN INTEGRATED APPROACH

Radius STEM Readiness TM

Content-based Image Retrieval Using Image Regions as Query Examples

Handling Concept Drifts Using Dynamic Selection of Classifiers

Large-Scale Web Page Classification. Sathi T Marath. Submitted in partial fulfilment of the requirements. for the degree of Doctor of Philosophy

An Empirical Comparison of Supervised Ensemble Learning Approaches

South Carolina College- and Career-Ready Standards for Mathematics. Standards Unpacking Documents Grade 5

Language Acquisition Fall 2010/Winter Lexical Categories. Afra Alishahi, Heiner Drenhaus

Article A Novel, Gradient Boosting Framework for Sentiment Analysis in Languages where NLP Resources Are Not Plentiful: A Case Study for Modern Greek

Using Web Searches on Important Words to Create Background Sets for LSI Classification

Fragment Analysis and Test Case Generation using F- Measure for Adaptive Random Testing and Partitioned Block based Adaptive Random Testing

arxiv: v1 [cs.lg] 3 May 2013

Automatic document classification of biological literature

Bachelor Class

Montana Content Standards for Mathematics Grade 3. Montana Content Standards for Mathematical Practices and Mathematics Content Adopted November 2011

EdIt: A Broad-Coverage Grammar Checker Using Pattern Grammar

Simple Random Sample (SRS) & Voluntary Response Sample: Examples: A Voluntary Response Sample: Examples: Systematic Sample Best Used When

Artificial Neural Networks written examination

Physics 270: Experimental Physics

Statewide Framework Document for:

Model Ensemble for Click Prediction in Bing Search Ads

For Jury Evaluation. The Road to Enlightenment: Generating Insight and Predicting Consumer Actions in Digital Markets

WE GAVE A LAWYER BASIC MATH SKILLS, AND YOU WON T BELIEVE WHAT HAPPENED NEXT

Experiments with SMS Translation and Stochastic Gradient Descent in Spanish Text Author Profiling

Welcome to. ECML/PKDD 2004 Community meeting

Transcription:

BENCHMARKING MACHINE LEARNING TECHNIQUES FOR SOFTWARE DEFECT DETECTION Presented By: Sheenam Sharma Masters of Computer Science

Introduction Related Work Dataset Supervised techniques for machine learning Classification Various classification algorithms Unsupervised techniques for machine learning Clustering Performance indicators Results Conclusion Discussion

INTRODUCTION Software maintenance is the most challenging task. Good to fix a bug before the deliverable. Machine learning can help in analyzing the data and retrieval of useful information which can help developers in detecting defects. Machine learning techniques used for bug detection: Classification Clustering

RELATED WORK Classification algorithms have been benchmarked using AUC curves. AUC was selected as the authors believed that it is the most informative source for benchmarking. Some authors focused only on the decision tree classification algorithms present in Weka.

Data set The datasets from PROMISE data repository were used in the experiments. The datasets were collected from real software projects by NASA and have many software modules. Public domain datasets in the experiments were used as the research was a benchmarking procedure of defect prediction. Weka tool was used for performing experiments.

Classification Classification is a data mining and machine learning approach. In software bug prediction it involves categorization of software modules into defective or non-defective that is denoted by a set of software complexity metrics by utilizing a classification model.

Classification Algorithms Decision Tree Bagging Random Forest Boosting SMO or SVM ZeroR

Decision tree DT builds a tree-like structure by recursively partitioning the input attribute space into a set of non-overlapping spaces. A DT can also be seen as a set of decision rules from the root to the leaves. It is often used due to its natural interpretation. A DT takes one attribute, and divides the instances forming a tree.

Bagging Bagging uses multiple weak learners to form a strong learner that has better predictive performance than individual weak learners. A huge data set is divided into small chunks and base classifier is selected which operates separately but concurrently on these chunks. In the last, results from these classifiers are voted so as to get the best outcome. Random Forest is an example of Bagging.

Boosting Just like Bagging, Boosting also uses multiple weak learners to form a strong learner that has better predictive performance than individual weak learners. Unlike Bagging, it divides the problem into small chunks and one chunk is selected on which base classifier operates. From the results, instances which were wrongly classified are selected and classifier is again trained on it so as to increase the accuracy.

Suppose we have a set of training examples {x1, x2,., xn}, where xi Rd along with their class labels {y1, y2,., yn} and yi {-1, 1}. The task of SVM is to find a hyper plane to separate the data with the maximum margin between the hyper plane and the nearest data points of each class. SVM

ZEROR This classification algorithm is used mostly as a baseline algorithm for experiments. The results of these classifier are based on majority. Suppose class A has 51 instances and class B has 48 instances, this classifier will classify all the instances in class A.

CLASSIFICATION Algorithms in weka

Clustering Clustering is method that moves data points among a set of clusters until similar item clusters are formed or a desired set is acquired. Clustering methods make assumptions about the data set. If that assumption holds, then it results into a good cluster.

Clustering Algorithms in weka

PERFORMANCE INDICATORS Accuracy = (correctly classified software bugs/ Total software bugs) * 100 Precision= Recall= TP / (TP+FP) TP / (TP + FN) F-measure= (2 * precision * recall) / (Precision + recall) Mean Absolute Error (MAE)

Experimental results

Conclusion From the experiments it was concluded that SVM and Bagging had maximum accuracy and f-measure. Moreover, MAE for both these algorithms was low. Hence, the authors concluded that these two techniques performed well on the bug s dataset.

references Luiz Fernando Capretz and Faheem Ahmed Saiqa Aleem, "BENCHMARKING MACHINE LEARNING TECHNIQUES FOR SOFTWARE DEFECT DETECTION," International Journal of Software Engineering & Applications (IJSEA), vol. 6, no. 3, pp. 11-23, May 2015. J.Van Ryzin, Classification and Clustering. New York: Harcourt Brace Jovanovich. Sahil Saroop, "Exploring Mediatoil Imagery: A Content-Based Approach," University of Ottawa, Ottawa, Thesis 2016. David M. W POWERS, "EVALUATION: FROM PRECISION, RECALL AND F-MEASURE TO ROC, INFORMEDNESS, MARKEDNESS & CORRELATION," Journal of Machine Learning Technologies, vol. 2, no. 1, pp. 37-63, Feb. 2011.

Discussion In which other fields of software engineering can you think where machine learning techniques can be applied? Can you think of areas other than software engineering where you can use machine learning? Can the results concluded by the author be generalized on all the dataset s related to bugs?