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

What's hot

Presentation on-exception-handling
Presentation on-exception-handlingPresentation on-exception-handling
Presentation on-exception-handlingNahian Ahmed
Ā 
Php Error Handling
Php Error HandlingPhp Error Handling
Php Error Handlingmussawir20
Ā 
Operating System Deadlock Galvin
Operating System  Deadlock GalvinOperating System  Deadlock Galvin
Operating System Deadlock GalvinSonali Chauhan
Ā 
Peterson Critical Section Problem Solution
Peterson Critical Section Problem SolutionPeterson Critical Section Problem Solution
Peterson Critical Section Problem SolutionBipul Chandra Kar
Ā 
Operating system - Deadlock
Operating system - DeadlockOperating system - Deadlock
Operating system - DeadlockShashank Yenurkar
Ā 
Exception handling in java
Exception handling in javaException handling in java
Exception handling in javaPratik Soares
Ā 
Cross validation.pptx
Cross validation.pptxCross validation.pptx
Cross validation.pptxYouKnowwho28
Ā 
Applet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java AppletsApplet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java Appletsamitksaha
Ā 
Presentation on unsupervised learning
Presentation on unsupervised learning Presentation on unsupervised learning
Presentation on unsupervised learning ANKUSH PAL
Ā 
Exceptions in Java
Exceptions in JavaExceptions in Java
Exceptions in JavaVadym Lotar
Ā 
Java/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBCJava/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBCFAKHRUN NISHA
Ā 
Concurrent transactions
Concurrent transactionsConcurrent transactions
Concurrent transactionsSajan Sahu
Ā 
Java interfaces
Java interfacesJava interfaces
Java interfacesRaja Sekhar
Ā 
Transformers for time series
Transformers for time seriesTransformers for time series
Transformers for time seriesEzeLanza
Ā 
Generative Adversarial Networks (GANs)
Generative Adversarial Networks (GANs)Generative Adversarial Networks (GANs)
Generative Adversarial Networks (GANs)Luis Serrano
Ā 
Deadlock in operating systems
Deadlock in operating systemsDeadlock in operating systems
Deadlock in operating systemsjamunaashok
Ā 
Cookies in servlets.ppt
Cookies in servlets.pptCookies in servlets.ppt
Cookies in servlets.pptSwetha S
Ā 

What's hot (20)

Presentation on-exception-handling
Presentation on-exception-handlingPresentation on-exception-handling
Presentation on-exception-handling
Ā 
Php Error Handling
Php Error HandlingPhp Error Handling
Php Error Handling
Ā 
Operating System Deadlock Galvin
Operating System  Deadlock GalvinOperating System  Deadlock Galvin
Operating System Deadlock Galvin
Ā 
Peterson Critical Section Problem Solution
Peterson Critical Section Problem SolutionPeterson Critical Section Problem Solution
Peterson Critical Section Problem Solution
Ā 
Operating system - Deadlock
Operating system - DeadlockOperating system - Deadlock
Operating system - Deadlock
Ā 
The CAP Theorem
The CAP Theorem The CAP Theorem
The CAP Theorem
Ā 
Exception handling in java
Exception handling in javaException handling in java
Exception handling in java
Ā 
Cross validation.pptx
Cross validation.pptxCross validation.pptx
Cross validation.pptx
Ā 
Applet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java AppletsApplet Architecture - Introducing Java Applets
Applet Architecture - Introducing Java Applets
Ā 
Presentation on unsupervised learning
Presentation on unsupervised learning Presentation on unsupervised learning
Presentation on unsupervised learning
Ā 
Exceptions in Java
Exceptions in JavaExceptions in Java
Exceptions in Java
Ā 
Autoboxing And Unboxing In Java
Autoboxing And Unboxing In JavaAutoboxing And Unboxing In Java
Autoboxing And Unboxing In Java
Ā 
Java/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBCJava/Servlet/JSP/JDBC
Java/Servlet/JSP/JDBC
Ā 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
Ā 
Concurrent transactions
Concurrent transactionsConcurrent transactions
Concurrent transactions
Ā 
Java interfaces
Java interfacesJava interfaces
Java interfaces
Ā 
Transformers for time series
Transformers for time seriesTransformers for time series
Transformers for time series
Ā 
Generative Adversarial Networks (GANs)
Generative Adversarial Networks (GANs)Generative Adversarial Networks (GANs)
Generative Adversarial Networks (GANs)
Ā 
Deadlock in operating systems
Deadlock in operating systemsDeadlock in operating systems
Deadlock in operating systems
Ā 
Cookies in servlets.ppt
Cookies in servlets.pptCookies in servlets.ppt
Cookies in servlets.ppt
Ā 

