Using Machine Learning and Graph Mining Approaches to Improve Software Requirements Quality: An Empirical Investigation

dc.contributor.authorSingh, Maninder
dc.date.accessioned2019-06-05T20:34:14Z
dc.date.available2019-06-05T20:34:14Z
dc.date.issued2019en_US
dc.description.abstractSoftware development is prone to software faults due to the involvement of multiple stakeholders especially during the fuzzy phases (requirements and design). Software inspections are commonly used in industry to detect and fix problems in requirements and design artifacts, thereby mitigating the fault propagation to later phases where the same faults are harder to find and fix. The output of an inspection process is list of faults that are present in software requirements specification document (SRS). The artifact author must manually read through the reviews and differentiate between true-faults and false-positives before fixing the faults. The first goal of this research is to automate the detection of useful vs. non-useful reviews. Next, post-inspection, requirements author has to manually extract key problematic topics from useful reviews that can be mapped to individual requirements in an SRS to identify fault-prone requirements. The second goal of this research is to automate this mapping by employing Key phrase extraction (KPE) algorithms and semantic analysis (SA) approaches to identify fault-prone requirements. During fault-fixations, the author has to manually verify the requirements that could have been impacted by a fix. The third goal of my research is to assist the authors post-inspection to handle change impact analysis (CIA) during fault fixation using NL processing with semantic analysis and mining solutions from graph theory. The selection of quality inspectors during inspections is pertinent to be able to carry out post-inspection tasks accurately. The fourth goal of this research is to identify skilled inspectors using various classification and feature selection approaches. The dissertation has led to the development of automated solution that can identify useful reviews, help identify skilled inspectors, extract most prominent topics/keyphrases from fault logs; and help RE author during the fault-fixation post inspection.en_US
dc.identifier.urihttps://hdl.handle.net/10365/29803
dc.publisherNorth Dakota State Universityen_US
dc.rightsNDSU Policy 190.6.2
dc.rights.urihttps://www.ndsu.edu/fileadmin/policy/190.pdf
dc.subjectchange impact analysisen_US
dc.subjectgraph miningen_US
dc.subjectkey phrase extractionen_US
dc.subjectmachine learningen_US
dc.subjectnatural language processingen_US
dc.subjectsoftware requirements inspectionsen_US
dc.titleUsing Machine Learning and Graph Mining Approaches to Improve Software Requirements Quality: An Empirical Investigationen_US
dc.typeDissertationen_US
dc.typeVideoen_US
ndsu.advisorSingh Walia, Gursimran
ndsu.collegeEngineeringen_US
ndsu.degreeDoctor of Philosophy (PhD)en_US
ndsu.departmentComputer Scienceen_US
ndsu.programComputer Scienceen_US

Files

Original bundle

Now showing 1 - 2 of 2
No Thumbnail Available
Name:
Using Machine Learning and Graph Mining Approaches to Improve Software Requirements Quality An Empirical Investigation.pdf
Size:
6.92 MB
Format:
Adobe Portable Document Format
Description:
Using Machine Learning and Graph Mining Approaches to Improve Software Requirements Quality An Empirical Investigation
No Thumbnail Available
Name:
Maninder Singh video.mp4
Size:
107.37 MB
Format:
Mp4
Description:

License bundle

Now showing 1 - 2 of 2
No Thumbnail Available
Name:
license.txt
Size:
1.63 KB
Format:
Item-specific license agreed to upon submission
Description:
No Thumbnail Available
Name:
Maninder Singh release form.pdf
Size:
218.04 KB
Format:
Adobe Portable Document Format
Description: