SlideShare a Scribd company logo
1 of 97
Download to read offline
.lusoftware verification & validation
VVS
Automated Analysis of
Natural-Language Requirements:
Industrial Needs and Opportunities
AIRE’2018 @ RE’2018
Lionel Briand
Interdisciplinary Centre for ICT Security, Reliability, and Trust (SnT)
University of Luxembourg, Luxembourg
Acknowledgements
2
• Mehrdad Sabetzadeh
• Chetan Arora
• Shiva Nejati
• Fabrizio Pastore
• Chunhui Wang
3
Introduction
Applications
4
• Requirements to support a shared understanding
among stakeholders in (large) projects, e.g.,
software engineers and domain experts
• Requirements as contract with customers
• Requirements to support compliance with
standards, e.g., traceability to tests
• Requirements to support quality assurance, e.g.,
system (security) testing
• Requirements to support change control
• Requirements to support product-line
configuration
For many of these applications,
there is little automated tool support.
5
Forms of NL Requirements
6
• Natural language statements, complying or
not with templates
• User stories, following various templates
• Use case specifications, possibly structured
and restricted
• Mixing natural language and models, e.g.,
class and activity diagrams
The best form of requirements depends on
context and targeted applications.
7
Contextual Factors
8
• No “right” way to express requirements
• Domain complexity and criticality
• Regulatory compliance, e.g., standards
• Project size, team distribution, and number of
stakeholders
• Background of stakeholders and communication
challenges
• Presence of product lines with multiple customers
• Importance of early contractual agreement
• Frequency and consequences of changes in
requirements
Observations
9
• Natural language in requirements won’t go
away.
• The cost of rigorous requirements
engineering must be justified by clear
automation benefits.
• Limited research given the many and varying
industrial automation needs, in widely
varying contexts.
Outline
10
• Report on a variety of research projects
• Collaborations with industry
• Various objectives and applications
• Examples from automotive and satellite
• Lessons learned and reflections
Overview
NL Requirements
Well-formed, consistent, complete, information?
Automated Testing Product Configuration
11
Extraction
from
Documents? Change impact?
Other Artifacts
Mode of Collaboration
12
• Research driven by industry needs
• Realistic evaluations
• Combining research with innovation and technology transfer
Adapted from [Gorschek et al. 2006]
Problem
Formulation
Problem
Identification
State of the
Art Review
Candidate
Solution(s)
Initial
Validation
Training
Realistic
Validation
Industry Partners
Research Groups
1
2
3
4
5
7
Solution
Release
8
6
13
Change Impact Analysis
Supporting Change
14
• Requirements change frequently
• Changes have side-effects on other
requirements, design decisions, test cases …
• How do we support such changes in ways
that scale to hundreds of requirements or
more?
• Automated impact analysis
Inter-Requirements
15
Inter-Requirements
Change Impact Analysis
Approach
16
• Hundreds of requirements
• No traceability
• We propose an approach based on: (1) Natural
Language Processing, (2) Phrase syntactic
and semantic similarity measures
Example
• R1: The mission operation controller shall transmit satellite
status reports to the user help desk.
• R2: The satellite management system shall provide users with
the ability to transfer maintenance and service plans to the
user help desk.
• R3: The mission operation controller shall transmit any
detected anomalies with the user help desk.
17
Change
• R1: The mission operation controller shall transmit satellite
status reports to the user help desk document repository.
• R2: The satellite management system shall provide users with
the ability to transfer maintenance and service plans to the
user help desk.
• R3: The mission operation controller shall transmit any
detected anomalies with the user help desk.
18
Challenge #1
Capture Changes Precisely
• R1: The mission operation controller shall transmit satellite
status reports to the user help desk document repository.
• R2: The satellite management system shall provide users with
the ability to transfer maintenance and service plans to the
user help desk.
• R3: The mission operation controller shall transmit any
detected anomalies with the user help desk.
19
Challenge #2
Capture Change Rationale
• R1: The mission operation controller shall transmit satellite
status reports to the user help desk document repository.
• R2: The satellite management system shall provide users with
the ability to transfer maintenance and service plans to the
user help desk.
• R3: The mission operation controller shall transmit any
detected anomalies with the user help desk.
20
• R1: The mission operation controller shall transmit satellite status reports to the user help desk
document repository.
• R2: The satellite management system shall provide users with the ability to transfer
maintenance and service plans to the user help desk.
• R3: The mission operation controller shall transmit any detected anomalies with the user help
desk.
Challenge #2
Change Rationale
21
Possible Rationales:
1: We want to globally rename “user help desk”
2: Avoid communication between “mission
operation controller” and “user help desk” (R3)
3: We no longer want to “transmit satellite status
reports” to “user help desk” but instead to “user
document repository” (only R1)
Determine conditions under which change
should propagate
Solution Characteristics
• Account for the phrasal structure of requirements
The mission operation controller shall transmit satellite status
reports to the user help desk document repository.
user help desk, Deleted
user document repository, Added
• Account for change rationale expressed by user (propagation condition)
• Consider semantically-related phrases that are not exact matches and
close syntactic variations across requirements: quantitative matching of
condition
22
Narcia
https://sites.google.com/site/svvnarcia/
Evaluation
24
158 Requirements
9 change scenrios
72 Requirements
5 Change
Scenarios
“touristic attraction”
is a
“point of interest”
Reason:
Lack of a Domain Model
1 impacted requirement missed
out of a total of 106 impacted
requirements.
Effectiveness of Our Approach
25
FutileInspectionEffort
1% - 7% 6% - 8%
45%
Requirements to Design
26
Requirements-to-Design
Change Impact Analysis
Motivations
• Rigorous change management required by many standards
and customers in safety critical systems, and embedded
systems in general in many industry sectors
• Impact of requirements changes on design decisions
• Complete and precise design impact set
• SysML commonly used as embedded and cyber-physical
system design representation
27
Requirements Diagram
28
:Over-Temperature
Monitor
:Diagnostics
Manager
:Diagnostics and
Status Signal
Generation
:Digital to Analog
Converter
:DC Motor
Controller:Temperature
Processor
<<requirement>>
Over-Temperature
Detection
(R11)
<<requirement>>
Operational
Temperature Range
(R12)
B1
B2
B3
B4
B5
B6
<<satisfy>>
<<satisfy>>
Structural Diagram
Diagnostics Manager
<<Decision>>
Is position valid?
<<Decision>>
Over-Temp detected?
<<Assignment>>
Error = 1
B3
<<Assignment>>
MotorDriveMode = OFF
<<Assignment>>
MotorDriveMode = RUN
[yes] [no]
[yes]
[no]
Behavioural Diagram
Compute Impacted Elements
31
Structural
Analysis
Behavioural
Analysis
:Over-Temperature
Monitor
:Diagnostics
Manager
:Diagnostics and
Status Signal
Generation
:Digital to Analog
Converter
:DC Motor
Controller:Temperature
Processor
<<requirement>>
Over-Temperature
Detection
(R11)
<<requirement>>
Operational
Temperature Range
(R12)
B1
B2
B3
B4
B5
B6
<<satisfy>>
<<satisfy>>
Structural Diagram
:Over-Temperature
Monitor
:Diagnostics
Manager
:Diagnostics and
Status Signal
Generation
:Digital to Analog
Converter
:DC Motor
Controller:Temperature
Processor
<<requirement>>
Over-Temperature
Detection
(R11)
<<requirement>>
Operational
Temperature Range
(R12)
B1
B2
B3
B4
B5
B6
<<satisfy>>
<<satisfy>>
Structural Diagram
Change to R11: Change over temperature detection level to 147 C
from 110 C.
:Over-Temperature
Monitor
:Diagnostics
Manager
:Diagnostics and
Status Signal
Generation
:Digital to Analog
Converter
:DC Motor
Controller:Temperature
Processor
<<requirement>>
Over-Temperature
Detection
(R11)
<<requirement>>
Operational
Temperature Range
(R12)
B1
B2
B3
B4
B5
B6
<<satisfy>>
<<satisfy>>
Structural Diagram
Diagnostics Manager
<<Decision>>
Is position valid?
<<Decision>>
Over-Temp detected?
<<Assignment>>
Error = 1
B3
<<Assignment>>
MotorDriveMode = OFF
<<Assignment>>
MotorDriveMode = RUN
[yes] [no]
[yes]
[no]
Behavioural Diagram
Diagnostics Manager
<<Decision>>
Is position valid?
<<Decision>>
Over-Temp detected?
<<Assignment>>
Error = 1
B3
<<Assignment>>
MotorDriveMode = OFF
<<Assignment>>
MotorDriveMode = RUN
[yes] [no]
[yes]
[no]
Behavioural Diagram
input
from B2
output
to B5
output
to B4
:Over-Temperature
Monitor
:Diagnostics
Manager
:Diagnostics and
Status Signal
Generation
:Digital to Analog
Converter
:DC Motor
Controller:Temperature
Processor
<<requirement>>
Over-Temperature
Detection
(R11)
<<requirement>>
Operational
Temperature Range
(R12)
B1
B2
B3
B4
B5
B6
<<satisfy>>
<<satisfy>>
Structural Diagram
Rank Elements
38
Natural
Language
Processing
Analysis
Change to R11: Change
over temperature detection
level to 147 C from 110 C.
B2, B3, B4, B6
B2
B6
B3
B4
Ranked
according to
likelihood of
impact
Change Statements
• Informal inputs from systems engineers regarding impact of
changes
• Example: “Temperature lookup tables and voltage converters
need to be adjusted”
39
Natural Language Processing
• Compute similarity scores (syntactic and semantic) between
model elements labels and change statements
• Experimented with pairwise combinations of syntactic and
semantic measures
• Sort the design elements obtained after structural and
behavioral analysis based on the similarity scores
• Engineers inspect the sorted lists to identify impacted
elements
40
Identifying a Subset to Inspect
• Pick the last significant peak in delta similarity between two
successive elements
• Point beyond which the similarity scores can no longer adequately
tell apart the elements
Delta
r = 49%
% of elements inspected in the sorted list
0 25 50 75 100
0.0
0.1
0.2
0.0
0.8
0.6
0.4
0.2
Similarityscore
h = 0.26max
h = 0.026max/10
hlast
Overview
42
Build SysML
Models
System
Requirements
Traceability
Information Model
Requirements and
Design Models
Estimated
Impact Set
Compute
Impacted
Elements
Requirements Changes and
Informal Change Statements
Phrases
Similarity
Matrix
Process
Change
Statements
Sort
Elements
Sorted
Elements
Evaluation
43
370 elements
16 change scenarios
Effectiveness of Our Approach
FutileInspectionEffort(%)
Structural
Effectiveness of Our Approach
Structural Behavioural
FutileInspectionEffort(%)
Effectiveness of Our Approach
Structural Behavioural NLP
1 impacted element missed out of
a total of 81 impacted elements.
FutileInspectionEffort(%)
47
Extracting Domain Knowledge
Domain Knowledge
48
• All requirements depend, more or less
explicitly, on domain knowledge
• Domain-specific concepts and terminology
• In practice: Not always consistent among all
stakeholders
• Software engineers often have a superficial
understanding of the application domain they
target
• Extracting domain knowledge from
requirements: Glossary, domain model …
Domain Models
A domain model is a representation of conceptual entities or
real-world objects in a domain of interest
49
• Glossary
• Constraints
Motivation
• Representation of important domain concepts and their relations
• Facilitate communication between stakeholders from different
backgrounds
• Help identify inconsistencies in terminology, etc.
• Helps assess completeness of requirements
• In practice, domain models are not preceding the elicitation and writing of
requirements
50
Context
51
Requirements
Analysts
NL Requirements
Document
Class A
Class B
Class C
Class D
1 *
Relation
Domain
Model
Build Domain
Model
Specify
Requirements
Problem Definition
• Manually building domain models is laborious
• Automated support is required for building domain models
52
State of the Art
• Multiple approaches exist for extracting domain models or
similar variants from requirements using extraction rules
• Majority assume specific structure, e.g., restricted NL
• Extraction of direct relations only but not indirect ones
• Limited empirical results on industrial requirements
76
Approach
54
Process
Requirements
Statements
Lift
Dependencies to
Semantic Units
Construct
Domain Model
NL
Requirements
Phrasal
Structure
Dependencies Phrase-level
Dependencies
Class A
Class B
Class C
Class D
1 *
Relation
Domain
Model
Extraction
Rules
Approach
55
Process
Requirements
Statements
Lift
Dependencies to
Semantic Units
Construct
Domain Model
NL
Requirements
Phrasal
Structure
Dependencies Phrase-level
Dependencies
Class A
Class B
Class C
Class D
1 *
Relation
Domain
Model
Extraction
Rules
Grammatical Dependencies
56
The system operator shall initialize the simulator configuration.
nsubj dobj
Operator Configuration
initalize
Lift Dependencies to Semantic Units
57
The system operator shall initialize the simulator configuration.
nsubj dobj
Operator Configuration
initalize
System
Operator
Simulator
Configuration
initalize
nsubj dobj
Approach
58
Process
Requirements
Statements
Lift
Dependencies to
Semantic Units
Construct
Domain Model
NL
Requirements
Phrasal
Structure
Dependencies Phrase-level
Dependencies
Class A
Class B
Class C
Class D
1 *
Relation
Domain
Model
23 Extraction
Rules
Link Paths – Indirect Relations
59
The simulator shall send log messages to the
database via the monitoring interface.
Simulator Log Message
send
Simulator Database
send log message
to
Simulator
Monitoring
Interface
send log message
to database via
How useful is our approach?
50 Requirements
213 Relations
• Interview survey with
experts
• Correctness and Relevance
of each relation
• Missing relations in each
requirement
83
Relevance: 37% (avg.)
Correctness: 88% (avg.)
Results
Missed: 10% (avg.)
Breakdown of the
remaining 63%
12% are incorrect
51% are correct but
superfluous
Incorrectness largely
explained by NLP
errors
61
Statistics for Superfluousness
69%
20%
11%
0% 10% 20% 30% 40% 50% 60% 70% 80%
TOO	DETAILED
TOO	UNSPECIFIC
TRIVIAL	KNOWLEDGE
Evidence that NL requirements
contain finer-grained information
than what one normally captures in a
domain model
62
Can we improve the relevance of
model extraction results?
63
Active Learning
• Definition: Machine learning paradigm in which a learning
technique interactively requests inputs from an external
source in order to improve the accuracy of the machine
learning model.
• Application: We process analysts’ feedback, and
dynamically apply the logic gleaned from the feedback for
reducing superfluous information.
64
Active Learning Feedback Loop
Pick relation(s)
to inspect
Inspect
relation(s)
Decide about
relevance
Classification
Model
labeled
relations
Recommendations
65
Example Features (1/2)
Label-independent (Never updated):
• Type of the relation: Association, Aggregation,
Generalization
• The extraction rule that produced the relation
• Number of tokens in the relation’s end points (concepts)
66
Example Features (2/2)
Label-dependent (Updated with new relations):
• Number of relevant relations (in the training set) extracted
from the same requirement as the given relation
• Number of relevant relations in the training set that share
one end concept with the given relation
• Number of relevant relations in the training set that share
both end concept with a given relation
67
Effectiveness of Detecting
Superfluous Relations
• 96% of the recommendations made are correct
• The approach is unlikely to throw the analyst off-course.
• 45% of the superfluous relations are automatically marked
• Potentially significant savings
• We do not need a large seed training set: 30-40 relations
68
69
Requirements-Driven Testing
Traceability
70
• In many domains, various types of traceability
are required
• For example, in automotive (ISO 26262),
traceability between requirements and system
tests: requirements-driven testing
• Many requirements, many tests, therefore
many traces …
• Automation is required
Context
International Electronics
& Engineering (IEE)
IEE develops real-time embedded systems:
• Automotive safety sensing systems
• Automotive comfort & convenience systems,
e.g., Smart Trunk Opener
71
Objectives
• Support generation test cases from requirements
• Capture and create traceability information between test
cases and requirements
• Requirements are captured through use cases
• Use cases are used to communicate with customers and the
system test team
• Complete and precise behavioral models are not an option:
too difficult and expensive (no model-based testing)
72
Strategy
• Analyzable use case specifications
• Automatically extract test model from the use case
specifications using Natural Language Processing
• Minimize modeling, domain modeling only
• No behavioral modeling
73
Errors.size() == 0
Status != null
t > 0 && t < 50
Constraints
Domain Model
Test Cases
Test Scenarios
74
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SEND
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SEND
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SEND
Use Cases
Evaluate
Consistency
UMTG
• RUCM is based on a (1) template, (2) restriction rules,
and (3) specific keywords constraining the use of
natural language in use case specifications
• RUCM reduces ambiguity and facilitates automated
analysis of use cases
• Conformance is supported by a tool based on NLP
Restricted Use Case Modeling:
RUCM
75
RUCM
Use Case Name: Identify Occupancy Status
Actors: AirbagControlUnit
Precondition: The system has been initialized
. . .
Basic Flow
1. The seat SENDS occupancy status TO the system.
2. INCLUDE USE CASE Classify occupancy status.
3. The system VALIDATES THAT the occupant class for airbag control is valid.
4. The system SENDS the occupant class for airbag control TO AirbagControlUnit.
Specific Alternative Flow
RFS 3
1. IF the occupant class for airbag control is not valid THEN
Postcondition: The occupant class for airbag control has been sent.
Postcondition: The previous occupant class for airbag control has been sent.
[Yue et al. TOSEM’13]
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SEND
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SEND
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SEND
ERRORS ARE ABSENT
TEMPERATURE IS LOW
STATUS IS VALID
Identify Constraints
4
Constraint descriptions
Errors.size() == 0
Status != null
t > 0 && t < 50
Generate
Scenarios and
Inputs
6
Elicit Use Cases
1
Missing Entities
Specify Constraints
5
OCL constraints
Model the Domain
2
Evaluate
Consistency
3
Domain Model
RUCM
Use Cases
Generate
Test Cases
7
Test Cases
Object
Diagrams
Test
Scenarios Mapping Table
Elicit Use Cases
1
Model the Domain
2
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SEND
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SEND
THE ACTOR SEND
THE SYSTEM VALI
THE SYSTEM DIS
THE ACTOR SENDRUCM
Use Cases
Generate
Scenarios and
Inputs
6
ERRORS ARE ABSENT
TEMPERATURE IS LOW
STATUS IS VALID
Identify Constraints
4
Constraint descriptions
Evaluate
Consistency
3
Domain Model
Based on Natural
Language Processing
Errors.size() == 0
Status != null
t > 0 && t < 50
Specify Constraints
5
OCL constraints
79
Basic Flow
1. The seat SENDS occupancy status TO the system.
2. INCLUDE USE CASE Classify occupancy status.
3. The system VALIDATES THAT
the occupant class for airbag control is valid and
the occupant class for seat belt reminder is valid.
4. The system SENDS the occupant class for airbag control TO
AirbagControlUnit.
5. The system SENDS the occupant class for seat belt reminder TO
SeatBeltControlUnit.
6. The System Waits for next execution cycle.
Postcondition: The occupant class for airbag control and the
occupant class for seat belt reminder have been sent.
INPUT STEP
INCLUDE STEP
CONDITIONAL STEP
OUTPUT STEP
OUTPUT STEP
INTERNAL STEP
POSTCONDITION
DOMAIN ENTITY
CONSTRAINT
CONSTRAINT
DOMAIN ENTITY
DOMAIN ENTITY
UseCaseStart
Input
Include
Condition
Output
Exit
Condition
Exit Output
Exit
OccupancyStatus
DomainEntity
Condition
“no error has been detected”
OCL Constraint
Error.allInstances()
->forAll( i | i.isDetected = false)
“the occupant class for airbag
control was derived.”
…
DomainEntity
…
DomainEntity
OCL Constraint
BodySenseSystem.allInstances() → forAll( b |
b.OccupantClassForAirbag = Child
OR b.OccupantClassForAirbag = Adult )
OCL Constraint
…
Constraint solving: UML2Alloy
Evaluate Model Consistency
81
Occupant Class for Airbag Control
Occupant Class for Seat Belt Reminder
Domain Entities
AirbagControl
System
Sensor
OccupantStatus
- OccupantClassForAirbagControl
- OccupantClassForSeatBeltReminder
Airbag Control Classification Filter Sensor
ClassificationFilter
Tagged Use Case
1
1
1
1
1
1
1
1..*
1 1
82
https://sites.google.com/site/umtgTestGen/
Toolset integrated with IBM
DOORS and Rhapsody
Case Study
• BodySense, embedded system for detecting occupancy
status in a car
• Evaluation:
• Cost of additional modelling (Constraints)
• Effectiveness in terms of covered scenarios
compared to current practice at IEE
• Keep in mind changes and repeated testing
83
Costs of Additional Modeling
84
Use Case Steps Use Case
Flows
OCL
Constraints
UC1 50 8 9
UC2 44 13 7
UC3 35 8 8
UC4 59 11 12
UC5 30 8 5
UC6 25 6 12
5 to 10 minutes to write each constraints
=> A maximum of 10 hours in total
Effectiveness: scenarios covered
85
0
5
10
15
20
25
30
35
40
UC1 UC2 UC3 UC4 UC5 UC6
Scenarios Covered By Engineer Scenarios Covered By UMTG
100%
100%
100%
100% 100%
100%
81%
77%
100%
86%
50% 67%
It is hard for engineers to capture
all the possible scenarios
involving error conditions.
Generating OCL Constraints
86
• Constraints may be a challenge in practice
• NLP: Semantic Role Labeling
• Determine the role of words in a sentence
(e.g., affected actor)
• Match words with corresponding concepts in
the domain model
• Generate an OCL formula based on patterns
Semantic Role Labeling (SRL)
“no error has been detected”
Error.allInstances()->forAll( i | i.isDetected = false)
A1
“The system detects temperature errors
TemperatureError.allInstances()->forAll( i | i.isDetected = true)
A1
A1A0
A1: actor that is affected by the
activity described in a sentence
A0: actor that performs
an activity
A1 verb
verb
verb
verb
Empirical Evaluation
• Case study: BodySense, embedded system for detecting
occupancy status in a car
• Evaluation:
• Automatically generate the OCL constraints required
to automatically derive executable test cases
• Automatically generate executable test cases
88
OCL generation: Precision and Recall
• 88 OCL constraints to be generated
• OCLGen generates 69 constraints
• 66 correct, only 3 incorrect
• Very high precision
• High Recall
89
# Correctly generated constraints
# Generated constraints
=precision = = 0.97
66
69
# Correctly generated constraints
# Constraints to be generated
=recall = = 0.7566
88
Results: Limiting Factors
• Imprecise specifications
• “The system VALIDATES THAT the temperature is valid“
• Inconsistent terminology
• “The system VALIDATES THAT the occupancy status is valid“
BodySense.allInstances()->forAll( i | i.temperature < 200 )
BodySense.allInstances()->forAll( i | i.occupancyStatus <> Empty )
90
Misuse
Case
Specifications
Security
Use Case
Specifications
Security
Functional
Testing
Security
Vulnerability
Testing
Automated Generation of
Executable Test Cases
Validating whether the
specified security
properties are
implemented correctly
Addressing the
identification of
system
vulnerabilities
Benefits of automated generation:
• Automated generation reduces
development costs
• Ensures coverage and traceability
• Compliance with standards and
regulations
Security Testing
Summary
NL Requirements
Well-formed, consistent, complete, information?
Automated Testing Product Configuration
92
Extraction
from
Documents? Change impact?
Other Artifacts
The Complexity of our World
• Many applications, diversity of contexts, and types of NL
requirements
• Variety of very different working assumptions
• Form of requirements, e.g., RUCM
• Change information
• Modeling practice, e.g., domain models
• Scale, e.g., embedded automotive versus satellite ground
control systems
The Road Ahead
94
• Practical solutions are possible based on
combining advanced NLP and (often) machine
learning.
• We must account for practicality and
scalability at the outset, not as an
afterthought.
• We need more (reported) industrial
experiences, as working assumptions play a
key role.
.lusoftware verification & validation
VVS
Automated Analysis of
Natural-Language Requirements:
Industrial Needs and Opportunities
AIRE’2018 @ RE’2018
Lionel Briand
Interdisciplinary Centre for ICT Security, Reliability, and Trust (SnT)
University of Luxembourg, Luxembourg
References
96
Analysis of Natural Language Requirements
• [TSE 2017] C. Arora et al., Automated Extraction and Clustering of Requirements Glossary Terms
• [MODELS 2016] C. Arora et al., Extracting Domain Models from Natural-Language Requirements: Approach and Industrial Evaluation
• [RE 2015] C. Arora et al., Change Impact Analysis for Natural Language Requirements: An NLP Approach
• [TSE 2015] C. Arora et al., Automated Checking of Conformance to Requirements Templates using Natural Language Processing
Requirements-Driven (Security) Testing
• [ISSTA 2015] C. Wang et al., Automatic Generation of System Test Cases from Use Case Specifications
• [ICST 2017] C. Wang et al., System Testing of Timing Requirements based on Use Cases and Timed Automata
• [ICST 2018] C. Wang et al., Automated Generation of Constraints from Use Case Specifications to Support System Testing
• [ISSRE 2018] P. Mai et al., A Natural Language Programming Approach for Requirements-based Security Testing
References
97
Product Families and Configuration
• [SoSYM 2018] I. Hajri et al., Configuring Use Case Models in Product Families
• [JSS 2018] I. Hajri et al., Change Impact Analysis for Evolving Configuration Decisions in Product
Line Use Case Models
Impact Analysis
• [FSE 2016] S. Nejati et al., Automated Change Impact Analysis between SysML Models of
Requirements and Design
• [RE 2015] C. Arora et al., Change Impact Analysis for Natural Language Requirements: An NLP
Approach

