Abstract

Using artificial intelligence (AI) based software defect prediction (SDP) techniques in the software development process helps isolate defective software modules, count the number of software defects, and identify risky code changes. However, software development teams are unaware of SDP and do not have easy access to relevant models and techniques. The major reason for this problem seems to be the fragmentation of SDP research and SDP practice. To unify SDP research and practice this article introduces a cloud-based, global, unified AI framework for SDP called DePaaS—Defects Prediction as a Service. The article describes the usage context, use cases and detailed architecture of DePaaS and presents the first response of the industry practitioners to DePaaS. In a first of its kind survey, the article captures practitioner’s belief into SDP and ability of DePaaS to solve some of the known challenges of the field of software defect prediction. This article also provides a novel process for SDP, detailed description of the structure and behaviour of DePaaS architecture components, six best SDP models offered by DePaaS, a description of algorithms that recommend SDP models, feature sets and tunable parameters, and a rich set of challenges to build, use and sustain DePaaS. With the contributions of this article, SDP research and practice could be unified enabling building and using more pragmatic defect prediction models leading to increase in the efficiency of software testing.

Highlights

  • Studies have estimated that about 36 billion electronic devices would connect to the internet by 2021 [1] and about 54% of the world population would be online using software of various kinds [2]

  • It is intended to serve as a global, unified platform that serves both researchers who build software defect prediction (SDP) models and software industry practitioners who consume defect prediction services provided by these SDP models

  • The current research was conducted to find answers for two research questions: RQ1: What would be the design of DePaaS: a unified, global software defect prediction model which could be used by both SDP researchers and the software industry practitioners?

Read more

Summary

Introduction

Studies have estimated that about 36 billion electronic devices would connect to the internet by 2021 [1] and about 54% of the world population would be online using software of various kinds [2]. With research highlighting a high cost of poor software quality, there is a need to prioritize SQA activities to eliminate maximum number defects with a minimum spend on resources [7] One such activity would be to isolate parts of the software that is more prone to defects. To consolidate the ongoing fragmented SDP research, and to bring SDP closer to the industry practitioners, a cloud-based, multi-model SDP framework has been proposed. It is named as DePaaS—Defect Prediction as a Service. The current research field-tested the idea of cloud-based SDP in many contexts and gathered deep insights into the way software practitioners perceive the defect prediction problem and the proposed DePaaS solution.

Motivation for Research
Research Design
Usage Contexts
Use Cases
Functional Description
SDP Models Provided by DePaaS
Architecture
Advanced Algorithms
Technical Feasibility
Industry Perception Study
Details of the Study
Variables
Threats to Validity
Belief in Defect Prediction
Awareness about SDP Technique
Desirability of SDP
Feedback about Ability of DePaaS to Address SDP Challenges
Solving SDP Problems Related to Datasets
Solving SDP Problems Related to Feature Selection
Solving SDP Problems Related to Building SDP Models
Solving SDP Problems Related to SDP Model Evaluation
Solving SDP Problems Related to Practical Use of SDP
Perceived Challenges to Build DePaaS
Perceived Challenges to Use DePaaS
Perceived Challenges to Sustain DePaaS
Conclusions
Patents
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call