Vision talk on artificial intelligence techniques in requirements engineering gave at the RE@40 seminar on April 25, 2017 in Kappel am Albis, Switzerland.
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
The Automated Requirements Engineer: utopia or dystopia
1. The Automated Requirements Engineer:
Utopia or Dystopia?
Fabiano Dalpiaz
Requirements Engineering Lab
Department of Information and Computing Sciences
Utrecht University
RE@40 Seminar – April 25, 2017
2. Disclaimer
This talk is provocative and intended to
trigger discussion!
@2017 Fabiano Dalpiaz2
4. 1. The Automated Req. Engineer: Vision
Most of today’s RE tasks extensively rely on humans
Is that necessary?
Dan Berry (REFSQ 2012) distinguishes between
Clerical RE activities: simple, repetitive – tools may do this job
Thinking-required activities that require human analysts
@2017 Fabiano Dalpiaz4
5. 1. The Automated Req. Engineer: Vision
Most of today’s RE tasks extensively rely on humans
Is that necessary?
Dan Berry (REFSQ 2012) distinguishes between
Clerical RE activities: simple, repetitive – tools may do this job
Thinking-required activities that require human analysts
I argue for swapping the roles: from tool-assisted RE
to human-assisted RE
@2017 Fabiano Dalpiaz5
6. 1. The Automated Req. Engineer: Vision
You may already say this is a dystopic vision…
… I will try to convince you it is a utopic vision instead
@2017 Fabiano Dalpiaz6
7. 2.Traits of a Good Requirements Engineer
@2017 Fabiano Dalpiaz7
8. 2. Traits of a Good Req. Engineer
What makes a requirements engineer good?
Many characteristics, among which*
1. Competence
2. Ethicality
3. Creativity
* Disclaimers: (1) the list is very incomplete; (2) I picked traits that fit well my claims
@2017 Fabiano Dalpiaz8
9. 2. Traits of a Good Req. Engineer
Let me illustrate what I mean, rather than provide definitions
1. Competence
Can employ the most suitable elicitation techniques, has effective
social skills for negotiation etc., can turn needs into specs, …
2. Ethicality
Responsibility for actions, respect for privacy & other values, …
3. Creativity
Continuously seeking for innovation? Out-of-the-box thinking?
@2017 Fabiano Dalpiaz9
10. 2. Traits of a Good Req. Engineer
1. Competence
2. Ethicality
3. Creativity
… will the automated requirements engineer possess all
these qualities?
How and when?
@2017 Fabiano Dalpiaz10
11. 3. Realizing the vision:
where do we stand and where do we go?
@2017 Fabiano Dalpiaz11
12. 3. Realizing the vision: competence
What did the RE community
achieve so far?
NLP analysis of textual requirements
Defects, ambiguity, tacit knowledge,
extraction of models
(Semi-)automated traceability
Logic reasoning on req. models
E.g., goal model analysis, spec
verification, variants derivation
@2017 Fabiano Dalpiaz
Results on simple tasks are
quite impressive…
12
13. 3. Realizing the vision: competence
But we are in the infancy of automated reasoning.Take NLP
(from Kambria &White’s Jumping NLP Curves paper)
@2017 Fabiano Dalpiaz13
14. 3. Realizing the vision: competence
Why is this so hard? Examples
Every branch of the bank that is built on a bank shall store its
servers above the water level
From Facebook: “We analyze the content of your posts…”
Meaning: “we can” – permission
“We delete data after 15 days”
Meaning,“we must?” – obligation
Pragmatics is needed:“… because of the right-to-be-forgotten law”
@2017 Fabiano Dalpiaz
Bottom line: as per today, humans understand this way better than software
14
15. 3. Realizing the vision: ethicality
Does the requirements engineer act ethically?
Impartially
Following a code of conduct
Respecting privacy
Preventing potential software misuse
Transparently
Respecting the customers/users ethical values
@2017 Fabiano Dalpiaz15
16. 3. Realizing the vision: ethicality
Do we really trust humans for this?
Power and politics in RE (Neil Maiden)
Wouldn’t an algorithm be less biased, auditable, consistent
in its judgment?
Perhaps not a dystopia after all…
Challenges: who is held responsible for the algorithm’s decisions?
@2017 Fabiano Dalpiaz16
17. 3. Realizing the vision: creativity
Creative thinking is important in RE, we do not want just
the basic requirements!
How do we define
creativity?
Often correlated with
novelty and originality
But how many unique
ideas are there?
Can a tool look for creative
ideas by scraping the web?
@2017 Fabiano Dalpiaz17
19. 4. Conclusion and Discussion
The automated requirements engineer
Swapping roles: human-assisted RE as opposed to tool-assisted RE
Is still utopic: many years of good RE research are needed
Is perhaps not that dystopic
Depends on advances in information retrieval, machine learning,
natural language processing, …
@2017 Fabiano Dalpiaz19
20. Thanks from the Requirements
Engineering Lab at Utrecht University!
@2017 Fabiano Dalpiaz
Fabiano Dalpiaz
Sjaak Brinkkemper
F. Basak Aydemir
Sietse Overbeek
Marcela Ruiz
Garm Lucassen
GerardWagenaar
Davide dell’Anna
Govert-Jan Slob
20