More Related Content

What's hot

computer system validation
computer system validationcomputer system validation
computer system validationGopal Patel
 
ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2Jonathan Herring
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolutionkim.mens
 
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM IIIEmbedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM IIINi
 
SE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and SpecificationSE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and SpecificationAmr E. Mohamed
 
Jerry Schwab_2016 combined 3a
Jerry Schwab_2016 combined 3aJerry Schwab_2016 combined 3a
Jerry Schwab_2016 combined 3aJerry Schwab
 
Myths of validation
Myths of validationMyths of validation
Myths of validationJeff Thomas
 
Software validation do's and dont's may 2013
Software validation do's and dont's may 2013Software validation do's and dont's may 2013
Software validation do's and dont's may 2013John Cachat
 
Ch 10 cost of software quality
Ch 10 cost of software qualityCh 10 cost of software quality
Ch 10 cost of software qualityKittitouch Suteeca
 
Domain Modelling
Domain ModellingDomain Modelling
Domain Modellingkim.mens
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)ShudipPal
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSanthiya Grace
 

What's hot (20)

SDLC Model
SDLC  ModelSDLC  Model
SDLC Model
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
computer system validation
computer system validationcomputer system validation
computer system validation
 
ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2ODD: Extending Requirements Analysis 1.2
ODD: Extending Requirements Analysis 1.2
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolution
 
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM IIIEmbedded Systems Q and A M.Sc.(IT) PART II SEM III
Embedded Systems Q and A M.Sc.(IT) PART II SEM III
 
