SlideShare a Scribd company logo
1 of 24
How Can
Software Engineering
Support AI?
Flipping the Coin:
W. Maalej, 2022 @maalejw 1
Long co-existence & co-
-development of SE and AI
• Symbolic AI / Reasoning / Logic Programming
• Rule-based Systems / Blackboard patterns
• Reasoning in RE / (Goal) Modeling
• Last decade: Mega Machine Learning (ML)
trend through availability of data:
• SE has “ridden” this mega trend
• Open-source data ⇢ Mining Software Repos
• RecSys in software engineering from 2010+
• NLP for SE (now also Computer Vision for SE)
2
While “surfing
the ML wave”,
SE neglected its
core strengths
(to help AI)!
3
What has changed with ML-based systems
• Design the system (behavior) and a
“data scheme”. Users will “feed”
system with data
• Here’s the data, build a system
around it! It shall tolerate and adapt
to user “errors”; but no bias please!
Now
Then
• Observable errors are debug'able
through decision path
• Help me identify my requirements, then
design/build what’s reasonable/feasible
• Here a new technology/data/sensor,
I need a “magic AI” system
• Black-boxed tacit errors and unclear/
untraceable decision logic
4
⎈
⎈
⎈
ML models barely work in practice. Need an
accepted system which must be engineered!
5
Data-
first
Data
centric
Autonomous
Adaptive
Intellig
ent Smart Self- x
TSE’19 ICSE’22
Selection of recent general studies about
engineering ML systems
ICSE’19
“Requirements are more
uncertain for ML systems than
non-ML systems”
~“the product team must involve the
data science team in the negotiation of
requirements to avoid unrealistic
expectations”
“The randomness… complicates testing: random
data, random observation order, random
initialization for weights, random batches…
random optimizations in different … libraries”
“test case generation for ML
systems is more challenging,
compared to non-ML systems ”
6
Testing and quality
assurance for AI
10
Back box vs. white box testing
Two Black Box Testing ideas
TSE’21
ACL’20
12
Example capabilities:
• Synonyms, antonyms, etc
• Robustness (to typos, irrelevant
changes, etc),
• Appropriately understanding named
entities
• Fairness
• Temporal (understanding order of
events)
• Negation
• Coreference
• Semantic Role Labeling (such as
agent, object, etc),
• Logic (ability to handle symmetry,
consistency, and conjunctions)
DIR: Add negative phrases,
fails if sent. goes up by ° 0.1
0.8 34.6 5.0 0.0 13.2
@USAirways your service sucks. You are lame. Ó
@JetBlue all day. I abhor you. Ó
Robust.
INV: Add randomly generated
URLs and handles to tweets
9.6 13.4 24.8 11.4 7.4
@JetBlue that selfie was extreme. @pi9QDK INV
@united stuck because sta↵ took a break? Not happy 1K
INV: Swap one character with
its neighbor (typo)
5.6 10.2 10.4 5.2 3.8
@JetBlue ) @JeBtlue I cri INV
@SouthwestAir no thanks ) thakns INV
NER
INV: Switching locations
should not change predictions
7.0 20.8 14.8 7.6 6.4
@JetBlue I want you guys to be the first to fly to # Cuba
@VirginAmerica I miss the #nerdbird in San Jose ) Den
INV: Switching person names
should not change predictions
2.4 15.1 9.1 6.6 2.4
...Airport agents were horrendous. Sharon ) Erin was yo
@united 8602947, Jon ) Sean at http://t.co/58tuTgli0D,
Temporal
MFT: Sentiment change over
time, present should prevail
41.0 36.6 42.2 18.8 11.0
I used to hate this airline, although now I like it. pos
In the past I thought this airline was perfect, now I think
Negation
MFT: Negated negative should
be positive or neutral
18.8 54.2 29.4 13.2 2.6
The food is not poor. pos or neutral
It isn’t a lousy customer service. pos or neutral
MFT: Negated neutral should
still be neutral
40.4 39.6 74.2 98.4 95.4
This aircraft is not private. neutral
This is not an international flight. neutral
MFT: Negation of negative at
the end, should be pos. or neut.
100.0 90.4 100.0 84.8 7.2
I thought the plane would be awful, but it wasn’t. pos or
I thought I would dislike that plane, but I didn’t. pos or n
MFT: Negated positive with
neutral content in the middle
98.4 100.0 100.0 74.0 30.2
I wouldn’t say, given it’s a Tuesday, that this pilot was gr
I don’t think, given my history with airplanes, that this is
MFT: Author sentiment is more
important than of others
45.4 62.4 68.0 38.8 30.0
Some people think you are excellent, but I think you are
Some people hate you, but I think you are exceptional. p
with
Mini-
irec-
trix).
pired
ollec-
ck a
ar to
d are
s use
ually
S ex-
es in-
et al.,
pply
xpect
i↵er-
erent
r the
or in-
bility.
milar,
a cer-
ment
u are
rline
Templates Test cases and perturbations can of-
ten be generalized into a template, to test the
model on a more diverse set of inputs. In Fig-
ure 1 we generalized “I didn’t love the food.” with
the template “I {NEGATION} {POS_VERB} the
{THING}.”, where {NEGATION} = {didn’t, can’t
say I, ...}, {POS_VERB} = {love, like, ...}, {THING}
= {food, flight, service, ...}, and generated all test
cases with a Cartesian product. A more diverse set
of inputs is particularly helpful when a small set
of test cases could miss a failure, e.g. if a model
works for some forms of negation but not others.
Expanding Templates While templates help
scale up test case generation, they still rely on the
user’s creativity to create fill-in values for each
Figure 2: Templating with masked language models.
“I really {mask} the flight.” yields verbs that
the user can interactively filter into positive, negative,
Checklist capabilities of models based
on templates and human creativity
13
[Tulio Ribeiro et al., ACL’20]
How to get and
prioritize the
capabilities?
Metamorphic testing for NLP models
30],
tem
text
stic,
ack
rom
tem
ding
for
it is
very
n of
do
nce
30].
s to
for
modification.
Original Text
It seems that Jake with all his knowledge of the great
outdoors didn’t realize the danger! He enters a mine shaft
that’s leaking with dangerous gas!
Mutated Text
It seems that Julia with all her knowledge of the great
outdoors didn’t realize the danger! She enters a mine shaft
that’s leaking with dangerous gas!
Fig. 1. An example of how all references to the same entity has to
be considered when mutating a text to be associated with a different
gender.
Our framework, BiasFinder, can be instantiated to iden-
tify different kinds of bias. In this work, we show how
BiasFinder can be instantiated to uncover bias in three
different demographic characteristics: gender, occupation,
Coreferences Resolution
+———————-+
| |
Maria has a friend. She loves him.
| |
+———————-+
Coreferences
Maria, She
a friend, him
Fig. 2. Example of POS-tagging, NER, and coreference resolution.
There are two entities identified by the coreference resolution, ”Maria”
and ”a friend”, and the expressions referring to these entities are linked.
2.2.4 Dependency Parsing
The process of assigning a grammatical structure to a piece
of text and encoding dependency relationships between
words is known as dependency parsing [43], [44]. Encoding
such information as a parse tree, words in a text are con-
nected such that words that modify each other are linked.
For example, a dependency parse tree connects a verb to its
subject and object, and a noun to its adjectives.
paragraphs, which are otherwise identical, but describe an
individual using words associated with a different gender)
and should have the same sentiment. These mutants are
then input to the failure detection engine. This engine makes
use of the metamorphic relation between mutants (i.e., they
have the same sentiment as they are generated from the
same template) to infer failures (i.e., bias). This engine
identifies mutants that uncover bias in the SA system. These
mutants are output as the bias-uncovering test cases.
[Hilmi Asyrofi et al., TSE’21]
Generate templates (and then mutants) for gender, occupation, and county-of-
origin biases
14
When to generate test
cases and when to
specify with “human
intelligence”?
Two White Box Testing ideas
ASE’20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Beyond Duplicates: Towards Understanding and Predicting Link
Types in Issue Tracking Systems
Clara Marie Lüders, Abir Boura�a, Walid Maalej
ABSTRACT
Software projects use Issue Tracking Systems (ITS) like JIRA to
track issues and organize the work�ows around them. Issues are of-
ten inter-connected via di�erent links such as the default JIRA link
types Duplicate, Relate, Block, and Subtask. While previous research
has focused on analyzing and predicting duplication links, this work
aims at understanding the various other link types, their prevalence,
and characteristics towards a more reliable link type prediction. For
this, we studied 607,208 links connecting 698,790 issues in 15 public
JIRA repositories. Besides the default types, the custom types De-
pend, Incorporate, Split, and Cause were also common. We manually
grouped all 75 link types used in the repositories into �ve general
categories: General Relation, Duplication, Composition, Temporal /
Causal, and Work�ow. Comparing the structures of the correspond-
ing graphs, we observed several trends. For instance, as expected,
Duplication links tend to represent simpler issue graphs often with
two components and Composition links present the highest amount
of hierarchical tree structures (97.7%). Surprisingly, General Relation
links have a signi�cantly higher transitivity score than Duplication
and Temporal / Causal links.
Motivated by the di�erences between the types and by their
popularity, we evaluated the robustness of two state-of-the-art
duplicate detection approaches from the literature on our JIRA
dataset. We found that current deep-learning approaches confuse
between Duplication and other links in almost all repositories. On
average, the classi�cation accuracy dropped by 6% for one approach
and 12% for the other. Extending the training sets with other link
types seems to partly solve this issue. We discuss our �ndings and
their implications for research and practice.
ACM Reference Format:
Clara Marie Lüders, Abir Boura�a, Walid Maalej. 2022. Beyond Dupli-
cates: Towards Understanding and Predicting Link Types in Issue Tracking
Systems. In Proceedings of MSR ’22: Proceedings of the 19th International
Conference on Mining Software Repositories (MSR 2022). ACM, New York, NY,
USA, 11 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn
1 INTRODUCTION
Development teams use Issue Tracking Systems (ITS) such as Bugzilla,
Github Issues, or JIRA to track issues, including bugs to be �xed or
features to be implemented. Over the years ITS have emerged as a
central tool for planning and organizing development work [37],
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for pro�t or commercial advantage and that copies bear this notice and the full citation
on the �rst page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
and for communicating with users and other stakeholders [4]. Most
ITS allow the creation of links between the issues to indicate tech-
nical or work�ow dependencies. For instance, Bugzilla allows to
set properties such as “depends on”, “blocks”, and “See also” for bug
reports as well as to set the resolution status as “duplicate” with
link to a duplicate report [1]. Similarly, JIRA users can choose be-
tween four possible default types in the Issue Links section: Relate,
Duplicate, Block, and Clone1. Additionally, Subtasks and Epics can
be linked in separate sections.
Organizations can create and use additional link types to meet
their speci�c needs. For instance, Qt2 uses 6 link types including
Split and Replace. Apache3 uses as many as 21 including the custom
link types Container or Breaks. Each link type usually has an explicit
de�nition in the ITS. Over time, stakeholders might also develop
an “implicit” understanding of the connection represented by the
link type. This might be either indeed unique to the community
or simply a di�erent name denoting the same connection labeled
di�erently in another community. For instance, Apache uses both
the link type Depend and Block, while all other repositories only
use one of these types predominantly. However, in Bugzilla these
two link types are equivalent4.
Studying the various link types and their usage patterns across
the communities is essential to understanding collaboration in ITS
and tightening automated tool support such as predicting missing
links [27, 35]. In recent years, research has intensively studied the
speci�c type Duplicate. Detecting those links would reduce the
resolution time of duplicated issues and might reveal additional
information included in one but not the other issue [5, 8]. Based on a
Bugzilla dataset by Lazar et al. [21], researchers recently presented
duplicate prediction approaches using state-of-the-art machine
learning models with top performances of up to 97% [10, 16].
This work takes a holistic view on issue link types. We report
on a study comparing the various types and their usage in 15 well-
known public JIRA repositories [25]. By studying link types in JIRA,
a widely used ITS in practice, we hope to create awareness about
how the other types beyond duplicates are used and to inform a
more generalizable and reliable link type predictions. Our work
has three speci�c contributions. First, we manually reviewed and
analyzed all types found in the ITS and categorized them into �ve
general link categories. We report on the types, categories, and
usage frequencies across the studied repositories. Second, we apply
techniques from the �eld of graph theory to compare the complex-
ity, shape, transitivity [29], and assortativity [26] of the di�erent
graphs corresponding to each link category. Our comparison reveal
structural similarities across the repositories and several expected
and unexpected trends. Third, we show that current link prediction
MSR’22
15
(Out-of-) Distribution
aware Testing
(Label-) Taxonomy
aware Testing
[Lueders et al. MSR’22]
[Berend et al. ASE’20]
Capability in handling data
that falls outside of its learned
distribution
Capability of recognising
similar but negative classes
16
Requirements
Engineering for AI
17
Four general hypothesis…
1. Move from what is correct
to what is acceptable
18
- Depending on domain, use case,
requirements, release plan…
- What errors are acceptable?
- What error rates are acceptable?
- How should the system deal with
these errors?
- What is the feedback loop?
We might need
levels/ranges
instead of exact
values
19
• Communication of the
level is key
• Manage conflicts,
tradeoffs, rationale
From Wikipedia
2. Design AI
systems with
human (users)
in the loop
20
• Default design pattern!
• E.g. using prediction uncertainty
• Users as part of the system
[Maalej & Pagano, On the Socialness of Software, DASC’11]
Moderated Classifiers as deployment pattern
delegated to a human oracle, the number of mis-
classifications can be significantly reduced while
keeping manual workloads low.
A moderated classifier fω
mod is created from an
artificial classifier fω as follows:
fω
mod(x) :=
!
fω(x) if u[y|x, ω] ≤ ϑu
oH(x) else
(1)
where oH : X → Y represents the human ora-
cle, u[y|x, ω] ∈ U ⊂ R+ an uncertainty measure
of fω(x) and ω the learned parameters of f. If
frequently w
eration is e
an increasin
nificant imp
further effo
of increasin
egy seeks t
where the e
and become
Figure 1
for a moder
sents the ex
[Andersen and Maalej, ACL 22]
Human oracle
Example of Human (Users) in the Loop:
Uncertainty
measure
Threshold based
on a moderation
strategy
21
3. RE += Data
Requirements
Engineering
22
From Model-
centric to
Data-Centric AI
23
• Data requirements,
data smells
• Data labeling
process
• Quality of labels,
labelers
• Quality of single
labels and the
entire dataset
Quality Data
instead of
Big Data
4. Analysts
should re-learn to
actively design
the AI boundaries
24
When you have
a hammer
everything
looks like a
nail!
Seen on Twitter @Physicsastronmy
BERT
25
ML Problem
26
In short: “the AI engineering triangle”
Humans (Eng.+ Users)
in the loop
27
!?
Requirements
Engineering
Testing and
(Data) Quality
AI
Engineering
W. Maalej / Uni Hamburg @maalejw

More Related Content

What's hot

A Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityA Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityAcquia
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microserviceLuigi Bennardis
 
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaSite Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaKeet Sugathadasa
 
MBSE and the Business of Engineering
MBSE and the Business of EngineeringMBSE and the Business of Engineering
MBSE and the Business of EngineeringAras
 
DEVSECOPS: Coding DevSecOps journey
DEVSECOPS: Coding DevSecOps journeyDEVSECOPS: Coding DevSecOps journey
DEVSECOPS: Coding DevSecOps journeyJason Suttie
 
UX Enablement: Getting your team and your organization to practice user-cente...
UX Enablement: Getting your team and your organization to practice user-cente...UX Enablement: Getting your team and your organization to practice user-cente...
UX Enablement: Getting your team and your organization to practice user-cente...RBA
 
DevOps vs. Site Reliability Engineering (SRE) in Age of Kubernetes
DevOps vs. Site Reliability Engineering (SRE) in Age of KubernetesDevOps vs. Site Reliability Engineering (SRE) in Age of Kubernetes
DevOps vs. Site Reliability Engineering (SRE) in Age of KubernetesDevOps.com
 
Supply Chain Transformation on the Cloud |Accenture
Supply Chain Transformation on the Cloud |AccentureSupply Chain Transformation on the Cloud |Accenture
Supply Chain Transformation on the Cloud |Accentureaccenture
 
