Fault-proneness Prediction Based on Analysis of Human Aspects in Software Developing Process

dc.contributor.advisorWong, W. Eric
dc.contributor.advisorAl-Dhahir, Naofal
dc.contributor.committeeMemberSarac, Kamil
dc.contributor.committeeMemberChung, Lawrence
dc.contributor.committeeMemberDu, Ding-Zhu
dc.creatorLee, Shou-Yu
dc.date.accessioned2022-11-29T23:01:35Z
dc.date.available2022-11-29T23:01:35Z
dc.date.created2022-05
dc.date.issued2022-05-01T05:00:00.000Z
dc.date.submittedMay 2022
dc.date.updated2022-11-29T23:01:36Z
dc.description.abstractNowadays, Quality Assurance and debugging defective software is becoming gradually costly and time-consuming. As a result, applying techniques such as fault-proneness prediction can help in this regard in large scale software system development. The specific fault-proneness prediction usually starts with software metrics, which are introduced to quantify and evaluated different aspects of attributes in software processes and productions. Once we have software metrics as indicators, a fault-proneness prediction model can be built using statistics or machine learning methods. However, since software programs are pure cognitive products of human developers; the flaws in it are caused by erroneous behaviors of human involved. Therefore, we feel the importance of introducing quantitative analysis on the human factors to enhance fault-proneness prediction. With that in mind, we come up with two approaches to achieve more precise prediction: firstly, separating the consistent characteristics of human individuals and evaluate their future and classifying certain working activities, and secondly, interaction during development process that could affect the performance of developers. For the first approach, we proposed a new metric based on historical activities: the Developer Risk Score, which is a performance indicator for the developers’ history of making mistakes during their working period on related software projects. Different from previous approaches, the Developer Risk Score further takes software complexity and the severity of bug into account when evaluating the performance of a developer. Our approach proved that for a software module that more high-risk developers involved more tend to be faultprone, and it is more efficient than other approaches when predicting such fault in software modules. For the second approach, we considered a software network with human aspects. Software network is a graphical model that constructed by several elements in modern software systems to symbolize the patterns of activities between them. To integrate human aspects into the model, we proposed the Composite Developer-Module Network. The network combines developers’ network and software modules’ network. By using network structure categorization comparation on the sub-structures within the network, deeper and indirect dependencies between developers and software modules can be included. Our evaluation proved that the more complex sub-structures of software network, that is, more developers or more function calls include in the sub-structures, can be more correlated to possible bug introduction.
dc.format.mimetypeapplication/pdf
dc.identifier.uri
dc.identifier.urihttps://hdl.handle.net/10735.1/9544
dc.language.isoen
dc.subjectComputer Science
dc.titleFault-proneness Prediction Based on Analysis of Human Aspects in Software Developing Process
dc.typeThesis
dc.type.materialtext
thesis.degree.collegeSchool of Engineering and Computer Science
thesis.degree.departmentSoftware Engineering
thesis.degree.grantorThe University of Texas at Dallas
thesis.degree.namePHD

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
LEE-PRIMARY-2022-1.pdf
Size:
1.45 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 2 of 2
No Thumbnail Available
Name:
LICENSE.txt
Size:
1.84 KB
Format:
Plain Text
Description:
No Thumbnail Available
Name:
PROQUEST_LICENSE.txt
Size:
5.84 KB
Format:
Plain Text
Description: