Machine Learning Applications In Software Engineering

As evidenced in Chapter One, the majority of the ML applications (52%) deal with the issue of how to build models to predict or estimate certain property of software development process or artifacts. The subject of the prediction or estimation involves a range of properties: quality, size, cost, effort, reliability, reusability, productivity, and testability. In this chapter, we include a set of 7 papers where ML methods are used to predict or estimate measurements for either internal or external attributes of processes, products, or resources in software engineering. These include: software quality, software cost, project or software development effort, software defect, and software release timing. Table 22 summarizes the current state-of-the-practice in this application area.
| NN | IBL CBR | DT | GA | GP | ILP | EBL | CL | BL | AL | IAL | RL | EL | SVM | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Quality | ? | ? | ? | ? | ? | ? | ||||||||
| Size | ? | ? | ||||||||||||
| Development Cost | ? | ? | ? | |||||||||||
| Development Effort | ? | ? | ? | ? | ? | |||||||||
| Maintenance Effort | ? | ? | ||||||||||||
| Resource Analysis | ? | |||||||||||||
| Software Cost | ? |