SlideShare a Scribd company logo
1 of 65
Download to read offline
Precise and Complete
Requirements?
An Elusive Goal
Lionel Briand
MO2RE 2024 Keynote
http://www.lbriand.info
Academic Assumptions
• Effective software development
requires documented, precise,
complete requirements up-front.
• Such requirements must remain
up-to-date all along development,
up to deployment, and after that
during system evolution.
• That sounds logical to many.
(except agile folks), and drives
(most of) academic research.
2
Quotes from Practice
• “For many applications a highly detailed technical specification is just too
much up front since a quick discussion could render their carefully
typeset document useless. Instead, start with a vision. If everyone
understands the overall picture then the requirements can get filled in
along the way through discussions.”
• “Steve Jobs believed that customers cannot describe exactly what they
want the future products to look like, so it is your job to deliver them. So,
unless you deliver custom software all the time, forget formal specs and
start by creating prototypes…”
• “Unless you’re building something to a specification, you usually only
have a vague idea of what the final product should look like at the time
you start a project.”
3
State of Practice
• In practice resources and time are limited,
uncertainty about requirements is high
• Trade-offs are unavoidable
• Often, requirements are subject to such trade-
offs, leading to imprecise, incomplete, or
obsolete (documented) requirements
• Diversity: “RE practice differs according to the
types of organization developing software, the
types of products being developed, and the
particular application domain of the product. “
(Lui et al. 2010)
4
Special Situations
• Requirements serve as a contract, to
be validated during acceptance testing
• Requirements traceability is required
by standards or regulations, e.g.,
safety critical systems
• Even then, the precision and
completeness of requirements are
often elusive goals
• The goal is only to achieve
certification/regulatory compliance
5
Enterprise Architect
Sparx Systems
Challenges: Liu et al. (2010)
• Customers do not have a clear understanding of system requirements
themselves, including scope of the system, major functional features and
nonfunctional attributes.
• Users’ needs and understanding constantly change.
• Project schedule is too tight to allow sufficient interaction and learning
period between customer and development team.
• Broken communication links between customer, analyst and developer.
6
Liu et al., “Why Requirements Engineering Fails: A Survey Report from China”, IEEE RE 2010
Recommendations: Liu et al.
• Link requirements with testing and adopt a test-driven design
process.
• Develop RE tools that better fit the real-world needs of the
customers and engineers.
7
Challenges: Martins and
Gorschek (2020)
• Focus on safety-critical systems, where precise and complete requirements are
expected to be most common.
• All companies write their requirements documents in natural language. UML
diagrams and other types of diagrams (as FTA and flowchart) are seldom used to
describe the requirements.
• Two companies used “formal methods”, but not from software engineering:
Equations from control engineering
• 61% use word processing and spreadsheets as RE tools
8
Martins and Gorschek, “Requirements Engineering for Safety-Critical Systems:
An Interview Study with Industry Practitioners”, IEEE TSE 2020
Challenges: Martins and
Gorschek (2020)
• “When someone does not understand a requirement a person conversation is
performed, usually people go to the team leader, systems engineers or safety
engineer to get the understanding. This is done in an informal way.“
• “Practitioners from three companies mentioned that somehow it is necessary to
produce more useful documents in order to meet the daily needs of the system
developers. It seems that the requirements documents still are more to show
compliance than to be really used by development teams.“
• “The designers and programmers know what to do, of course the requirements
specification is there to drive it, but in details it is very common that the
requirements don’t really drive the designers/programmers.”
9
Factors Affecting Practice
• Lack of skills, training (often invoked by academics)
• Frequent requirements changes, uncertainty
• Time pressure, lack of resources
• Lack of adequate tool support and automation
• Result: Low return on investment (RoI) for precise, complete
requirements (real or perceived?)
10
Widespread Situation
• Informal, natural language requirements
• Sometimes completed with informal diagrams (UML, SysML
…)
• Quality (precision, completeness, …) is relatively low
11
My Take
• Higher RoI for precise requirements would require effective
support for:
• Quality assurance
• Change management
• Traceability (e.g., to systems tests)
• Example projects next
12
Three Essential Technologies
• NL requirements QA
• NL requirements change impact (CI) analysis
• NL Requirements-driven acceptance testing
13
Requirements Quality
Assurance
14
Requirements QA
• Manual QA is expensive and tedious
• Especially in the context of frequent changes
• No systematic feedback
• Leads to low quality requirements
• Example project in the financial domain
15
Industrial Context and Artifacts
• Global leading supplier of post-trading services
• 2500 customers in 110 countries
• Compliance with financial regulations
• Loosely follows the Rupp template
• 13 Software Requirements Specifications (SRS)
• 2725 requirements
• Written by different business analysts
• Relatively low quality, not used for validation
16
Controlled Natural Language:
Rimay
• Strike a balance between the usability of NL and the rigor of formal languages
• More specialized concepts and constructs than conventional templates
• Qualitative analysis
• Evaluation
17
REQUIREMENT: SCOPE? CONDITION_STRUCTURE?
ARTICLE? ACTOR MODAL_VERB not? SYSTEM_RESPONSE.
SCOPE: For MODIFIER? TEXT (and MODIFIER? TEXT),
SYSTEM RESPONSE: VALIDATE | ... 47 action phrases
Actor
Scope
For each "line of the File", System must
check that Share_Class_Identifier.Value contains "line.ISIN”.
Modal Verb
System Response
Veziaga et al., “On systematically building a controlled natural language for
functional requirements.”, Empir. Softw. Eng. 26(4): 79 (2021)
Quality Attributes
18
• Quality attributes enforced by Rimay
• Completeness: Presence of all the information required for the
requirement to be complete
• Correctness: Presence of correct information content in the correct
order of appearance
• Clarity: Usage of structures, phrases, and words that are free of
ambiguity
• Atomic requirements: A requirement with a single system function
Smells
• 10 smells: “1. Non atomic”, “2. Incomplete requirement”, “3. Incorrect order
requirement”, “4. Coordination ambiguity”, “5. Not requirement”, “6. Incomplete
condition”, “7. Incomplete system response”, “8. Incomplete scope”, “9. Passive
voice”, and “10. Not precise verb”
19
When creating a new participant,
System-A must open in edit mode the detail participant screen.
System Response
Condition (Missing Actor)
When a settlement request has reached the status “Settled”
then System-A must sed the settlement request to System-B.
System Response (No verb)
Condition
Rimay Patterns
20
Requirement
Condition_Structure Modal_Verb Action_Phrase
If_Structure …
Actor
Precondition
0..*
1..*
1
1 1..*
+System_Response
• Excerpt of the Rimay conceptual model:
• Example:
Condition_Structure (Precondition)
If Inx.description contains a "Keyword”, System-A must forward Inx to System-B.
Actor Modal_Verb System_Response (Action_Phrase)
Rimay Patterns
• 10 Rimay patterns: “1. Scope and system response”, “2. Scope, condition
(precondition), and system response”, “3. Scope, condition(Trigger), and
system response”, “4. Scope, condition (Time) and system response”, “5.
System response”, “6. Condition(Precondition), and system response”,
“7. Condition(Trigger), and system response”, “8. Condition (Time) and
system response”, “9. Scope, multiple conditions, and system response”,
“10. Multiple conditions, and system response”
• Pattern Name: System response
• Rimay Pattern: The? Actor must <Action> (every "Text")?
• Example: The System-A must link "allegement message-A" to the
"outgoing message-123"
21
QA Approach: Paska
1. Apply preprocessing
steps to requirements
2. Divide requirements into
scope, condition and
system response
3. Identify smells present in
requirements
4. Suggest a Rimay pattern
to fix detected smells
22
Preprocess Requirements
1
Identify Smells
3 Suggest Rimay Patterns
Separate Requirements
into Segments
4
2
+
Rimay
patterns
Requirements
with smells
Rimay
Patterns
Requirements
Specifications
Smells
For each “line of the File”,
System must check that Share_CLass_Identifier.Value
contains “line.ISIN”.
When Transfer_System receives a File,
Transfer_System must forward the File to System.
For each “line of the File”,
System must check that Share_CLass_Identifier.Value
contains “line.ISIN”.
When Transfer_System receives a File,
Transfer_System must forward the File to System.
Veziaga et al., “Automated Smell Detection and Recommendation in
Natural Language Requirements.”, IEEE TSE (2024)
Paska: Evaluation
• Evaluation on unseen SRSs
• Many instances of smells
• Overall precision and recall of 89% in detecting smells
• Overall precision of 96% and recall of 94% in suggesting Rimay patterns
• Based on the pattern it is straightforward to fix a requirement
• Promising tool for automated QA of natural language requirements for
information systems
23
Acceptance Testing Driven
by Use Case Specifications
24
Acceptance Testing
• Acceptance testing from requirements
• Systematically Identifying and designing test scenarios
• Overcome biases and blind spots
• Traceability requirements – system tests often required
25
Test Cases from Use Cases
• Test case descriptions from use case descriptions
• Use case specifications are common and operational
representations of requirements
• Manual and laborious task
• Context: Automotive software.
• Use cases were a basis for contractual agreements
• Automation based on NLP: UMTG
26
Use Case
Specifications
(RUCM)
Executable Test Cases
Constraints capturing
the meaning of
conditions
Domain
Model
UMTG
Error.allInstances()
->forAll( i | i.isDetected = false)
UMTG
https://sntsvv.github.io/UMTG/
Wang et al., “Automatic Generation of Acceptance
Test Cases From Use Case Specifications: An NLP-
Based Approach”, IEEE TSE, 2020
• Restricted Use Case Modeling (RUCM)
• Experiments shows it yields better use cases
• Compliance is tool-supported (NLP)
• More analyzable with NLP
Yue et al., ACM TOSEM 2013
Restricted Use Case
Specifications
28
RUCM Specifications Example
Precondition: The system has been initialized
Basic Flow
1. The SeatSensor SENDS the weight TO the system.
2. INCLUDE USE CASE Self Diagnosis.
3. The system VALIDATES THAT no error has been detected.
4. The system VALIDATES THAT the weight is above 20 Kg.
5. The system sets the occupancy status to adult.
6. The system SENDS the occupancy status TO AirbagControlUnit.
INPUT STEP
INCLUDE STEP
CONDITIONAL STEP
INTERNAL STEP
OUTPUT STEP
Alternative Flow
RFS 4.
1. IF the weight is above 1 Kg THEN
2. The system sets the occupancy status to child.
3. …
4. RESUME STEP 6. 29
UMTG Steps
30
UMTG: Empirical Evaluation
• It is hard for engineers to capture all the possible scenarios
involving error conditions. UMTG covers them.
• 5 to 10 minutes to write each constraints (but we also
developed a tool to generate them)
• 10 secs/test case using a constraint solver based on Alloy
• Less than 10 minutes in total to generate all system test cases
(54)
35
Inter-Requirements Change
Impact Analysis
36
Traceability
• The ability to follow the life of software artifacts, in both a backward and
forward direction, e.g., requirements, design decisions, test cases.
• Requirements traceability: Trace a requirement from its emergence to its
fulfillment, e.g., acceptance test cases.
• Motivations:
• Understand rationale
• Certification, auditing, compliance with standards
• Assess impact of change
37
Traceability between
Requirements
• Natural language
• Sometimes structured (template)
• Hundreds of traces
• Domain terminology, concepts, and their relationships are key
to discovering traces among requirements
• Rely on syntactic and semantic similarity measures
38
Requirements
Requirements-Requirements
39
Requirements
C
a
s
e
-
A
• 160 Requirements
• 9 change scenarios
C
a
s
e
-
B
• 72 Requirements
• 5 change scenarios
[RE 2015, TSE 2015, ESEM 2014, ESEM 2013]
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.
40
Change Example
• 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.
41
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.
42
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.
43
• 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.
44
Challenge#2 -
Change Rationale
Rationales:
1: We want to globally rename “user help desk”
2: Avoid communication between “mission
operation controller” and “user help desk”
3: We no longer want to “transmit satellite status
reports” to “user help desk” but instead to “user
document repository”
Solution Characteristics
• Accounts for the phrasal structure of requirements
45
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 semantically-related phrases that are not exact
matches and close syntactic variations
Approach
46
Arora et al., “Change Impact Analysis for Natural
Language Requirements: An NLP Approach”,
IEEE RE, 2015
Approach
47
Rationale:
Avoid communication between mission operation
controller and user help desk.
Propagation condition:
mission operation controller AND user help desk
AND transmit
Arora et al., “Change Impact Analysis for Natural
Language Requirements: An NLP Approach”,
IEEE RE, 2015
How effective is our approach?
• Extra requirements traversed
• Case-A between 1%-7%
• Case-B between 6%-8%
except one case
• Number of impacted
requirements missed:
1 out of 106
48
Requirements Change
Impact Analysis on Design
49
Requirements-Design
Traceability
• Capture the rationale of design decisions
• Support evolution, avoid violating essential design decisions
• Useful for impact analysis based on traces
• What is a rationale? Level of granularity?
• Design representation?
50
Archi. & Design
Requirements
System Design Modeling
• Systems Modeling Language (SysML)
• A subset of UML extended with systems engineering
diagrams
• A standard for systems engineering
• Preliminary support for requirement analysis and built-in
traceability mechanism
51
CIA Automation Goal
• Given a change in a requirement, our goal is to compute a set
of (potentially) impacted design elements that includes
• all the actually impacted elements (high recall)
• very few non-impacted elements (high precision)
52
Requirements Diagram
54
: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>>
Internal Block Diagrams (IBD)
: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>>
Internal Block Diagrams (IBD)
• IBDs contain SW and HW blocks, ports,
connector relations between ports, plus
Satisfy traceability links between
requirements and blocks.
• A satisfy link between a block and a
requirement indicates that the function
implemented by the block contributes to
the satisfaction of the requirement.
Diagnostics Manager
<<Decision>>
Is position valid?
<<Decision>>
Over-Temperature
detected?
<<Assignment>>
Error = 1
B3
<<Assignment>>
MotorDriveMode = OFF
<<Assignment>>
MotorDriveMode = RUN
[yes] [no]
[yes]
[no]
Activity Diagrams (AD)
Traceability Information Model
58
Requirements
Structure
Requirement
Block
Software block
Port
Activity diagram
satisfy
*
* origin
target
*
Out
Hardware block
behaviour
Transition
Node
1..* Action
Object
Control Object Call
Assignment
Parameter
Local
In
source
1..*
Decision
target
*
1 1
connector
Behaviour
Software
requirement
Hardware
requirement
in
out
correspond
Data
Control
1..*
*
*
1
1
*
Explicit
traceability links
Our CIA Approach
59
Structural
Analysis
Behavioral
Analysis
Natural
Language
Processing
Analysis
Approach
60
Build SysML
Models
System
Requirements
Traceability
Information Model
Requirements and
Design Models
Estimated
Impact Set
Compute
Impacted
Elements
Change
Statements
Phrases
Similarity
Matrix
Process
Change
Statements
Sort
Elements
Sorted
Elements
Nejati et al., “Automated Change Impact Analysis
between SysML Models of Requirements and Design”,
ACM FSE 2016
Case Study
61
Electronic Variable Cam Phaser (CP)
• Includes mechanical,
electronic and software
components
• Adjusts the timing of cam
lobes with respect to that
of the crank shaft in an
engine, while the engine is
running.
• CP is safety-critical and
subject to the ISO 26262
standard.
Summary
• We provided an approach to automatically identify the impact of requirements changes
on system design
• Our approach includes:
• A SysML modeling methodology with acceptable traceability cost
• An algorithm for impact computation that combines models’ structure, behavior and
textual information
• Industrial case study: Our hybrid approach reduces the number of elements inspected
from 370 to 18
• Scalable approach: A few seconds to compute and rank estimated impacted elements
65
Conclusions
66
Main Takeaway Message
• In most cases, for many reasons, providing guidance to
architects and developers does not seem to be a sufficient
motivation to document requirements in a precise and
complete form.
• We somehow need to increase the RoI of writing such
requirements if we want practice to change.
• We need to develop practical technologies that increase RoI
68
A Way Forward
• Many opportunities: (1) Acceptance test automation, (2)
Change impact analysis (e.g., for safety certification or
regulatory compliance), (3) Automated QA, and more.
• With a focus on natural language requirements.
• With a high degree of robustness to unrestricted, flawed NL
requirements
• Keeping in mind scalability
69
Requirements for AI Systems
• No source code from which to derive intent
• Components for which precise functional requirements are difficult
to express, e.g., pedestrian detection
• Safety, robustness, and security requirements are critical though --
- their specification will increasingly be required by regulations
• Operational Design domain must be specified (a form of
requirement)
• There is an opportunity for impact here for the RE community!
70
Operational Design Domain
• An operational Design Domain (ODD) refers to the specific conditions under
which a system or technology, like an Autonomous Vehicle (AV), is designed
to function safely and efficiently.
An ODD includes characteristics such as:
• Geographic location: roads, highways, or regions where the system is intended
to operate.
• Environmental conditions: weather and light conditions such as daytime,
nighttime, fog, rain, or snow.
• Traffic conditions: types of other road users (vehicles, pedestrians, cyclists),
traffic density, and road infrastructure.
• Operational constraints: legal restrictions, speed limits, or other rules that the
system must adhere to
71
LLMs in Requirements
Engineering
• Requirements generation
• Requirements completion
• Requirements to test cases
• Requirements classification
• …
• May render automation more
affordable and practical
72
LLMs for NLP Tasks in RE: A Systematic Guide 11
LLMs like T5 are specialized for text-to-text translation. In the following, we
will explain these usage modes in detail.
Decoder-only
LLM
Task Model
Encoder-only
LLM
Using
Decoder-only
LLMs
Using
Encoder-only
LLMs
Embedding
Input Output
Prompt Output
Encoder-
Decoder LLM
Using
Encoder-
Decoder
LLMs
Input Output
Fig. 2. Simplified overview of using different LLM architectures to solve tasks
3.3 Using Encoder-only LLMs
Fig. 3 shows potential pipelines using the LLMs as language embedders. In this
usage mode, a specific RE task is solved by leveraging the semantically rich em-
beddings generated by an LLM. In contrast to simpler embedding techniques
like tf-idf or bag-of-words, LLM embeddings better capture the meaning of a
word in its context (see Section 2.1). The embeddings are then used in specific
Vogelsang and Fishbach, “Using Large Language
Models for Natural Language Processing Tasks in
Requirements Engineering: A Systematic Guideline”,
ArXiv, 2024
Precise and Complete
Requirements?
An Elusive Goal
Lionel Briand
MO2RE 2024 Keynote
http://www.lbriand.info
SyMeCo Fellowship
• SyMeCo is a Marie Skłodowska-Curie postdoctoral fellowship
programme coordinated by Lero
• Co-funded by Science Foundation Ireland and the EU
• 16 fellowships of 2-year duration based in Ireland across 8
Higher Education Institutions
• Open to researchers of any nationality

