Validating Requirements Reviews by Introducing Fault-Type Level Granularity: A Machine Learning Approach

@article{Singh2018ValidatingRR,
  title={Validating Requirements Reviews by Introducing Fault-Type Level Granularity: A Machine Learning Approach},
  author={Maninder Singh and Vaibhav Anu and Gursimran Singh Walia and Anurag Goswami},
  journal={Proceedings of the 11th Innovations in Software Engineering Conference},
  year={2018}
}
Inspections are a proven approach for improving software requirements quality. Owing to the fact that inspectors report both faults and non-faults (i.e., false-positives) in their inspection reports, a major chunk of work falls on the person who is responsible for consolidating the reports received from multiple inspectors. We aim at automation of fault-consolidation step by using supervised machine learning algorithms that can effectively isolate faults from non-faults. Three different… 
Automated Validation of Requirement Reviews: A Machine Learning Approach
  • Maninder Singh
  • Computer Science
    2018 IEEE 26th International Requirements Engineering Conference (RE)
  • 2018
TLDR
This research employs various classification approaches, NL processing with semantic analysis and mining solutions from graph theory to requirement reviews and NL requirements to automate the validation of inspection reviews and find common patterns that describe high-quality requirements.
Using Supervised Learning to Guide the Selection of Software Inspectors in Industry
TLDR
This study analyzes the reading patterns (RPs) of inspectors recorded by eye-tracking equipment and evaluates their abilities to find various fault-types, showing that the approach could guide the inspector selection with an accuracy ranging between 79.3% and 94% forVarious fault- types.
Automating Key Phrase Extraction from Fault Logs to Support Post-Inspection Repair of Software Requirements
This research paper aims at developing an automated approach to identify fault prone requirements in a software requirement specification (SRS) document to mitigate the fault propagation to later
Automated mapping of fault logs to SRS requirements using key-phrase extraction
TLDR
The proposed approach extracts the key-phrases to identify key problems from fault-logs, and then maps them back to group of similar requirements in an SRS document to inspect requirements that may contain a similar types of faults.
Using Semantic Analysis and Graph Mining Approaches to Support Software Fault Fixation
  • Maninder Singh, G. Walia
  • Computer Science
    2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)
  • 2020
TLDR
The proposed approach in this paper employs NL processing, machine learning, semantic analysis, and graph mining approaches to generate a graph of inter-related requirements (IRR) based on semantic similarity score to accurately identify the highly similar requirements to support the CIA.
Using Natural Language Processing and Graph Mining to Explore Inter- Related Requirements in Software Artefacts
TLDR
This research aims at developing a graph of inter-related requirements using natural language processing and semantic analysis approaches on a given requirements document that can be used to aid various decisions pre and post-inspections.
Application of back-translation: a transfer learning approach to identify ambiguous software requirements
TLDR
By augmenting requirements using BT, ULMFiT got a higher accuracy than SVM, Logistic Regression, and Multinomial Naive Bayes classifier, and provides some promising insights on how transfer learning and text augmentation can be applied to small data sets in requirements engineering.
Machine Learning for Software Engineering: A Systematic Mapping
TLDR
A systematic mapping study on applications of machine learning to software engineering following the standard guidelines and principles of empirical software engineering introduces a machine learning for software engineering (MLSE) taxonomy classifying the state-of-the-art machine learning techniques according to their applicability to various software engineering life cycle stages.
Developing and Evaluating Learning Materials to Introduce Human Error Concepts in Software Engineering Courses: Results from Industry and Academia
TLDR
Whether requirements inspections supported by human errors can be used to deliver knowledge about software engineering human errors as well as knowledge about requirements inspections (a key industry skill) to students is evaluated.
Graph Based CIA in Requirements Engineering
TLDR
A roadmap of the future research plan to apply the novel Vertical Breadth-First Search All-path graph algorithm for software quality improvement is presented.
...
...

References

SHOWING 1-10 OF 34 REFERENCES
An industrial case study of classifier ensembles for locating software defects
TLDR
This research presents a defect prediction model based on an ensemble of classifiers that significantly decreases pf down to 15% while increasing precision by 43% and hence, keeping balance rates at 74%.
Evaluating the Use of Requirement Error Abstraction and Classification Method for Preventing Errors during Artifact Creation: A Feasibility Study
TLDR
The hypothesis was that participants who find more errors during the inspection of a requirements document would make fewer errors when creating their own requirements document, and the overall result supports this hypothesis.
Classification of defect types in requirements specifications: Literature review, proposal and assessment
TLDR
Recommendations are given to industry and other researchers on the design of classification schemes and treatment of classification results, following rules to build defects taxonomies.
An Empirical Study on Improving Severity Prediction of Defect Reports Using Feature Selection
TLDR
Whether feature selection can benefit the severity prediction task with three commonly used feature selection schemes, Information Gain, Chi-Square, and Correlation Coefficient, based on the Multinomial Naive Bayes classification approach is discussed.
An empirical evaluation of six methods to detect faults in software
TLDR
Voting detected the largest number of faults, followed by the testing method, Fagan inspection, self‐checks, code reading and data‐flow analysis, which meant that inspection was far more cost‐effective than theTesting method studied.
Analysis of user comments: An approach for software requirements evolution
TLDR
This paper explores the rich set of user feedback available for third party mobile applications as a way to extract new/changed requirements for next versions by adapting information retrieval techniques including topic modeling and evaluating them on different publicly available data sets.
Incorporating Human Error Education into Software Engineering Courses via Error-based Inspections
TLDR
An exploratory study to evaluate whether requirements inspections driven by human errors can be used to deliver both requirements validation knowledge and human error knowledge to students suggests that human error based inspections can enhance the fault detection abilities of students.
Expectations, outcomes, and challenges of modern code review
TLDR
This study reveals that while finding defects remains the main motivation for review, reviews are less about defects than expected and instead provide additional benefits such as knowledge transfer, increased team awareness, and creation of alternative solutions to problems.
...
...