Similar to Precise and Complete Requirements? An Elusive Goal

Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineeringMd. Shafiuzzaman Hira
Ā 
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
Ā 
Agile Development ā€“ Why requirements matter
Agile Development ā€“ Why requirements matterAgile Development ā€“ Why requirements matter
Agile Development ā€“ Why requirements matterAgile Austria Conference
Ā 
Agile Development ā€“ Why requirements matter by Fariz Saracevic
Agile Development ā€“ Why requirements matter by Fariz SaracevicAgile Development ā€“ Why requirements matter by Fariz Saracevic
Agile Development ā€“ Why requirements matter by Fariz SaracevicAgile ME
Ā 
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
Ā 
Soa 1 7.ppsx
Soa 1 7.ppsxSoa 1 7.ppsx
Soa 1 7.ppsxssuser3a47cb
Ā 
Presentation of se
Presentation of sePresentation of se
Presentation of seUsman Bin Saad
Ā 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
Ā 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringMuhammadTalha436
Ā 
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
Ā 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringSyed Zaid Irshad
Ā 

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

Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
Ā 
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
Ā 
Agile Development ā€“ Why requirements matter
Agile Development ā€“ Why requirements matterAgile Development ā€“ Why requirements matter
Agile Development ā€“ Why requirements matter
Ā 
Agile Development ā€“ Why requirements matter by Fariz Saracevic
Agile Development ā€“ Why requirements matter by Fariz SaracevicAgile Development ā€“ Why requirements matter by Fariz Saracevic
Agile Development ā€“ Why requirements matter by Fariz Saracevic
Ā 
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
Ā 

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

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
Ā 
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
Ā 
(Genuine) Escort Service Lucknow | Starting ā‚¹,5K To @25k with A/C šŸ§‘šŸ½ā€ā¤ļøā€šŸ§‘šŸ» 89...
(Genuine) Escort Service Lucknow | Starting ā‚¹,5K To @25k with A/C šŸ§‘šŸ½ā€ā¤ļøā€šŸ§‘šŸ» 89...(Genuine) Escort Service Lucknow | Starting ā‚¹,5K To @25k with A/C šŸ§‘šŸ½ā€ā¤ļøā€šŸ§‘šŸ» 89...
(Genuine) Escort Service Lucknow | Starting ā‚¹,5K To @25k with A/C šŸ§‘šŸ½ā€ā¤ļøā€šŸ§‘šŸ» 89...gurkirankumar98700
Ā 
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
Ā 
办ē†å­¦ä½čƁ(UQę–‡å‡­čƁ书)ę˜†å£«å…°å¤§å­¦ęƕäøščÆęˆē»©å•åŽŸē‰ˆäø€ęØ”äø€ę ·
办ē†å­¦ä½čƁ(UQę–‡å‡­čƁ书)ę˜†å£«å…°å¤§å­¦ęƕäøščÆęˆē»©å•åŽŸē‰ˆäø€ęØ”äø€ę ·åŠžē†å­¦ä½čƁ(UQę–‡å‡­čƁ书)ę˜†å£«å…°å¤§å­¦ęƕäøščÆęˆē»©å•åŽŸē‰ˆäø€ęØ”äø€ę ·
办ē†å­¦ä½čƁ(UQę–‡å‡­čƁ书)ę˜†å£«å…°å¤§å­¦ęƕäøščÆęˆē»©å•åŽŸē‰ˆäø€ęØ”äø€ę ·umasea
Ā 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
Ā 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
Ā 
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
Ā 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
Ā 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
Ā 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
Ā 
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
Ā 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
Ā 
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
Ā 
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
Ā 
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.
Ā 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
Ā 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
Ā 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Ā 
Call Girls In Mukherjee Nagar šŸ“± 9999965857 šŸ¤© Delhi šŸ«¦ HOT AND SEXY VVIP šŸŽ SE...
Call Girls In Mukherjee Nagar šŸ“±  9999965857  šŸ¤© Delhi šŸ«¦ HOT AND SEXY VVIP šŸŽ SE...Call Girls In Mukherjee Nagar šŸ“±  9999965857  šŸ¤© Delhi šŸ«¦ HOT AND SEXY VVIP šŸŽ SE...
Call Girls In Mukherjee Nagar šŸ“± 9999965857 šŸ¤© Delhi šŸ«¦ HOT AND SEXY VVIP šŸŽ SE...
Ā 
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
Ā 
(Genuine) Escort Service Lucknow | Starting ā‚¹,5K To @25k with A/C šŸ§‘šŸ½ā€ā¤ļøā€šŸ§‘šŸ» 89...
(Genuine) Escort Service Lucknow | Starting ā‚¹,5K To @25k with A/C šŸ§‘šŸ½ā€ā¤ļøā€šŸ§‘šŸ» 89...(Genuine) Escort Service Lucknow | Starting ā‚¹,5K To @25k with A/C šŸ§‘šŸ½ā€ā¤ļøā€šŸ§‘šŸ» 89...
(Genuine) Escort Service Lucknow | Starting ā‚¹,5K To @25k with A/C šŸ§‘šŸ½ā€ā¤ļøā€šŸ§‘šŸ» 89...
Ā 
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...
Ā 
办ē†å­¦ä½čƁ(UQę–‡å‡­čƁ书)ę˜†å£«å…°å¤§å­¦ęƕäøščÆęˆē»©å•åŽŸē‰ˆäø€ęØ”äø€ę ·
办ē†å­¦ä½čƁ(UQę–‡å‡­čƁ书)ę˜†å£«å…°å¤§å­¦ęƕäøščÆęˆē»©å•åŽŸē‰ˆäø€ęØ”äø€ę ·åŠžē†å­¦ä½čƁ(UQę–‡å‡­čƁ书)ę˜†å£«å…°å¤§å­¦ęƕäøščÆęˆē»©å•åŽŸē‰ˆäø€ęØ”äø€ę ·
办ē†å­¦ä½čƁ(UQę–‡å‡­čƁ书)ę˜†å£«å…°å¤§å­¦ęƕäøščÆęˆē»©å•åŽŸē‰ˆäø€ęØ”äø€ę ·
Ā 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
Ā 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
Ā 
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...
Ā 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Ā 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
Ā 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
Ā 
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
Ā 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
Ā 
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
Ā 
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
Ā 
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
Ā 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
Ā 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
Ā 

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