More Related Content

Similar to Precise and Complete Requirements? An Elusive Goal

SE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxSE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxTangZhiSiang
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysisAntony Alex
 
SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!Alan Bustamante
 
Unit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement EngineeringUnit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement EngineeringKanchanPatil34
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptxSACHINMAURYA57
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blenderedm00se
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
 
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 ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATIONSoftware Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATIONDr Anuranjan Misra
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTUMohammad Faizan
 

Similar to Precise and Complete Requirements? An Elusive Goal (20)

SE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptxSE-Lecture 2A-Requirements.pptx
SE-Lecture 2A-Requirements.pptx
 
Software project management requirements analysis
Software project management requirements analysisSoftware project management requirements analysis
Software project management requirements analysis
 
SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!SD West 2008: Call the requirements police, you've entered design!
SD West 2008: Call the requirements police, you've entered design!
 
Unit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement EngineeringUnit 2 SEPM_ Requirement Engineering
Unit 2 SEPM_ Requirement Engineering
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptx
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blender
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Soa 1 7.ppsx
Soa 1 7.ppsxSoa 1 7.ppsx
Soa 1 7.ppsx
 
Presentation of se
Presentation of sePresentation of se
Presentation of se
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
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...
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Development Guideline
Development GuidelineDevelopment Guideline
Development Guideline
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATIONSoftware Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
Software Engineering REQUIREMENTS ANALYSIS AND SPECIFICATION
 