SE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and SpecificationSE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and Specification
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Jerry Schwab_2016 combined 3a
Jerry Schwab_2016 combined 3aJerry Schwab_2016 combined 3a
Jerry Schwab_2016 combined 3a
 
Qa
QaQa
Qa
 
Introduction
IntroductionIntroduction
Introduction
 
Myths of validation
Myths of validationMyths of validation
Myths of validation
 
Software validation do's and dont's may 2013
Software validation do's and dont's may 2013Software validation do's and dont's may 2013
Software validation do's and dont's may 2013
 
2. Software process
2. Software process2. Software process
2. Software process
 
Ch 10 cost of software quality
Ch 10 cost of software qualityCh 10 cost of software quality
Ch 10 cost of software quality
 
Domain Modelling
Domain ModellingDomain Modelling
Domain Modelling
 
RamPravesh_Kumar
RamPravesh_KumarRamPravesh_Kumar
RamPravesh_Kumar
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Sdlc
Sdlc Sdlc
Sdlc
 

Similar to Automated NL Requirements Analysis

Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Lionel Briand
 
Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Lionel Briand
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Lionel Briand
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Agile for Software as a Medical Device
Agile for Software as a Medical DeviceAgile for Software as a Medical Device
Agile for Software as a Medical DeviceOrthogonal
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsSAIL_QU
 