What is Site Reliability Engineering (SRE)
What is Site Reliability Engineering (SRE)What is Site Reliability Engineering (SRE)
What is Site Reliability Engineering (SRE)jeetendra mandal
 
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...DevOpsDays Tel Aviv
 
DevOps and APIs: Great Alone, Better Together
DevOps and APIs: Great Alone, Better Together DevOps and APIs: Great Alone, Better Together
DevOps and APIs: Great Alone, Better Together MuleSoft
 
Robotic Process Automation End-to-End Implementation Roadmap
Robotic Process Automation End-to-End Implementation RoadmapRobotic Process Automation End-to-End Implementation Roadmap
Robotic Process Automation End-to-End Implementation RoadmapChazey Partners
 
Welcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyWelcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyMuleSoft
 
Building an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceBuilding an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceFranklin Angulo
 
Building a Data Driven Culture and AI Revolution With Gregory Little | Curren...
Building a Data Driven Culture and AI Revolution With Gregory Little | Curren...Building a Data Driven Culture and AI Revolution With Gregory Little | Curren...
Building a Data Driven Culture and AI Revolution With Gregory Little | Curren...HostedbyConfluent
 

What's hot (20)

A Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityA Crash Course in Building Site Reliability
A Crash Course in Building Site Reliability
 