Unit2 Software engineering UPTU
Unit2 Software engineering UPTUUnit2 Software engineering UPTU
Unit2 Software engineering UPTU
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 

More from Lionel 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
 
Requirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsRequirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsLionel Briand
 

More from Lionel Briand (20)

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...
 
Requirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and ApplicationsRequirements in Cyber-Physical Systems: Specifications and Applications
Requirements in Cyber-Physical Systems: Specifications and Applications
 

Recently uploaded

Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...drm1699
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Clinic
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksJinanKordab
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Lisi Hocke
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringPrakhyath Rai
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphNeo4j
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14VMware Tanzu
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insightsrapidoform
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdfSelfMade bd
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Conceptsthomashtkim
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfkalichargn70th171
 

Recently uploaded (20)

Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 

Precise and Complete Requirements? An Elusive Goal

  • 1. Precise and Complete Requirements? An Elusive Goal Lionel Briand MO2RE 2024 Keynote http://www.lbriand.info
  • 2. Academic Assumptions • Effective software development requires documented, precise, complete requirements up-front. • Such requirements must remain up-to-date all along development, up to deployment, and after that during system evolution. • That sounds logical to many. (except agile folks), and drives (most of) academic research. 2
  • 3. Quotes from Practice • “For many applications a highly detailed technical specification is just too much up front since a quick discussion could render their carefully typeset document useless. Instead, start with a vision. If everyone understands the overall picture then the requirements can get filled in along the way through discussions.” • “Steve Jobs believed that customers cannot describe exactly what they want the future products to look like, so it is your job to deliver them. So, unless you deliver custom software all the time, forget formal specs and start by creating prototypes…” • “Unless you’re building something to a specification, you usually only have a vague idea of what the final product should look like at the time you start a project.” 3
  • 4. State of Practice • In practice resources and time are limited, uncertainty about requirements is high • Trade-offs are unavoidable • Often, requirements are subject to such trade- offs, leading to imprecise, incomplete, or obsolete (documented) requirements • Diversity: “RE practice differs according to the types of organization developing software, the types of products being developed, and the particular application domain of the product. “ (Lui et al. 2010) 4
  • 5. Special Situations • Requirements serve as a contract, to be validated during acceptance testing • Requirements traceability is required by standards or regulations, e.g., safety critical systems • Even then, the precision and completeness of requirements are often elusive goals • The goal is only to achieve certification/regulatory compliance 5 Enterprise Architect Sparx Systems
  • 6. Challenges: Liu et al. (2010) • Customers do not have a clear understanding of system requirements themselves, including scope of the system, major functional features and nonfunctional attributes. • Users’ needs and understanding constantly change. • Project schedule is too tight to allow sufficient interaction and learning period between customer and development team. • Broken communication links between customer, analyst and developer. 6 Liu et al., “Why Requirements Engineering Fails: A Survey Report from China”, IEEE RE 2010
  • 7. Recommendations: Liu et al. • Link requirements with testing and adopt a test-driven design process. • Develop RE tools that better fit the real-world needs of the customers and engineers. 7
  • 8. Challenges: Martins and Gorschek (2020) • Focus on safety-critical systems, where precise and complete requirements are expected to be most common. • All companies write their requirements documents in natural language. UML diagrams and other types of diagrams (as FTA and flowchart) are seldom used to describe the requirements. • Two companies used “formal methods”, but not from software engineering: Equations from control engineering • 61% use word processing and spreadsheets as RE tools 8 Martins and Gorschek, “Requirements Engineering for Safety-Critical Systems: An Interview Study with Industry Practitioners”, IEEE TSE 2020
  • 9. Challenges: Martins and Gorschek (2020) • “When someone does not understand a requirement a person conversation is performed, usually people go to the team leader, systems engineers or safety engineer to get the understanding. This is done in an informal way.“ • “Practitioners from three companies mentioned that somehow it is necessary to produce more useful documents in order to meet the daily needs of the system developers. It seems that the requirements documents still are more to show compliance than to be really used by development teams.“ • “The designers and programmers know what to do, of course the requirements specification is there to drive it, but in details it is very common that the requirements don’t really drive the designers/programmers.” 9
  • 10. Factors Affecting Practice • Lack of skills, training (often invoked by academics) • Frequent requirements changes, uncertainty • Time pressure, lack of resources • Lack of adequate tool support and automation • Result: Low return on investment (RoI) for precise, complete requirements (real or perceived?) 10
  • 11. Widespread Situation • Informal, natural language requirements • Sometimes completed with informal diagrams (UML, SysML …) • Quality (precision, completeness, …) is relatively low 11
  • 12. My Take • Higher RoI for precise requirements would require effective support for: • Quality assurance • Change management • Traceability (e.g., to systems tests) • Example projects next 12
  • 13. Three Essential Technologies • NL requirements QA • NL requirements change impact (CI) analysis • NL Requirements-driven acceptance testing 13
  • 15. Requirements QA • Manual QA is expensive and tedious • Especially in the context of frequent changes • No systematic feedback • Leads to low quality requirements • Example project in the financial domain 15
  • 16. Industrial Context and Artifacts • Global leading supplier of post-trading services • 2500 customers in 110 countries • Compliance with financial regulations • Loosely follows the Rupp template • 13 Software Requirements Specifications (SRS) • 2725 requirements • Written by different business analysts • Relatively low quality, not used for validation 16
  • 17. Controlled Natural Language: Rimay • Strike a balance between the usability of NL and the rigor of formal languages • More specialized concepts and constructs than conventional templates • Qualitative analysis • Evaluation 17 REQUIREMENT: SCOPE? CONDITION_STRUCTURE? ARTICLE? ACTOR MODAL_VERB not? SYSTEM_RESPONSE. SCOPE: For MODIFIER? TEXT (and MODIFIER? TEXT), SYSTEM RESPONSE: VALIDATE | ... 47 action phrases Actor Scope For each "line of the File", System must check that Share_Class_Identifier.Value contains "line.ISIN”. Modal Verb System Response Veziaga et al., “On systematically building a controlled natural language for functional requirements.”, Empir. Softw. Eng. 26(4): 79 (2021)
  • 18. Quality Attributes 18 • Quality attributes enforced by Rimay • Completeness: Presence of all the information required for the requirement to be complete • Correctness: Presence of correct information content in the correct order of appearance • Clarity: Usage of structures, phrases, and words that are free of ambiguity • Atomic requirements: A requirement with a single system function
  • 19. Smells • 10 smells: “1. Non atomic”, “2. Incomplete requirement”, “3. Incorrect order requirement”, “4. Coordination ambiguity”, “5. Not requirement”, “6. Incomplete condition”, “7. Incomplete system response”, “8. Incomplete scope”, “9. Passive voice”, and “10. Not precise verb” 19 When creating a new participant, System-A must open in edit mode the detail participant screen. System Response Condition (Missing Actor) When a settlement request has reached the status “Settled” then System-A must sed the settlement request to System-B. System Response (No verb) Condition
  • 20. Rimay Patterns 20 Requirement Condition_Structure Modal_Verb Action_Phrase If_Structure … Actor Precondition 0..* 1..* 1 1 1..* +System_Response • Excerpt of the Rimay conceptual model: • Example: Condition_Structure (Precondition) If Inx.description contains a "Keyword”, System-A must forward Inx to System-B. Actor Modal_Verb System_Response (Action_Phrase)
  • 21. Rimay Patterns • 10 Rimay patterns: “1. Scope and system response”, “2. Scope, condition (precondition), and system response”, “3. Scope, condition(Trigger), and system response”, “4. Scope, condition (Time) and system response”, “5. System response”, “6. Condition(Precondition), and system response”, “7. Condition(Trigger), and system response”, “8. Condition (Time) and system response”, “9. Scope, multiple conditions, and system response”, “10. Multiple conditions, and system response” • Pattern Name: System response • Rimay Pattern: The? Actor must <Action> (every "Text")? • Example: The System-A must link "allegement message-A" to the "outgoing message-123" 21
  • 22. QA Approach: Paska 1. Apply preprocessing steps to requirements 2. Divide requirements into scope, condition and system response 3. Identify smells present in requirements 4. Suggest a Rimay pattern to fix detected smells 22 Preprocess Requirements 1 Identify Smells 3 Suggest Rimay Patterns Separate Requirements into Segments 4 2 + Rimay patterns Requirements with smells Rimay Patterns Requirements Specifications Smells For each “line of the File”, System must check that Share_CLass_Identifier.Value contains “line.ISIN”. When Transfer_System receives a File, Transfer_System must forward the File to System. For each “line of the File”, System must check that Share_CLass_Identifier.Value contains “line.ISIN”. When Transfer_System receives a File, Transfer_System must forward the File to System. Veziaga et al., “Automated Smell Detection and Recommendation in Natural Language Requirements.”, IEEE TSE (2024)
  • 23. Paska: Evaluation • Evaluation on unseen SRSs • Many instances of smells • Overall precision and recall of 89% in detecting smells • Overall precision of 96% and recall of 94% in suggesting Rimay patterns • Based on the pattern it is straightforward to fix a requirement • Promising tool for automated QA of natural language requirements for information systems 23
  • 24. Acceptance Testing Driven by Use Case Specifications 24
  • 25. Acceptance Testing • Acceptance testing from requirements • Systematically Identifying and designing test scenarios • Overcome biases and blind spots • Traceability requirements – system tests often required 25
  • 26. Test Cases from Use Cases • Test case descriptions from use case descriptions • Use case specifications are common and operational representations of requirements • Manual and laborious task • Context: Automotive software. • Use cases were a basis for contractual agreements • Automation based on NLP: UMTG 26
  • 27. Use Case Specifications (RUCM) Executable Test Cases Constraints capturing the meaning of conditions Domain Model UMTG Error.allInstances() ->forAll( i | i.isDetected = false) UMTG https://sntsvv.github.io/UMTG/ Wang et al., “Automatic Generation of Acceptance Test Cases From Use Case Specifications: An NLP- Based Approach”, IEEE TSE, 2020
  • 28. • Restricted Use Case Modeling (RUCM) • Experiments shows it yields better use cases • Compliance is tool-supported (NLP) • More analyzable with NLP Yue et al., ACM TOSEM 2013 Restricted Use Case Specifications 28
  • 29. RUCM Specifications Example Precondition: The system has been initialized Basic Flow 1. The SeatSensor SENDS the weight TO the system. 2. INCLUDE USE CASE Self Diagnosis. 3. The system VALIDATES THAT no error has been detected. 4. The system VALIDATES THAT the weight is above 20 Kg. 5. The system sets the occupancy status to adult. 6. The system SENDS the occupancy status TO AirbagControlUnit. INPUT STEP INCLUDE STEP CONDITIONAL STEP INTERNAL STEP OUTPUT STEP Alternative Flow RFS 4. 1. IF the weight is above 1 Kg THEN 2. The system sets the occupancy status to child. 3. … 4. RESUME STEP 6. 29
  • 31. UMTG: Empirical Evaluation • It is hard for engineers to capture all the possible scenarios involving error conditions. UMTG covers them. • 5 to 10 minutes to write each constraints (but we also developed a tool to generate them) • 10 secs/test case using a constraint solver based on Alloy • Less than 10 minutes in total to generate all system test cases (54) 35
  • 33. Traceability • The ability to follow the life of software artifacts, in both a backward and forward direction, e.g., requirements, design decisions, test cases. • Requirements traceability: Trace a requirement from its emergence to its fulfillment, e.g., acceptance test cases. • Motivations: • Understand rationale • Certification, auditing, compliance with standards • Assess impact of change 37
  • 34. Traceability between Requirements • Natural language • Sometimes structured (template) • Hundreds of traces • Domain terminology, concepts, and their relationships are key to discovering traces among requirements • Rely on syntactic and semantic similarity measures 38 Requirements
  • 35. Requirements-Requirements 39 Requirements C a s e - A • 160 Requirements • 9 change scenarios C a s e - B • 72 Requirements • 5 change scenarios [RE 2015, TSE 2015, ESEM 2014, ESEM 2013]
  • 36. 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. 40
  • 37. Change Example • 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. 41
  • 38. 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. 42
  • 39. 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. 43
  • 40. • 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. 44 Challenge#2 - Change Rationale Rationales: 1: We want to globally rename “user help desk” 2: Avoid communication between “mission operation controller” and “user help desk” 3: We no longer want to “transmit satellite status reports” to “user help desk” but instead to “user document repository”
  • 41. Solution Characteristics • Accounts for the phrasal structure of requirements 45 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 semantically-related phrases that are not exact matches and close syntactic variations
  • 42. Approach 46 Arora et al., “Change Impact Analysis for Natural Language Requirements: An NLP Approach”, IEEE RE, 2015
  • 43. Approach 47 Rationale: Avoid communication between mission operation controller and user help desk. Propagation condition: mission operation controller AND user help desk AND transmit Arora et al., “Change Impact Analysis for Natural Language Requirements: An NLP Approach”, IEEE RE, 2015
  • 44. How effective is our approach? • Extra requirements traversed • Case-A between 1%-7% • Case-B between 6%-8% except one case • Number of impacted requirements missed: 1 out of 106 48
  • 46. Requirements-Design Traceability • Capture the rationale of design decisions • Support evolution, avoid violating essential design decisions • Useful for impact analysis based on traces • What is a rationale? Level of granularity? • Design representation? 50 Archi. & Design Requirements
  • 47. System Design Modeling • Systems Modeling Language (SysML) • A subset of UML extended with systems engineering diagrams • A standard for systems engineering • Preliminary support for requirement analysis and built-in traceability mechanism 51
  • 48. CIA Automation Goal • Given a change in a requirement, our goal is to compute a set of (potentially) impacted design elements that includes • all the actually impacted elements (high recall) • very few non-impacted elements (high precision) 52
  • 50. :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>> Internal Block Diagrams (IBD)
  • 51. :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>> Internal Block Diagrams (IBD) • IBDs contain SW and HW blocks, ports, connector relations between ports, plus Satisfy traceability links between requirements and blocks. • A satisfy link between a block and a requirement indicates that the function implemented by the block contributes to the satisfaction of the requirement.
  • 52. Diagnostics Manager <<Decision>> Is position valid? <<Decision>> Over-Temperature detected? <<Assignment>> Error = 1 B3 <<Assignment>> MotorDriveMode = OFF <<Assignment>> MotorDriveMode = RUN [yes] [no] [yes] [no] Activity Diagrams (AD)
  • 53. Traceability Information Model 58 Requirements Structure Requirement Block Software block Port Activity diagram satisfy * * origin target * Out Hardware block behaviour Transition Node 1..* Action Object Control Object Call Assignment Parameter Local In source 1..* Decision target * 1 1 connector Behaviour Software requirement Hardware requirement in out correspond Data Control 1..* * * 1 1 * Explicit traceability links
  • 55. Approach 60 Build SysML Models System Requirements Traceability Information Model Requirements and Design Models Estimated Impact Set Compute Impacted Elements Change Statements Phrases Similarity Matrix Process Change Statements Sort Elements Sorted Elements Nejati et al., “Automated Change Impact Analysis between SysML Models of Requirements and Design”, ACM FSE 2016
  • 56. Case Study 61 Electronic Variable Cam Phaser (CP) • Includes mechanical, electronic and software components • Adjusts the timing of cam lobes with respect to that of the crank shaft in an engine, while the engine is running. • CP is safety-critical and subject to the ISO 26262 standard.
  • 57. Summary • We provided an approach to automatically identify the impact of requirements changes on system design • Our approach includes: • A SysML modeling methodology with acceptable traceability cost • An algorithm for impact computation that combines models’ structure, behavior and textual information • Industrial case study: Our hybrid approach reduces the number of elements inspected from 370 to 18 • Scalable approach: A few seconds to compute and rank estimated impacted elements 65
  • 59. Main Takeaway Message • In most cases, for many reasons, providing guidance to architects and developers does not seem to be a sufficient motivation to document requirements in a precise and complete form. • We somehow need to increase the RoI of writing such requirements if we want practice to change. • We need to develop practical technologies that increase RoI 68
  • 60. A Way Forward • Many opportunities: (1) Acceptance test automation, (2) Change impact analysis (e.g., for safety certification or regulatory compliance), (3) Automated QA, and more. • With a focus on natural language requirements. • With a high degree of robustness to unrestricted, flawed NL requirements • Keeping in mind scalability 69
  • 61. Requirements for AI Systems • No source code from which to derive intent • Components for which precise functional requirements are difficult to express, e.g., pedestrian detection • Safety, robustness, and security requirements are critical though -- - their specification will increasingly be required by regulations • Operational Design domain must be specified (a form of requirement) • There is an opportunity for impact here for the RE community! 70
  • 62. Operational Design Domain • An operational Design Domain (ODD) refers to the specific conditions under which a system or technology, like an Autonomous Vehicle (AV), is designed to function safely and efficiently. An ODD includes characteristics such as: • Geographic location: roads, highways, or regions where the system is intended to operate. • Environmental conditions: weather and light conditions such as daytime, nighttime, fog, rain, or snow. • Traffic conditions: types of other road users (vehicles, pedestrians, cyclists), traffic density, and road infrastructure. • Operational constraints: legal restrictions, speed limits, or other rules that the system must adhere to 71
  • 63. LLMs in Requirements Engineering • Requirements generation • Requirements completion • Requirements to test cases • Requirements classification • … • May render automation more affordable and practical 72 LLMs for NLP Tasks in RE: A Systematic Guide 11 LLMs like T5 are specialized for text-to-text translation. In the following, we will explain these usage modes in detail. Decoder-only LLM Task Model Encoder-only LLM Using Decoder-only LLMs Using Encoder-only LLMs Embedding Input Output Prompt Output Encoder- Decoder LLM Using Encoder- Decoder LLMs Input Output Fig. 2. Simplified overview of using different LLM architectures to solve tasks 3.3 Using Encoder-only LLMs Fig. 3 shows potential pipelines using the LLMs as language embedders. In this usage mode, a specific RE task is solved by leveraging the semantically rich em- beddings generated by an LLM. In contrast to simpler embedding techniques like tf-idf or bag-of-words, LLM embeddings better capture the meaning of a word in its context (see Section 2.1). The embeddings are then used in specific Vogelsang and Fishbach, “Using Large Language Models for Natural Language Processing Tasks in Requirements Engineering: A Systematic Guideline”, ArXiv, 2024
  • 64. Precise and Complete Requirements? An Elusive Goal Lionel Briand MO2RE 2024 Keynote http://www.lbriand.info
  • 65. SyMeCo Fellowship • SyMeCo is a Marie Skłodowska-Curie postdoctoral fellowship programme coordinated by Lero • Co-funded by Science Foundation Ireland and the EU • 16 fellowships of 2-year duration based in Ireland across 8 Higher Education Institutions • Open to researchers of any nationality