Automated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignAutomated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignLionel Briand
 
Michael Felderer - Leveraging Defect Taxonomies for Testing - EuroSTAR 2012
Michael Felderer - Leveraging Defect Taxonomies for Testing - EuroSTAR 2012Michael Felderer - Leveraging Defect Taxonomies for Testing - EuroSTAR 2012
Michael Felderer - Leveraging Defect Taxonomies for Testing - EuroSTAR 2012TEST Huddle
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentRAVALCHIRAG1
 
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.pptsfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.pptssuser2d043c
 
Agile in Medical Software Development
Agile in Medical Software DevelopmentAgile in Medical Software Development
Agile in Medical Software DevelopmentBernhard Kappe
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsÁkos Horváth
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplifiedcbb010
 
Software Quality Assurance class 1
Software Quality Assurance  class 1Software Quality Assurance  class 1
Software Quality Assurance class 1Santhiya Grace
 

Similar to Automated NL Requirements Analysis (20)

Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?Traceability Beyond Source Code: An Elusive Target?
Traceability Beyond Source Code: An Elusive Target?
 
Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Agile for Software as a Medical Device
Agile for Software as a Medical DeviceAgile for Software as a Medical Device
Agile for Software as a Medical Device
 
Automated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise ApplicationsAutomated Discovery of Performance Regressions in Enterprise Applications
Automated Discovery of Performance Regressions in Enterprise Applications
 
