Machine Learning Applications In Software Engineering

Chapter 4: ML Applications in Transformation

Overview

One of the essential challenges in SE, as eloquently explicated by Brooks, is the changeability: "The software product is embedded in a cultural matrix of applications, users, laws, and machine vehicles. These all change continually, and their changes inexorably force change upon the software product." Changes can be made to a software system through transformations. A transformation to a software product is a mapping from one model to another that aims at improving certain aspect of the transformed software product (e.g., improved modularity, desirable parallelism, improved run-time performance) while preserving all of its other properties (e.g., its functionality) [23]. A transformation is usually localized, affects a small number of classes, attributes, and operations, and is carried out in a series of small steps. In this chapter, we focus on ML applications in software product transformation. Table 24 offers a state-of-the-practice in this area.

Table 24: ML methods used in transformation.

NN

IBL CBR

DT

GA

GP

ILP

EBL

CL

BL

AL

IAL

RL

EL

SVM

Parallel Programs

?

Modularity

?

?

?

Object-oriented Applications

?

In this chapter, we include one paper by Schwanke and Hanson [128]. The paper deals with the issue of transforming software systems for better modularity using nearest-neighbor clustering and a special-purpose NN. The proposed approach treats...

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: Product Lifecycle Management Software (PLM)
Finish!
Privacy Policy

This is embarrasing...

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