Machine Learning Applications In Software Engineering

Chapter 3: ML Applications in Property and Model Discovery

Overview

Given a software system, ML methods can be used to identify or discover certain properties of the system. Such discoveries of properties can be indispensable in many SE tasks: to facilitate various development and maintenance activities, to understand the relationships among software components for program understanding, to identify reusable components for reuse repository construction, and to re-engineer the existing system into one that has desirable properties, to name a few. Table 23 summarizes the status of the ML methods being utilized in this application category.

Table 23: ML methods used in discovery.

NN

IBL CBR

DT

GA

GP

ILP

EBL

CL

BL

AL

IAL

RL

EL

SVM

Program Invariants

?

Object Identifying

?

Operation Boundary

?

Mutants

?

Process Models

?

?

In this chapter, we include two papers, one dealing with using NN to identify objects in procedural programs, and the other tackling the issue of detecting equivalent mutants in mutation testing using BL.

The paper by Abd-El-Hafiz [1] describes a general approach to identifying objects in procedural programs using clustering NN. Currently, there are three main approaches to the identification of objects...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Graduated Cylinders
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.