Automated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignAutomated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and Design
 
Michael Felderer - Leveraging Defect Taxonomies for Testing - EuroSTAR 2012
Michael Felderer - Leveraging Defect Taxonomies for Testing - EuroSTAR 2012Michael Felderer - Leveraging Defect Taxonomies for Testing - EuroSTAR 2012
Michael Felderer - Leveraging Defect Taxonomies for Testing - EuroSTAR 2012
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
SE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it studentSE_Unit 2.pdf it is a process model of it student
SE_Unit 2.pdf it is a process model of it student
 
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.pptsfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
sfdgdfgfgfdgvsdfdsfedrfewsfdsfsfterfdcm.ppt
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Agile in Medical Software Development
Agile in Medical Software DevelopmentAgile in Medical Software Development
Agile in Medical Software Development
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
Presentation of se
Presentation of sePresentation of se
Presentation of se
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
 
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
Nesma autumn conference 2015 - Is FPA a valuable addition to predictable agil...
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplified
 
Software Quality Assurance class 1
Software Quality Assurance  class 1Software Quality Assurance  class 1
Software Quality Assurance class 1
 

More from Lionel Briand

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityLionel Briand
 
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Lionel Briand
 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingLionel Briand
 
Data-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsData-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsLionel Briand
 
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsMany-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsLionel Briand
 
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...Lionel Briand
 
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Lionel Briand
 
PRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsPRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsLionel Briand
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingLionel Briand
 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Lionel Briand
 
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyAutonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyLionel Briand
 
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Lionel Briand
 
Reinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationReinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationLionel Briand
 
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Lionel Briand
 
On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...Lionel Briand
 
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Lionel Briand
 
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Lionel Briand
 
A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...Lionel Briand
 