Full lifecycle of a microservice
Full lifecycle of a microserviceFull lifecycle of a microservice
Full lifecycle of a microservice
 
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet SugathadasaSite Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
Site Reliability Engineering (SRE) - Tech Talk by Keet Sugathadasa
 
SRE vs DevOps
SRE vs DevOpsSRE vs DevOps
SRE vs DevOps
 
MBSE and the Business of Engineering
MBSE and the Business of EngineeringMBSE and the Business of Engineering
MBSE and the Business of Engineering
 
DEVSECOPS: Coding DevSecOps journey
DEVSECOPS: Coding DevSecOps journeyDEVSECOPS: Coding DevSecOps journey
DEVSECOPS: Coding DevSecOps journey
 
UX Enablement: Getting your team and your organization to practice user-cente...
UX Enablement: Getting your team and your organization to practice user-cente...UX Enablement: Getting your team and your organization to practice user-cente...
UX Enablement: Getting your team and your organization to practice user-cente...
 
DevOps vs. Site Reliability Engineering (SRE) in Age of Kubernetes
DevOps vs. Site Reliability Engineering (SRE) in Age of KubernetesDevOps vs. Site Reliability Engineering (SRE) in Age of Kubernetes
DevOps vs. Site Reliability Engineering (SRE) in Age of Kubernetes
 
Lead Through Disruption Guide PDF
Lead Through Disruption Guide PDFLead Through Disruption Guide PDF
Lead Through Disruption Guide PDF
 
Aon Cloud
Aon Cloud Aon Cloud
Aon Cloud
 
Supply Chain Transformation on the Cloud |Accenture
Supply Chain Transformation on the Cloud |AccentureSupply Chain Transformation on the Cloud |Accenture
Supply Chain Transformation on the Cloud |Accenture
 
What is Site Reliability Engineering (SRE)
What is Site Reliability Engineering (SRE)What is Site Reliability Engineering (SRE)
What is Site Reliability Engineering (SRE)
 
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
Implementing SRE practices: SLI/SLO deep dive - David Blank-Edelman - DevOpsD...
 
DevOps and APIs: Great Alone, Better Together
DevOps and APIs: Great Alone, Better Together DevOps and APIs: Great Alone, Better Together
DevOps and APIs: Great Alone, Better Together
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Dissecting SysML v2.pptx
Dissecting SysML v2.pptxDissecting SysML v2.pptx
Dissecting SysML v2.pptx
 
Robotic Process Automation End-to-End Implementation Roadmap
Robotic Process Automation End-to-End Implementation RoadmapRobotic Process Automation End-to-End Implementation Roadmap
Robotic Process Automation End-to-End Implementation Roadmap
 
Welcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyWelcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API Strategy
 
Building an SRE Organization @ Squarespace
Building an SRE Organization @ SquarespaceBuilding an SRE Organization @ Squarespace
Building an SRE Organization @ Squarespace
 
Building a Data Driven Culture and AI Revolution With Gregory Little | Curren...
Building a Data Driven Culture and AI Revolution With Gregory Little | Curren...Building a Data Driven Culture and AI Revolution With Gregory Little | Curren...
Building a Data Driven Culture and AI Revolution With Gregory Little | Curren...
 

Similar to How Can Software Engineering Support AI

Model evaluation in the land of deep learning
Model evaluation in the land of deep learningModel evaluation in the land of deep learning
Model evaluation in the land of deep learningPramit Choudhary
 
Social Network Analysis Introduction including Data Structure Graph overview.
Social Network Analysis Introduction including Data Structure Graph overview. Social Network Analysis Introduction including Data Structure Graph overview.
Social Network Analysis Introduction including Data Structure Graph overview. Doug Needham
 
AI Beyond Deep Learning
AI Beyond Deep LearningAI Beyond Deep Learning
AI Beyond Deep LearningAndre Freitas
 
Becoming Datacentric
Becoming DatacentricBecoming Datacentric
Becoming DatacentricTimothy Cook
 
AN GROUP BEHAVIOR MOBILITY MODEL FOR OPPORTUNISTIC NETWORKS
AN GROUP BEHAVIOR MOBILITY MODEL FOR OPPORTUNISTIC NETWORKS AN GROUP BEHAVIOR MOBILITY MODEL FOR OPPORTUNISTIC NETWORKS
AN GROUP BEHAVIOR MOBILITY MODEL FOR OPPORTUNISTIC NETWORKS csandit
 
Telefonica Lunch Seminar
Telefonica Lunch SeminarTelefonica Lunch Seminar
Telefonica Lunch SeminarNeal Lathia
 
BigData Visualization and Usecase@TDGA-Stelligence-11july2019-share
BigData Visualization and Usecase@TDGA-Stelligence-11july2019-shareBigData Visualization and Usecase@TDGA-Stelligence-11july2019-share
BigData Visualization and Usecase@TDGA-Stelligence-11july2019-sharestelligence
 
