Hello

8
Machine learning algorithm for software based testing

Transcript of Hello

Machine learning algorithm for software

based testing

Introduction

• The world relies on software heavily now so it should be reliable• Software Reliability is the probability of a software system or component to

perform its intended function under the specified operating conditions over the specified period of time [1]• In other words the less faults there are in a software the more reliable it is.• What is Fault Proneness and Fault Predeiction• A fault is a problem in software that when run causes a failure.• Fault Proneness is the likelihood of a piece of software to have faults.• Fault prediction is identified as one major area to predict the probability

that the software contains fault.

A Genetic Algorithm Based Classification Approach for Finding Fault Prone Classes

What is GA

• A genetic algorithm (GA) is a search technique used in computing to find exact or approximate solutions to optimization and search problems.• The accuracy of the developed system to find fault prone classes is

measured as 80.14%

How it works

• In the beginning start with a large “population” of randomly generated “attempted solutions” to a problem then repeatedly do the following:• Evaluate each of the attempted solutions• Keep a subset of these solutions (the “best” ones)• Use these solutions to generate a new population• Quit when you have a satisfactory solution (or you run out of time)• With help of Genetic algorithm classification of the software

components into faulty/fault-free systems is performed

Metrices Used

• Coupling between Objects (CBO)• Lack of Cohesion (LCOM)• Number of Children (NOC)• Depth of Inheritance (DIT)• Weighted Methods per Class • (WMC)• Response for a Class (RFC)• Number of Public Methods (NPM)• Lines Of Code (LOC)

FlowChart