More from Lionel Briand (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System Security
 
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation Testing
 
Data-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsData-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical Systems
 
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsMany-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
 
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
 
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
 
PRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsPRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System Logs
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software Testing
 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
 
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyAutonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
 
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
 
Reinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationReinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case Prioritization
 
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
 
On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...
 
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
 
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
 
A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...
 

Recently uploaded

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 

Recently uploaded (20)

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 

Automated NL Requirements Analysis

  • 1. .lusoftware verification & validation VVS Automated Analysis of Natural-Language Requirements: Industrial Needs and Opportunities AIRE’2018 @ RE’2018 Lionel Briand Interdisciplinary Centre for ICT Security, Reliability, and Trust (SnT) University of Luxembourg, Luxembourg
  • 2. Acknowledgements 2 • Mehrdad Sabetzadeh • Chetan Arora • Shiva Nejati • Fabrizio Pastore • Chunhui Wang
  • 4. Applications 4 • Requirements to support a shared understanding among stakeholders in (large) projects, e.g., software engineers and domain experts • Requirements as contract with customers • Requirements to support compliance with standards, e.g., traceability to tests • Requirements to support quality assurance, e.g., system (security) testing • Requirements to support change control • Requirements to support product-line configuration
  • 5. For many of these applications, there is little automated tool support. 5
  • 6. Forms of NL Requirements 6 • Natural language statements, complying or not with templates • User stories, following various templates • Use case specifications, possibly structured and restricted • Mixing natural language and models, e.g., class and activity diagrams
  • 7. The best form of requirements depends on context and targeted applications. 7
  • 8. Contextual Factors 8 • No “right” way to express requirements • Domain complexity and criticality • Regulatory compliance, e.g., standards • Project size, team distribution, and number of stakeholders • Background of stakeholders and communication challenges • Presence of product lines with multiple customers • Importance of early contractual agreement • Frequency and consequences of changes in requirements
  • 9. Observations 9 • Natural language in requirements won’t go away. • The cost of rigorous requirements engineering must be justified by clear automation benefits. • Limited research given the many and varying industrial automation needs, in widely varying contexts.
  • 10. Outline 10 • Report on a variety of research projects • Collaborations with industry • Various objectives and applications • Examples from automotive and satellite • Lessons learned and reflections
  • 11. Overview NL Requirements Well-formed, consistent, complete, information? Automated Testing Product Configuration 11 Extraction from Documents? Change impact? Other Artifacts
  • 12. Mode of Collaboration 12 • Research driven by industry needs • Realistic evaluations • Combining research with innovation and technology transfer Adapted from [Gorschek et al. 2006] Problem Formulation Problem Identification State of the Art Review Candidate Solution(s) Initial Validation Training Realistic Validation Industry Partners Research Groups 1 2 3 4 5 7 Solution Release 8 6
  • 14. Supporting Change 14 • Requirements change frequently • Changes have side-effects on other requirements, design decisions, test cases … • How do we support such changes in ways that scale to hundreds of requirements or more? • Automated impact analysis
  • 16. Approach 16 • Hundreds of requirements • No traceability • We propose an approach based on: (1) Natural Language Processing, (2) Phrase syntactic and semantic similarity measures
  • 17. Example • R1: The mission operation controller shall transmit satellite status reports to the user help desk. • R2: The satellite management system shall provide users with the ability to transfer maintenance and service plans to the user help desk. • R3: The mission operation controller shall transmit any detected anomalies with the user help desk. 17
  • 18. Change • R1: The mission operation controller shall transmit satellite status reports to the user help desk document repository. • R2: The satellite management system shall provide users with the ability to transfer maintenance and service plans to the user help desk. • R3: The mission operation controller shall transmit any detected anomalies with the user help desk. 18
  • 19. Challenge #1 Capture Changes Precisely • R1: The mission operation controller shall transmit satellite status reports to the user help desk document repository. • R2: The satellite management system shall provide users with the ability to transfer maintenance and service plans to the user help desk. • R3: The mission operation controller shall transmit any detected anomalies with the user help desk. 19
  • 20. Challenge #2 Capture Change Rationale • R1: The mission operation controller shall transmit satellite status reports to the user help desk document repository. • R2: The satellite management system shall provide users with the ability to transfer maintenance and service plans to the user help desk. • R3: The mission operation controller shall transmit any detected anomalies with the user help desk. 20
  • 21. • R1: The mission operation controller shall transmit satellite status reports to the user help desk document repository. • R2: The satellite management system shall provide users with the ability to transfer maintenance and service plans to the user help desk. • R3: The mission operation controller shall transmit any detected anomalies with the user help desk. Challenge #2 Change Rationale 21 Possible Rationales: 1: We want to globally rename “user help desk” 2: Avoid communication between “mission operation controller” and “user help desk” (R3) 3: We no longer want to “transmit satellite status reports” to “user help desk” but instead to “user document repository” (only R1) Determine conditions under which change should propagate
  • 22. Solution Characteristics • Account for the phrasal structure of requirements The mission operation controller shall transmit satellite status reports to the user help desk document repository. user help desk, Deleted user document repository, Added • Account for change rationale expressed by user (propagation condition) • Consider semantically-related phrases that are not exact matches and close syntactic variations across requirements: quantitative matching of condition 22
  • 24. Evaluation 24 158 Requirements 9 change scenrios 72 Requirements 5 Change Scenarios
  • 25. “touristic attraction” is a “point of interest” Reason: Lack of a Domain Model 1 impacted requirement missed out of a total of 106 impacted requirements. Effectiveness of Our Approach 25 FutileInspectionEffort 1% - 7% 6% - 8% 45%
  • 27. Motivations • Rigorous change management required by many standards and customers in safety critical systems, and embedded systems in general in many industry sectors • Impact of requirements changes on design decisions • Complete and precise design impact set • SysML commonly used as embedded and cyber-physical system design representation 27
  • 29. :Over-Temperature Monitor :Diagnostics Manager :Diagnostics and Status Signal Generation :Digital to Analog Converter :DC Motor Controller:Temperature Processor <<requirement>> Over-Temperature Detection (R11) <<requirement>> Operational Temperature Range (R12) B1 B2 B3 B4 B5 B6 <<satisfy>> <<satisfy>> Structural Diagram
  • 30. Diagnostics Manager <<Decision>> Is position valid? <<Decision>> Over-Temp detected? <<Assignment>> Error = 1 B3 <<Assignment>> MotorDriveMode = OFF <<Assignment>> MotorDriveMode = RUN [yes] [no] [yes] [no] Behavioural Diagram
  • 32. :Over-Temperature Monitor :Diagnostics Manager :Diagnostics and Status Signal Generation :Digital to Analog Converter :DC Motor Controller:Temperature Processor <<requirement>> Over-Temperature Detection (R11) <<requirement>> Operational Temperature Range (R12) B1 B2 B3 B4 B5 B6 <<satisfy>> <<satisfy>> Structural Diagram
  • 33. :Over-Temperature Monitor :Diagnostics Manager :Diagnostics and Status Signal Generation :Digital to Analog Converter :DC Motor Controller:Temperature Processor <<requirement>> Over-Temperature Detection (R11) <<requirement>> Operational Temperature Range (R12) B1 B2 B3 B4 B5 B6 <<satisfy>> <<satisfy>> Structural Diagram Change to R11: Change over temperature detection level to 147 C from 110 C.
  • 34. :Over-Temperature Monitor :Diagnostics Manager :Diagnostics and Status Signal Generation :Digital to Analog Converter :DC Motor Controller:Temperature Processor <<requirement>> Over-Temperature Detection (R11) <<requirement>> Operational Temperature Range (R12) B1 B2 B3 B4 B5 B6 <<satisfy>> <<satisfy>> Structural Diagram
  • 35. Diagnostics Manager <<Decision>> Is position valid? <<Decision>> Over-Temp detected? <<Assignment>> Error = 1 B3 <<Assignment>> MotorDriveMode = OFF <<Assignment>> MotorDriveMode = RUN [yes] [no] [yes] [no] Behavioural Diagram
  • 36. Diagnostics Manager <<Decision>> Is position valid? <<Decision>> Over-Temp detected? <<Assignment>> Error = 1 B3 <<Assignment>> MotorDriveMode = OFF <<Assignment>> MotorDriveMode = RUN [yes] [no] [yes] [no] Behavioural Diagram input from B2 output to B5 output to B4
  • 37. :Over-Temperature Monitor :Diagnostics Manager :Diagnostics and Status Signal Generation :Digital to Analog Converter :DC Motor Controller:Temperature Processor <<requirement>> Over-Temperature Detection (R11) <<requirement>> Operational Temperature Range (R12) B1 B2 B3 B4 B5 B6 <<satisfy>> <<satisfy>> Structural Diagram
  • 38. Rank Elements 38 Natural Language Processing Analysis Change to R11: Change over temperature detection level to 147 C from 110 C. B2, B3, B4, B6 B2 B6 B3 B4 Ranked according to likelihood of impact
  • 39. Change Statements • Informal inputs from systems engineers regarding impact of changes • Example: “Temperature lookup tables and voltage converters need to be adjusted” 39
  • 40. Natural Language Processing • Compute similarity scores (syntactic and semantic) between model elements labels and change statements • Experimented with pairwise combinations of syntactic and semantic measures • Sort the design elements obtained after structural and behavioral analysis based on the similarity scores • Engineers inspect the sorted lists to identify impacted elements 40
  • 41. Identifying a Subset to Inspect • Pick the last significant peak in delta similarity between two successive elements • Point beyond which the similarity scores can no longer adequately tell apart the elements Delta r = 49% % of elements inspected in the sorted list 0 25 50 75 100 0.0 0.1 0.2 0.0 0.8 0.6 0.4 0.2 Similarityscore h = 0.26max h = 0.026max/10 hlast
  • 42. Overview 42 Build SysML Models System Requirements Traceability Information Model Requirements and Design Models Estimated Impact Set Compute Impacted Elements Requirements Changes and Informal Change Statements Phrases Similarity Matrix Process Change Statements Sort Elements Sorted Elements
  • 44. Effectiveness of Our Approach FutileInspectionEffort(%) Structural
  • 45. Effectiveness of Our Approach Structural Behavioural FutileInspectionEffort(%)
  • 46. Effectiveness of Our Approach Structural Behavioural NLP 1 impacted element missed out of a total of 81 impacted elements. FutileInspectionEffort(%)
  • 48. Domain Knowledge 48 • All requirements depend, more or less explicitly, on domain knowledge • Domain-specific concepts and terminology • In practice: Not always consistent among all stakeholders • Software engineers often have a superficial understanding of the application domain they target • Extracting domain knowledge from requirements: Glossary, domain model …
  • 49. Domain Models A domain model is a representation of conceptual entities or real-world objects in a domain of interest 49 • Glossary • Constraints
  • 50. Motivation • Representation of important domain concepts and their relations • Facilitate communication between stakeholders from different backgrounds • Help identify inconsistencies in terminology, etc. • Helps assess completeness of requirements • In practice, domain models are not preceding the elicitation and writing of requirements 50
  • 51. Context 51 Requirements Analysts NL Requirements Document Class A Class B Class C Class D 1 * Relation Domain Model Build Domain Model Specify Requirements
  • 52. Problem Definition • Manually building domain models is laborious • Automated support is required for building domain models 52
  • 53. State of the Art • Multiple approaches exist for extracting domain models or similar variants from requirements using extraction rules • Majority assume specific structure, e.g., restricted NL • Extraction of direct relations only but not indirect ones • Limited empirical results on industrial requirements 76
  • 54. Approach 54 Process Requirements Statements Lift Dependencies to Semantic Units Construct Domain Model NL Requirements Phrasal Structure Dependencies Phrase-level Dependencies Class A Class B Class C Class D 1 * Relation Domain Model Extraction Rules
  • 55. Approach 55 Process Requirements Statements Lift Dependencies to Semantic Units Construct Domain Model NL Requirements Phrasal Structure Dependencies Phrase-level Dependencies Class A Class B Class C Class D 1 * Relation Domain Model Extraction Rules
  • 56. Grammatical Dependencies 56 The system operator shall initialize the simulator configuration. nsubj dobj Operator Configuration initalize
  • 57. Lift Dependencies to Semantic Units 57 The system operator shall initialize the simulator configuration. nsubj dobj Operator Configuration initalize System Operator Simulator Configuration initalize nsubj dobj
  • 58. Approach 58 Process Requirements Statements Lift Dependencies to Semantic Units Construct Domain Model NL Requirements Phrasal Structure Dependencies Phrase-level Dependencies Class A Class B Class C Class D 1 * Relation Domain Model 23 Extraction Rules
  • 59. Link Paths – Indirect Relations 59 The simulator shall send log messages to the database via the monitoring interface. Simulator Log Message send Simulator Database send log message to Simulator Monitoring Interface send log message to database via
  • 60. How useful is our approach? 50 Requirements 213 Relations • Interview survey with experts • Correctness and Relevance of each relation • Missing relations in each requirement 83
  • 61. Relevance: 37% (avg.) Correctness: 88% (avg.) Results Missed: 10% (avg.) Breakdown of the remaining 63% 12% are incorrect 51% are correct but superfluous Incorrectness largely explained by NLP errors 61
  • 62. Statistics for Superfluousness 69% 20% 11% 0% 10% 20% 30% 40% 50% 60% 70% 80% TOO DETAILED TOO UNSPECIFIC TRIVIAL KNOWLEDGE Evidence that NL requirements contain finer-grained information than what one normally captures in a domain model 62
  • 63. Can we improve the relevance of model extraction results? 63
  • 64. Active Learning • Definition: Machine learning paradigm in which a learning technique interactively requests inputs from an external source in order to improve the accuracy of the machine learning model. • Application: We process analysts’ feedback, and dynamically apply the logic gleaned from the feedback for reducing superfluous information. 64
  • 65. Active Learning Feedback Loop Pick relation(s) to inspect Inspect relation(s) Decide about relevance Classification Model labeled relations Recommendations 65
  • 66. Example Features (1/2) Label-independent (Never updated): • Type of the relation: Association, Aggregation, Generalization • The extraction rule that produced the relation • Number of tokens in the relation’s end points (concepts) 66
  • 67. Example Features (2/2) Label-dependent (Updated with new relations): • Number of relevant relations (in the training set) extracted from the same requirement as the given relation • Number of relevant relations in the training set that share one end concept with the given relation • Number of relevant relations in the training set that share both end concept with a given relation 67
  • 68. Effectiveness of Detecting Superfluous Relations • 96% of the recommendations made are correct • The approach is unlikely to throw the analyst off-course. • 45% of the superfluous relations are automatically marked • Potentially significant savings • We do not need a large seed training set: 30-40 relations 68
  • 70. Traceability 70 • In many domains, various types of traceability are required • For example, in automotive (ISO 26262), traceability between requirements and system tests: requirements-driven testing • Many requirements, many tests, therefore many traces … • Automation is required
  • 71. Context International Electronics & Engineering (IEE) IEE develops real-time embedded systems: • Automotive safety sensing systems • Automotive comfort & convenience systems, e.g., Smart Trunk Opener 71
  • 72. Objectives • Support generation test cases from requirements • Capture and create traceability information between test cases and requirements • Requirements are captured through use cases • Use cases are used to communicate with customers and the system test team • Complete and precise behavioral models are not an option: too difficult and expensive (no model-based testing) 72
  • 73. Strategy • Analyzable use case specifications • Automatically extract test model from the use case specifications using Natural Language Processing • Minimize modeling, domain modeling only • No behavioral modeling 73
  • 74. Errors.size() == 0 Status != null t > 0 && t < 50 Constraints Domain Model Test Cases Test Scenarios 74 THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SEND THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SEND THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SEND Use Cases Evaluate Consistency UMTG
  • 75. • RUCM is based on a (1) template, (2) restriction rules, and (3) specific keywords constraining the use of natural language in use case specifications • RUCM reduces ambiguity and facilitates automated analysis of use cases • Conformance is supported by a tool based on NLP Restricted Use Case Modeling: RUCM 75
  • 76. RUCM Use Case Name: Identify Occupancy Status Actors: AirbagControlUnit Precondition: The system has been initialized . . . Basic Flow 1. The seat SENDS occupancy status TO the system. 2. INCLUDE USE CASE Classify occupancy status. 3. The system VALIDATES THAT the occupant class for airbag control is valid. 4. The system SENDS the occupant class for airbag control TO AirbagControlUnit. Specific Alternative Flow RFS 3 1. IF the occupant class for airbag control is not valid THEN Postcondition: The occupant class for airbag control has been sent. Postcondition: The previous occupant class for airbag control has been sent. [Yue et al. TOSEM’13]
  • 77. THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SEND THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SEND THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SEND ERRORS ARE ABSENT TEMPERATURE IS LOW STATUS IS VALID Identify Constraints 4 Constraint descriptions Errors.size() == 0 Status != null t > 0 && t < 50 Generate Scenarios and Inputs 6 Elicit Use Cases 1 Missing Entities Specify Constraints 5 OCL constraints Model the Domain 2 Evaluate Consistency 3 Domain Model RUCM Use Cases Generate Test Cases 7 Test Cases Object Diagrams Test Scenarios Mapping Table
  • 78. Elicit Use Cases 1 Model the Domain 2 THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SEND THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SEND THE ACTOR SEND THE SYSTEM VALI THE SYSTEM DIS THE ACTOR SENDRUCM Use Cases Generate Scenarios and Inputs 6 ERRORS ARE ABSENT TEMPERATURE IS LOW STATUS IS VALID Identify Constraints 4 Constraint descriptions Evaluate Consistency 3 Domain Model Based on Natural Language Processing Errors.size() == 0 Status != null t > 0 && t < 50 Specify Constraints 5 OCL constraints
  • 79. 79 Basic Flow 1. The seat SENDS occupancy status TO the system. 2. INCLUDE USE CASE Classify occupancy status. 3. The system VALIDATES THAT the occupant class for airbag control is valid and the occupant class for seat belt reminder is valid. 4. The system SENDS the occupant class for airbag control TO AirbagControlUnit. 5. The system SENDS the occupant class for seat belt reminder TO SeatBeltControlUnit. 6. The System Waits for next execution cycle. Postcondition: The occupant class for airbag control and the occupant class for seat belt reminder have been sent. INPUT STEP INCLUDE STEP CONDITIONAL STEP OUTPUT STEP OUTPUT STEP INTERNAL STEP POSTCONDITION DOMAIN ENTITY CONSTRAINT CONSTRAINT DOMAIN ENTITY DOMAIN ENTITY
  • 80. UseCaseStart Input Include Condition Output Exit Condition Exit Output Exit OccupancyStatus DomainEntity Condition “no error has been detected” OCL Constraint Error.allInstances() ->forAll( i | i.isDetected = false) “the occupant class for airbag control was derived.” … DomainEntity … DomainEntity OCL Constraint BodySenseSystem.allInstances() → forAll( b | b.OccupantClassForAirbag = Child OR b.OccupantClassForAirbag = Adult ) OCL Constraint … Constraint solving: UML2Alloy
  • 81. Evaluate Model Consistency 81 Occupant Class for Airbag Control Occupant Class for Seat Belt Reminder Domain Entities AirbagControl System Sensor OccupantStatus - OccupantClassForAirbagControl - OccupantClassForSeatBeltReminder Airbag Control Classification Filter Sensor ClassificationFilter Tagged Use Case 1 1 1 1 1 1 1 1..* 1 1
  • 83. Case Study • BodySense, embedded system for detecting occupancy status in a car • Evaluation: • Cost of additional modelling (Constraints) • Effectiveness in terms of covered scenarios compared to current practice at IEE • Keep in mind changes and repeated testing 83
  • 84. Costs of Additional Modeling 84 Use Case Steps Use Case Flows OCL Constraints UC1 50 8 9 UC2 44 13 7 UC3 35 8 8 UC4 59 11 12 UC5 30 8 5 UC6 25 6 12 5 to 10 minutes to write each constraints => A maximum of 10 hours in total
  • 85. Effectiveness: scenarios covered 85 0 5 10 15 20 25 30 35 40 UC1 UC2 UC3 UC4 UC5 UC6 Scenarios Covered By Engineer Scenarios Covered By UMTG 100% 100% 100% 100% 100% 100% 81% 77% 100% 86% 50% 67% It is hard for engineers to capture all the possible scenarios involving error conditions.
  • 86. Generating OCL Constraints 86 • Constraints may be a challenge in practice • NLP: Semantic Role Labeling • Determine the role of words in a sentence (e.g., affected actor) • Match words with corresponding concepts in the domain model • Generate an OCL formula based on patterns
  • 87. Semantic Role Labeling (SRL) “no error has been detected” Error.allInstances()->forAll( i | i.isDetected = false) A1 “The system detects temperature errors TemperatureError.allInstances()->forAll( i | i.isDetected = true) A1 A1A0 A1: actor that is affected by the activity described in a sentence A0: actor that performs an activity A1 verb verb verb verb
  • 88. Empirical Evaluation • Case study: BodySense, embedded system for detecting occupancy status in a car • Evaluation: • Automatically generate the OCL constraints required to automatically derive executable test cases • Automatically generate executable test cases 88
  • 89. OCL generation: Precision and Recall • 88 OCL constraints to be generated • OCLGen generates 69 constraints • 66 correct, only 3 incorrect • Very high precision • High Recall 89 # Correctly generated constraints # Generated constraints =precision = = 0.97 66 69 # Correctly generated constraints # Constraints to be generated =recall = = 0.7566 88
  • 90. Results: Limiting Factors • Imprecise specifications • “The system VALIDATES THAT the temperature is valid“ • Inconsistent terminology • “The system VALIDATES THAT the occupancy status is valid“ BodySense.allInstances()->forAll( i | i.temperature < 200 ) BodySense.allInstances()->forAll( i | i.occupancyStatus <> Empty ) 90
  • 91. Misuse Case Specifications Security Use Case Specifications Security Functional Testing Security Vulnerability Testing Automated Generation of Executable Test Cases Validating whether the specified security properties are implemented correctly Addressing the identification of system vulnerabilities Benefits of automated generation: • Automated generation reduces development costs • Ensures coverage and traceability • Compliance with standards and regulations Security Testing
  • 92. Summary NL Requirements Well-formed, consistent, complete, information? Automated Testing Product Configuration 92 Extraction from Documents? Change impact? Other Artifacts
  • 93. The Complexity of our World • Many applications, diversity of contexts, and types of NL requirements • Variety of very different working assumptions • Form of requirements, e.g., RUCM • Change information • Modeling practice, e.g., domain models • Scale, e.g., embedded automotive versus satellite ground control systems
  • 94. The Road Ahead 94 • Practical solutions are possible based on combining advanced NLP and (often) machine learning. • We must account for practicality and scalability at the outset, not as an afterthought. • We need more (reported) industrial experiences, as working assumptions play a key role.
  • 95. .lusoftware verification & validation VVS Automated Analysis of Natural-Language Requirements: Industrial Needs and Opportunities AIRE’2018 @ RE’2018 Lionel Briand Interdisciplinary Centre for ICT Security, Reliability, and Trust (SnT) University of Luxembourg, Luxembourg
  • 96. References 96 Analysis of Natural Language Requirements • [TSE 2017] C. Arora et al., Automated Extraction and Clustering of Requirements Glossary Terms • [MODELS 2016] C. Arora et al., Extracting Domain Models from Natural-Language Requirements: Approach and Industrial Evaluation • [RE 2015] C. Arora et al., Change Impact Analysis for Natural Language Requirements: An NLP Approach • [TSE 2015] C. Arora et al., Automated Checking of Conformance to Requirements Templates using Natural Language Processing Requirements-Driven (Security) Testing • [ISSTA 2015] C. Wang et al., Automatic Generation of System Test Cases from Use Case Specifications • [ICST 2017] C. Wang et al., System Testing of Timing Requirements based on Use Cases and Timed Automata • [ICST 2018] C. Wang et al., Automated Generation of Constraints from Use Case Specifications to Support System Testing • [ISSRE 2018] P. Mai et al., A Natural Language Programming Approach for Requirements-based Security Testing
  • 97. References 97 Product Families and Configuration • [SoSYM 2018] I. Hajri et al., Configuring Use Case Models in Product Families • [JSS 2018] I. Hajri et al., Change Impact Analysis for Evolving Configuration Decisions in Product Line Use Case Models Impact Analysis • [FSE 2016] S. Nejati et al., Automated Change Impact Analysis between SysML Models of Requirements and Design • [RE 2015] C. Arora et al., Change Impact Analysis for Natural Language Requirements: An NLP Approach