The Incredible Disappearing Data Scientist
The Incredible Disappearing Data ScientistThe Incredible Disappearing Data Scientist
The Incredible Disappearing Data ScientistRebecca Bilbro
 
Machine Learning ICS 273A
Machine Learning ICS 273AMachine Learning ICS 273A
Machine Learning ICS 273Abutest
 
Machine Learning ICS 273A
Machine Learning ICS 273AMachine Learning ICS 273A
Machine Learning ICS 273Abutest
 
Data modeling levels and techniques.docx
Data modeling levels and techniques.docxData modeling levels and techniques.docx
Data modeling levels and techniques.docxLanLThThy
 
Data modeling levels and techniques.docx
Data modeling levels and techniques.docxData modeling levels and techniques.docx
Data modeling levels and techniques.docxLanLThThy
 
Data modeling levels and techniques.docx
Data modeling levels and techniques.docxData modeling levels and techniques.docx
Data modeling levels and techniques.docxLanLThThy
 
Human in the loop: Bayesian Rules Enabling Explainable AI
Human in the loop: Bayesian Rules Enabling Explainable AIHuman in the loop: Bayesian Rules Enabling Explainable AI
Human in the loop: Bayesian Rules Enabling Explainable AIPramit Choudhary
 
Big Data Conference
Big Data ConferenceBig Data Conference
Big Data ConferenceDataTactics
 
A Blended Approach to Analytics at Data Tactics Corporation
A Blended Approach to Analytics at Data Tactics CorporationA Blended Approach to Analytics at Data Tactics Corporation
A Blended Approach to Analytics at Data Tactics CorporationRich Heimann
 
Explainability and bias in AI
Explainability and bias in AIExplainability and bias in AI
Explainability and bias in AIBill Liu
 

Similar to How Can Software Engineering Support AI (20)

Unit 18
Unit 18Unit 18
Unit 18
 
Model evaluation in the land of deep learning
Model evaluation in the land of deep learningModel evaluation in the land of deep learning
Model evaluation in the land of deep learning
 
Social Network Analysis Introduction including Data Structure Graph overview.
Social Network Analysis Introduction including Data Structure Graph overview. Social Network Analysis Introduction including Data Structure Graph overview.
Social Network Analysis Introduction including Data Structure Graph overview.
 
AI Beyond Deep Learning
AI Beyond Deep LearningAI Beyond Deep Learning
AI Beyond Deep Learning
 
Becoming Datacentric
Becoming DatacentricBecoming Datacentric
Becoming Datacentric
 
AN GROUP BEHAVIOR MOBILITY MODEL FOR OPPORTUNISTIC NETWORKS
AN GROUP BEHAVIOR MOBILITY MODEL FOR OPPORTUNISTIC NETWORKS AN GROUP BEHAVIOR MOBILITY MODEL FOR OPPORTUNISTIC NETWORKS
AN GROUP BEHAVIOR MOBILITY MODEL FOR OPPORTUNISTIC NETWORKS
 
Telefonica Lunch Seminar
Telefonica Lunch SeminarTelefonica Lunch Seminar
Telefonica Lunch Seminar
 
BigData Visualization and Usecase@TDGA-Stelligence-11july2019-share
BigData Visualization and Usecase@TDGA-Stelligence-11july2019-shareBigData Visualization and Usecase@TDGA-Stelligence-11july2019-share
BigData Visualization and Usecase@TDGA-Stelligence-11july2019-share
 
The Incredible Disappearing Data Scientist
The Incredible Disappearing Data ScientistThe Incredible Disappearing Data Scientist
The Incredible Disappearing Data Scientist
 
06 Community Detection
06 Community Detection06 Community Detection
06 Community Detection
 
Machine Learning ICS 273A
Machine Learning ICS 273AMachine Learning ICS 273A
Machine Learning ICS 273A
 
Machine Learning ICS 273A
Machine Learning ICS 273AMachine Learning ICS 273A
Machine Learning ICS 273A
 
Data modeling levels and techniques.docx
Data modeling levels and techniques.docxData modeling levels and techniques.docx
Data modeling levels and techniques.docx
 
Data modeling levels and techniques.docx
Data modeling levels and techniques.docxData modeling levels and techniques.docx
Data modeling levels and techniques.docx
 
Data modeling levels and techniques.docx
Data modeling levels and techniques.docxData modeling levels and techniques.docx
Data modeling levels and techniques.docx
 
Human in the loop: Bayesian Rules Enabling Explainable AI
Human in the loop: Bayesian Rules Enabling Explainable AIHuman in the loop: Bayesian Rules Enabling Explainable AI
Human in the loop: Bayesian Rules Enabling Explainable AI
 
Big Data Conference
Big Data ConferenceBig Data Conference
Big Data Conference
 
A Blended Approach to Analytics at Data Tactics Corporation
A Blended Approach to Analytics at Data Tactics CorporationA Blended Approach to Analytics at Data Tactics Corporation
A Blended Approach to Analytics at Data Tactics Corporation
 
Report
ReportReport
Report
 
Explainability and bias in AI
Explainability and bias in AIExplainability and bias in AI
Explainability and bias in AI
 

More from Walid Maalej

How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...Walid Maalej
 
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)Walid Maalej
 
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...Walid Maalej
 
Msr14 tutorial 4upload
Msr14 tutorial 4uploadMsr14 tutorial 4upload
Msr14 tutorial 4uploadWalid Maalej
 
Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!Walid Maalej
 
2012 icse program comprehension
2012 icse program comprehension2012 icse program comprehension
2012 icse program comprehensionWalid Maalej
 
On the Socialness of Software
On the Socialness of SoftwareOn the Socialness of Software
On the Socialness of SoftwareWalid Maalej
 
Context aware software engineering and maintenance: the FastFix approach
Context aware software engineering and maintenance: the FastFix approachContext aware software engineering and maintenance: the FastFix approach
Context aware software engineering and maintenance: the FastFix approachWalid Maalej
 
Invited Talk at TU Graz
Invited Talk at TU GrazInvited Talk at TU Graz
Invited Talk at TU GrazWalid Maalej
 
Intention-Based Integration of Software Engineering Tools
Intention-Based Integration of Software Engineering ToolsIntention-Based Integration of Software Engineering Tools
Intention-Based Integration of Software Engineering ToolsWalid Maalej
 
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...Walid Maalej
 
Can Development Work Describe Itself?
Can Development Work Describe Itself?Can Development Work Describe Itself?
Can Development Work Describe Itself?Walid Maalej
 
05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit05 Making Tacit Requirements Explicit
05 Making Tacit Requirements ExplicitWalid Maalej
 
10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert StakeholdersWalid Maalej
 
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...Walid Maalej
 
08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements ElicitationWalid Maalej
 
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...Walid Maalej
 
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...Walid Maalej
 
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product LinesWalid Maalej
 
07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements KnowledgeWalid Maalej
 

More from Walid Maalej (20)

How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
 
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
 
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
 
Msr14 tutorial 4upload
Msr14 tutorial 4uploadMsr14 tutorial 4upload
Msr14 tutorial 4upload
 
Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!
 
2012 icse program comprehension
2012 icse program comprehension2012 icse program comprehension
2012 icse program comprehension
 
On the Socialness of Software
On the Socialness of SoftwareOn the Socialness of Software
On the Socialness of Software
 
Context aware software engineering and maintenance: the FastFix approach
Context aware software engineering and maintenance: the FastFix approachContext aware software engineering and maintenance: the FastFix approach
Context aware software engineering and maintenance: the FastFix approach
 
Invited Talk at TU Graz
Invited Talk at TU GrazInvited Talk at TU Graz
Invited Talk at TU Graz
 
Intention-Based Integration of Software Engineering Tools
Intention-Based Integration of Software Engineering ToolsIntention-Based Integration of Software Engineering Tools
Intention-Based Integration of Software Engineering Tools
 
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
 
Can Development Work Describe Itself?
Can Development Work Describe Itself?Can Development Work Describe Itself?
Can Development Work Describe Itself?
 
05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit
 
10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders
 
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
 
08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation
 
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
 
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
 
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
 
07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

How Can Software Engineering Support AI

  • 1. How Can Software Engineering Support AI? Flipping the Coin: W. Maalej, 2022 @maalejw 1
  • 2. Long co-existence & co- -development of SE and AI • Symbolic AI / Reasoning / Logic Programming • Rule-based Systems / Blackboard patterns • Reasoning in RE / (Goal) Modeling • Last decade: Mega Machine Learning (ML) trend through availability of data: • SE has “ridden” this mega trend • Open-source data ⇢ Mining Software Repos • RecSys in software engineering from 2010+ • NLP for SE (now also Computer Vision for SE) 2
  • 3. While “surfing the ML wave”, SE neglected its core strengths (to help AI)! 3
  • 4. What has changed with ML-based systems • Design the system (behavior) and a “data scheme”. Users will “feed” system with data • Here’s the data, build a system around it! It shall tolerate and adapt to user “errors”; but no bias please! Now Then • Observable errors are debug'able through decision path • Help me identify my requirements, then design/build what’s reasonable/feasible • Here a new technology/data/sensor, I need a “magic AI” system • Black-boxed tacit errors and unclear/ untraceable decision logic 4 ⎈ ⎈ ⎈
  • 5. ML models barely work in practice. Need an accepted system which must be engineered! 5 Data- first Data centric Autonomous Adaptive Intellig ent Smart Self- x
  • 6. TSE’19 ICSE’22 Selection of recent general studies about engineering ML systems ICSE’19 “Requirements are more uncertain for ML systems than non-ML systems” ~“the product team must involve the data science team in the negotiation of requirements to avoid unrealistic expectations” “The randomness… complicates testing: random data, random observation order, random initialization for weights, random batches… random optimizations in different … libraries” “test case generation for ML systems is more challenging, compared to non-ML systems ” 6
  • 8. Back box vs. white box testing
  • 9. Two Black Box Testing ideas TSE’21 ACL’20 12
  • 10. Example capabilities: • Synonyms, antonyms, etc • Robustness (to typos, irrelevant changes, etc), • Appropriately understanding named entities • Fairness • Temporal (understanding order of events) • Negation • Coreference • Semantic Role Labeling (such as agent, object, etc), • Logic (ability to handle symmetry, consistency, and conjunctions) DIR: Add negative phrases, fails if sent. goes up by ° 0.1 0.8 34.6 5.0 0.0 13.2 @USAirways your service sucks. You are lame. Ó @JetBlue all day. I abhor you. Ó Robust. INV: Add randomly generated URLs and handles to tweets 9.6 13.4 24.8 11.4 7.4 @JetBlue that selfie was extreme. @pi9QDK INV @united stuck because sta↵ took a break? Not happy 1K INV: Swap one character with its neighbor (typo) 5.6 10.2 10.4 5.2 3.8 @JetBlue ) @JeBtlue I cri INV @SouthwestAir no thanks ) thakns INV NER INV: Switching locations should not change predictions 7.0 20.8 14.8 7.6 6.4 @JetBlue I want you guys to be the first to fly to # Cuba @VirginAmerica I miss the #nerdbird in San Jose ) Den INV: Switching person names should not change predictions 2.4 15.1 9.1 6.6 2.4 ...Airport agents were horrendous. Sharon ) Erin was yo @united 8602947, Jon ) Sean at http://t.co/58tuTgli0D, Temporal MFT: Sentiment change over time, present should prevail 41.0 36.6 42.2 18.8 11.0 I used to hate this airline, although now I like it. pos In the past I thought this airline was perfect, now I think Negation MFT: Negated negative should be positive or neutral 18.8 54.2 29.4 13.2 2.6 The food is not poor. pos or neutral It isn’t a lousy customer service. pos or neutral MFT: Negated neutral should still be neutral 40.4 39.6 74.2 98.4 95.4 This aircraft is not private. neutral This is not an international flight. neutral MFT: Negation of negative at the end, should be pos. or neut. 100.0 90.4 100.0 84.8 7.2 I thought the plane would be awful, but it wasn’t. pos or I thought I would dislike that plane, but I didn’t. pos or n MFT: Negated positive with neutral content in the middle 98.4 100.0 100.0 74.0 30.2 I wouldn’t say, given it’s a Tuesday, that this pilot was gr I don’t think, given my history with airplanes, that this is MFT: Author sentiment is more important than of others 45.4 62.4 68.0 38.8 30.0 Some people think you are excellent, but I think you are Some people hate you, but I think you are exceptional. p with Mini- irec- trix). pired ollec- ck a ar to d are s use ually S ex- es in- et al., pply xpect i↵er- erent r the or in- bility. milar, a cer- ment u are rline Templates Test cases and perturbations can of- ten be generalized into a template, to test the model on a more diverse set of inputs. In Fig- ure 1 we generalized “I didn’t love the food.” with the template “I {NEGATION} {POS_VERB} the {THING}.”, where {NEGATION} = {didn’t, can’t say I, ...}, {POS_VERB} = {love, like, ...}, {THING} = {food, flight, service, ...}, and generated all test cases with a Cartesian product. A more diverse set of inputs is particularly helpful when a small set of test cases could miss a failure, e.g. if a model works for some forms of negation but not others. Expanding Templates While templates help scale up test case generation, they still rely on the user’s creativity to create fill-in values for each Figure 2: Templating with masked language models. “I really {mask} the flight.” yields verbs that the user can interactively filter into positive, negative, Checklist capabilities of models based on templates and human creativity 13 [Tulio Ribeiro et al., ACL’20] How to get and prioritize the capabilities?
  • 11. Metamorphic testing for NLP models 30], tem text stic, ack rom tem ding for it is very n of do nce 30]. s to for modification. Original Text It seems that Jake with all his knowledge of the great outdoors didn’t realize the danger! He enters a mine shaft that’s leaking with dangerous gas! Mutated Text It seems that Julia with all her knowledge of the great outdoors didn’t realize the danger! She enters a mine shaft that’s leaking with dangerous gas! Fig. 1. An example of how all references to the same entity has to be considered when mutating a text to be associated with a different gender. Our framework, BiasFinder, can be instantiated to iden- tify different kinds of bias. In this work, we show how BiasFinder can be instantiated to uncover bias in three different demographic characteristics: gender, occupation, Coreferences Resolution +———————-+ | | Maria has a friend. She loves him. | | +———————-+ Coreferences Maria, She a friend, him Fig. 2. Example of POS-tagging, NER, and coreference resolution. There are two entities identified by the coreference resolution, ”Maria” and ”a friend”, and the expressions referring to these entities are linked. 2.2.4 Dependency Parsing The process of assigning a grammatical structure to a piece of text and encoding dependency relationships between words is known as dependency parsing [43], [44]. Encoding such information as a parse tree, words in a text are con- nected such that words that modify each other are linked. For example, a dependency parse tree connects a verb to its subject and object, and a noun to its adjectives. paragraphs, which are otherwise identical, but describe an individual using words associated with a different gender) and should have the same sentiment. These mutants are then input to the failure detection engine. This engine makes use of the metamorphic relation between mutants (i.e., they have the same sentiment as they are generated from the same template) to infer failures (i.e., bias). This engine identifies mutants that uncover bias in the SA system. These mutants are output as the bias-uncovering test cases. [Hilmi Asyrofi et al., TSE’21] Generate templates (and then mutants) for gender, occupation, and county-of- origin biases 14 When to generate test cases and when to specify with “human intelligence”?
  • 12. Two White Box Testing ideas ASE’20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 Beyond Duplicates: Towards Understanding and Predicting Link Types in Issue Tracking Systems Clara Marie Lüders, Abir Boura�a, Walid Maalej ABSTRACT Software projects use Issue Tracking Systems (ITS) like JIRA to track issues and organize the work�ows around them. Issues are of- ten inter-connected via di�erent links such as the default JIRA link types Duplicate, Relate, Block, and Subtask. While previous research has focused on analyzing and predicting duplication links, this work aims at understanding the various other link types, their prevalence, and characteristics towards a more reliable link type prediction. For this, we studied 607,208 links connecting 698,790 issues in 15 public JIRA repositories. Besides the default types, the custom types De- pend, Incorporate, Split, and Cause were also common. We manually grouped all 75 link types used in the repositories into �ve general categories: General Relation, Duplication, Composition, Temporal / Causal, and Work�ow. Comparing the structures of the correspond- ing graphs, we observed several trends. For instance, as expected, Duplication links tend to represent simpler issue graphs often with two components and Composition links present the highest amount of hierarchical tree structures (97.7%). Surprisingly, General Relation links have a signi�cantly higher transitivity score than Duplication and Temporal / Causal links. Motivated by the di�erences between the types and by their popularity, we evaluated the robustness of two state-of-the-art duplicate detection approaches from the literature on our JIRA dataset. We found that current deep-learning approaches confuse between Duplication and other links in almost all repositories. On average, the classi�cation accuracy dropped by 6% for one approach and 12% for the other. Extending the training sets with other link types seems to partly solve this issue. We discuss our �ndings and their implications for research and practice. ACM Reference Format: Clara Marie Lüders, Abir Boura�a, Walid Maalej. 2022. Beyond Dupli- cates: Towards Understanding and Predicting Link Types in Issue Tracking Systems. In Proceedings of MSR ’22: Proceedings of the 19th International Conference on Mining Software Repositories (MSR 2022). ACM, New York, NY, USA, 11 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn 1 INTRODUCTION Development teams use Issue Tracking Systems (ITS) such as Bugzilla, Github Issues, or JIRA to track issues, including bugs to be �xed or features to be implemented. Over the years ITS have emerged as a central tool for planning and organizing development work [37], Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for pro�t or commercial advantage and that copies bear this notice and the full citation on the �rst page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, and for communicating with users and other stakeholders [4]. Most ITS allow the creation of links between the issues to indicate tech- nical or work�ow dependencies. For instance, Bugzilla allows to set properties such as “depends on”, “blocks”, and “See also” for bug reports as well as to set the resolution status as “duplicate” with link to a duplicate report [1]. Similarly, JIRA users can choose be- tween four possible default types in the Issue Links section: Relate, Duplicate, Block, and Clone1. Additionally, Subtasks and Epics can be linked in separate sections. Organizations can create and use additional link types to meet their speci�c needs. For instance, Qt2 uses 6 link types including Split and Replace. Apache3 uses as many as 21 including the custom link types Container or Breaks. Each link type usually has an explicit de�nition in the ITS. Over time, stakeholders might also develop an “implicit” understanding of the connection represented by the link type. This might be either indeed unique to the community or simply a di�erent name denoting the same connection labeled di�erently in another community. For instance, Apache uses both the link type Depend and Block, while all other repositories only use one of these types predominantly. However, in Bugzilla these two link types are equivalent4. Studying the various link types and their usage patterns across the communities is essential to understanding collaboration in ITS and tightening automated tool support such as predicting missing links [27, 35]. In recent years, research has intensively studied the speci�c type Duplicate. Detecting those links would reduce the resolution time of duplicated issues and might reveal additional information included in one but not the other issue [5, 8]. Based on a Bugzilla dataset by Lazar et al. [21], researchers recently presented duplicate prediction approaches using state-of-the-art machine learning models with top performances of up to 97% [10, 16]. This work takes a holistic view on issue link types. We report on a study comparing the various types and their usage in 15 well- known public JIRA repositories [25]. By studying link types in JIRA, a widely used ITS in practice, we hope to create awareness about how the other types beyond duplicates are used and to inform a more generalizable and reliable link type predictions. Our work has three speci�c contributions. First, we manually reviewed and analyzed all types found in the ITS and categorized them into �ve general link categories. We report on the types, categories, and usage frequencies across the studied repositories. Second, we apply techniques from the �eld of graph theory to compare the complex- ity, shape, transitivity [29], and assortativity [26] of the di�erent graphs corresponding to each link category. Our comparison reveal structural similarities across the repositories and several expected and unexpected trends. Third, we show that current link prediction MSR’22 15
  • 13. (Out-of-) Distribution aware Testing (Label-) Taxonomy aware Testing [Lueders et al. MSR’22] [Berend et al. ASE’20] Capability in handling data that falls outside of its learned distribution Capability of recognising similar but negative classes 16
  • 15. 1. Move from what is correct to what is acceptable 18 - Depending on domain, use case, requirements, release plan… - What errors are acceptable? - What error rates are acceptable? - How should the system deal with these errors? - What is the feedback loop?
  • 16. We might need levels/ranges instead of exact values 19 • Communication of the level is key • Manage conflicts, tradeoffs, rationale From Wikipedia
  • 17. 2. Design AI systems with human (users) in the loop 20 • Default design pattern! • E.g. using prediction uncertainty • Users as part of the system [Maalej & Pagano, On the Socialness of Software, DASC’11]
  • 18. Moderated Classifiers as deployment pattern delegated to a human oracle, the number of mis- classifications can be significantly reduced while keeping manual workloads low. A moderated classifier fω mod is created from an artificial classifier fω as follows: fω mod(x) := ! fω(x) if u[y|x, ω] ≤ ϑu oH(x) else (1) where oH : X → Y represents the human ora- cle, u[y|x, ω] ∈ U ⊂ R+ an uncertainty measure of fω(x) and ω the learned parameters of f. If frequently w eration is e an increasin nificant imp further effo of increasin egy seeks t where the e and become Figure 1 for a moder sents the ex [Andersen and Maalej, ACL 22] Human oracle Example of Human (Users) in the Loop: Uncertainty measure Threshold based on a moderation strategy 21
  • 19. 3. RE += Data Requirements Engineering 22
  • 20. From Model- centric to Data-Centric AI 23 • Data requirements, data smells • Data labeling process • Quality of labels, labelers • Quality of single labels and the entire dataset Quality Data instead of Big Data
  • 21. 4. Analysts should re-learn to actively design the AI boundaries 24
  • 22. When you have a hammer everything looks like a nail! Seen on Twitter @Physicsastronmy BERT 25 ML Problem
  • 23. 26
  • 24. In short: “the AI engineering triangle” Humans (Eng.+ Users) in the loop 27 !? Requirements Engineering Testing and (Data) Quality AI Engineering W. Maalej / Uni Hamburg @maalejw