SlideShare a Scribd company logo
1 of 37
Download to read offline
ON IMPACT IN SOFTWARE ENGINEERING
RESEARCH
ANDREAS ZELLER, CISPA / SAARLAND UNIVERSITY
ICSE NEW FACULTY SYMPOSIUM
GÖTEBORG, MAY 29, 2018
@AndreasZeller
@AndreasZeller
ANDREAS ZELLER: KEY FACTS
• PhD in 1997 on Configuration Management with Feature Logic
• Since 2001 professor at Saarland Informatics Campus

(Saarland University / CISPA)
• Four 10-year impact awards 2009–2017

(for papers 1999–2007)
• ACM Fellow in 2010
• ERC Advanced Grant in 2011
• SIGSOFT Outstanding Research Award on Friday
@AndreasZeller
WHAT IS IMPACT?
@AndreasZeller
WHAT IS IMPACT?
• How do your actions change the world?
• Often measured in citations, publications, funding,
people, …
• All these are indicators of impact, but not goals in
themselves
• We want to make the world a better place
• Gives meaning and purpose to our (professional) life
@AndreasZeller
WHAT MAKES IMPACTFUL
RESEARCH?
• Intellectual challenge – was it hard, or could anyone
have done this?
• Elegance – is your research specific to a context, or
can it be reused again and again?
• Usefulness – can someone make money with it?
• Innovation is the delta in any of these metrics
@AndreasZeller
VARYING PERSPECTIVES
• Programming Languages folks miss the intellectual
challenge
• Formal Methods folks miss elegance and
challenge
• Industry folks miss usefulness and applicability
@AndreasZeller
WHAT MAKES IMPACTFUL
RESEARCH?
• How did your work make the world a better place?
@AndreasZeller
MY PATH TO IMPACT
@AndreasZeller
MY PATH TO IMPACT
• Life can only be understood backwards; 

but it must be lived forwards

(Søren Kierkegaard)
@AndreasZeller
CONFIGURATION MANAGEMENT

WITH FEATURE LOGIC (1991–1997)
• Topic defined by my PhD
advisor Gregor Snelting
• Idea: Formally describe
variants and revisions with
feature logic
• “A unified model for
configuration management”
3.3 Combining Delta Features and other Features
..........
bug fixed f functionbug fixed f function
bug fixed f function procedurebug fixed f function procedure
bug fixed f function bug fixed f procedure
Figure 8: Delta features and other features
. This is only natural, since the change relies on the presence of the
change. Adding a new revision under implies that the revision is now tagged w
, so that the generalization property is not violated. Indeed,
.
3.3 Combining Delta Features and other Features
Besides all the delta features, other features are still allowed (and encouraged). Until now, we l
them out for clarity. However, there is no difference between the handling of delta features and oth
features, as is shown in the following example.
Example 3.3 Consider figure 8. Here, we have figure 6 revisited, but enhanced with more featur
We assume that the change named fixes a bug and introduces a new symbol f, which is a functio
@AndreasZeller
FEATURE LOGIC:

LESSONS LEARNED
• You can get plenty of papers accepted
• even if you miss the problem
• even if you do not evaluate
• “Modeling for the sake of modeling”
• Enabled much of my later work, though
@AndreasZeller
DDD (1994–1999)
• During PhD, programmed a lot
• Debugging was hard!
• Built the DDD debugger GUI

with my student
Dorothea Lütkehaus
• Welcome change

from formal work
@AndreasZeller
DDD (1994–1999)
• DDD was among the first dev
tools with a “professional” GUI
• Downloaded by the tens of
thousands
• Adopted as a GNU project:

Street credibility with
developers
• Impact through usefulness
@AndreasZeller
DDD: LESSONS LEARNED
• Work on a real problem

• Assume as little as possible

• Keep things simple
–  “real” as in “real world”, not “real papers”
–  make things fit into real processes
–  complexity impresses, but prevents impact
@AndreasZeller
DELTA DEBUGGING (1999–2003)
• After PhD, looking for new
topic
• Delta Debugging brought
together debugging and
version control
• Isolate failure causes
through repeated
experiments
@AndreasZeller
DELTA DEBUGGING (1999–2003)
• Delta debugging

was a bomb
• Easy to teach +
understand
• 7 lines of algorithm

(and 25 lines of Python)
• Spent two years on these
⎧
⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨
⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
(c′
✔, c′
✘) if |∆| = 1
dd′
(c′
✘  ∆i, c′
✘, 2) if ∃i ∈ {1..n} · test(c′
✘  ∆i) = ✔
dd′
(c′
✔, c′
✔ ∪ ∆i, 2) if ∃i ∈ {1..n} · test(c′
✔ ∪ ∆i) = ✘
dd′
c′
✔ ∪ ∆i, c′
✘, max(n − 1, 2) else if ∃i ∈ {1..n} · test(c′
✔ ∪ ∆i) = ✔
dd′
c′
✔, c′
✘  ∆i, max(n − 1, 2) else if ∃i ∈ {1..n} · test(c′
✘  ∆i) = ✘
dd′
c′
✔, c′
✘, min(2n, |∆|) else if n < |∆| (“increase granularity”)
(c′
✔, c′
✘) otherwise
dd(c✔, c✘) = dd′
(c✔, c✘, 2)
dd′
(c′
✔, c′
✘, n) =
@AndreasZeller
DELTA DEBUGGING: LESSONS
LEARNED
• Work on a real problem
• Assume as little as possible
• Keep things simple
• Have a sound model
–  Version control? tests? Never heard of it
– 25 lines of Python is probably excessive
–  DD was my version model reborn
–  Why debug? We build correct software
@AndreasZeller
MINING SOFTWARE ARCHIVES
(2003–2010)
• In the early 2000s, open-source
version repositories became
available
• Stephan Diehl saw an opportunity
for visualization and approached me
• Quickly expanded into data mining
• Tom Zimmermann: our MSc student
• Work of a research team
@AndreasZeller
MINING SOFTWARE ARCHIVES
(2003–2010)
• Our 2004 paper was the first ICSE
paper on mining software archives
• Handful of competing groups;

instant hit
• MSR now a conference on its own
• Paper has 1200+ citations so far
• Impact at Microsoft, Google, SAP…
@AndreasZeller
MINING SOFTWARE ARCHIVES
(2003–2010)
• We are now after the gold rush
• Data still exciting (if you have some)
• Few new insights on old data
• Get out of a field when too crowded
3.5 Programmer Actions and Defects
Now that we know how to predict defects, can we actually prevent
them? Of course, we could focus quality assurance on those files
predicted as most defect-prone. But are there also constructive
ways to avoid these defects? Is there a general rule to learn?
For this purpose, let us now focus on H2: Is there a correlation
Figure 2: Color-coding keys by their defect correlation; (red = strong). The five strongest correlations are highlighted.
@AndreasZeller
MINING SOFTWARE
REPOSITORIES: LESSONS LEARNED
• Work on a real problem
• Assume as little as possible
• Keep things simple
• Have a sound model
• Keep on learning
–  Empirical research is core field of SE
–  simple parsers for multiple languages
–  essence of 2004 paper is one line of SQL
–  retrieval, precision, recall, etc, etc
–  statistics, data mining, machine learning
@AndreasZeller
MINING APP ARCHIVES (2014–)
• How do we know an app
does what it should do?
• CHABADA checks for
mismatches between
description and behavior
• Novel usage of NLP; 

novel app store mining
Checking App Behavior Against App Descriptions
Alessandra Gorla · Ilaria Tavecchia⇤
· Florian Gross · Andreas Zeller
Saarland University
Saarbrücken, Germany
{gorla, tavecchia, fgross, zeller}@cs.uni-saarland.de
ABSTRACT
How do we know a program does what it claims to do? After clus-
tering Android apps by their description topics, we identify outliers
in each cluster with respect to their API usage. A “weather” app that
sends messages thus becomes an anomaly; likewise, a “messaging”
app would typically not be expected to access the current location.
Applied on a set of 22,500+ Android applications, our CHABADA
prototype identified several anomalies; additionally, it flagged 56%
of novel malware as such, without requiring any known malware
patterns.
Categories and Subject Descriptors
D.4.6 [Security and Protection]: Invasive software
General Terms
Security
Keywords
Android, malware detection, description analysis, clustering
1. INTRODUCTION
Checking whether a program does what it claims to do is a long-
standing problem for developers. Unfortunately, it now has become
a problem for computer users, too. Whenever we install a new app,
we run the risk of the app being “malware”—that is, to act against
1. App collection 2. Topics
"Weather",
"Map"…
"Travel",
"Map"…
"Theme"
3. Clusters
Weather
+ Travel
Themes
Access-LocationInternet Access-LocationInternet Send-SMS
4. Used APIs 5. Outliers
Weather
+ Travel
Figure 1: Detecting applications with unadvertised behavior.
Starting from a collection of “good” apps (1), we identify their
description topics (2) to form clusters of related apps (3). For
each cluster, we identify the sentitive APIs used (4), and can
then identify outliers that use APIs that are uncommon for that
cluster (5).
• An app that sends a text message to a premium number to
raise money is suspicious? Maybe, but on Android, this is a
@AndreasZeller
MINING APP ARCHIVES (2014–)
• The ICSE paper of 2014 is
among most cited
• CHABADA techniques now
adopted by Google and
Microsoft
• Most of your mobile apps
have gone through such an
analysis :-)
Checking App Behavior Against App Descriptions
Alessandra Gorla · Ilaria Tavecchia⇤
· Florian Gross · Andreas Zeller
Saarland University
Saarbrücken, Germany
{gorla, tavecchia, fgross, zeller}@cs.uni-saarland.de
ABSTRACT
How do we know a program does what it claims to do? After clus-
tering Android apps by their description topics, we identify outliers
in each cluster with respect to their API usage. A “weather” app that
sends messages thus becomes an anomaly; likewise, a “messaging”
app would typically not be expected to access the current location.
Applied on a set of 22,500+ Android applications, our CHABADA
prototype identified several anomalies; additionally, it flagged 56%
of novel malware as such, without requiring any known malware
patterns.
Categories and Subject Descriptors
D.4.6 [Security and Protection]: Invasive software
General Terms
Security
Keywords
Android, malware detection, description analysis, clustering
1. INTRODUCTION
Checking whether a program does what it claims to do is a long-
standing problem for developers. Unfortunately, it now has become
a problem for computer users, too. Whenever we install a new app,
we run the risk of the app being “malware”—that is, to act against
1. App collection 2. Topics
"Weather",
"Map"…
"Travel",
"Map"…
"Theme"
3. Clusters
Weather
+ Travel
Themes
Access-LocationInternet Access-LocationInternet Send-SMS
4. Used APIs 5. Outliers
Weather
+ Travel
Figure 1: Detecting applications with unadvertised behavior.
Starting from a collection of “good” apps (1), we identify their
description topics (2) to form clusters of related apps (3). For
each cluster, we identify the sentitive APIs used (4), and can
then identify outliers that use APIs that are uncommon for that
cluster (5).
• An app that sends a text message to a premium number to
raise money is suspicious? Maybe, but on Android, this is a
@AndreasZeller
MINING APPS:

LESSONS LEARNED
• Work on a real problem
• Assume as little as possible
• Keep things simple
• Have a sound model
• Keep on learning
• Keep on moving
–  Yes, there is malware
–  Descriptions and APIs
–  Standard NLP techniques
–  Standard NLP methods
–  NLP, machine learning,

recommendation…
–  Security starts with SE
@AndreasZeller
MORE THINGS I DID
• Automatic repair
• Automatic parallelization
• Automatic website testing
• Structured fuzzing
• Automatic sandboxing
–  Wesley Weimer beat us to it
–  Struggled with complexity
–  Langfuzz found 2000+ browser bugs
–  lots of potential in here
–  Built a company for that
@AndreasZeller
THINGS I STAYED AWAY FROM
• Symbolic techniques
• Formal methods
• Modeling
• Architecture
• Work on a real problem
• Assume as little as possible
• Keep things simple
• Have a sound model
• Keep on learning
• Keep on moving
@AndreasZeller
YOUR WAYS TO HAVE IMPACT
@AndreasZeller
IMPACT AS A RESEARCHER
• Society funds research

to take risks that no one else does
• Research is risky by construction – 

you should expect to fail, and fail again
• Tenure is meant to allow you to take arbitrarily
grand challenges – so work on the grand stuff
• If you lack resources, try smarter and harder
@AndreasZeller
IMPACT AS A TEACHER
• Teaching can be a great way to multiply your
message
• Not only focus on teaching the standards, but also
your research
• Teaching your research helps to propagate it and
make it accessible
• Engage students on topics dear to you
@AndreasZeller
IMPACT WITH INDUSTRY
• Do work with industry

to find problems and frame your work
• Do not work with industry

to solve (their) concrete problems
• Your role as researcher is more

than a cheap consulting tool
• Many “research” funding schemes

are there to subsidize industry
@AndreasZeller
IMPACT THROUGH TOOLS
• Getting your technique out as a tool is a great way
to have impact!
• Also allows to check what actual users need (and if
they exist)
• A tool can have far more impact than a paper
• Funding agencies and hiring committees begin to
realize this
@AndreasZeller
IMPACT AS FOUNDER
• Creating a company out of your research can be
great fun!
• Push your research and ideas into practice
• Again, shows you what the market wants

(and what not)
• Plenty of support available (money, consultancy)
@AndreasZeller
IMPACT AS MENTOR
• Working with advanced students can be the most
satisfying part of your job
• The variety of SE research needs universal
problem solving skills
• Find such skills besides good grades
@AndreasZeller
A GREAT ENVIRONMENT
• My institution (Saarland University) hired me

although I was the candidate with the fewest
publications
• But they liked the papers, so they hired me
• No pressure or incentives on papers, citations,
funding, etc.
• One single expectation: long-term impact
@AndreasZeller
SURVIVOR BIAS
• Researchers with great impact are the selected few
who survived academic selection
• What worked for me will not work for most
• Most of us have to struggle with plenty of bad,
misguided, short-term career incentives
• Follow incentives until tenured, then set better ones
• Get lucky!
ON IMPACT IN SOFTWARE ENGINEERING
RESEARCH
ANDREAS ZELLER, CISPA / SAARLAND UNIVERSITY
@AndreasZeller
LESSONS LEARNED:

ON IMPACT IN SE RESEARCH
• Work on a real problem
• Assume as little as possible
• Keep things simple
• Have a sound model
• Keep on learning
• Keep on moving
–  possibly bursting your bubble
–  immediate impact on adoption
–  complexity inhibits impact
–  tools may fade away, concepts persist
– learn new stuff and leverage it
– do not stay in your cozy SE corner

More Related Content

What's hot

ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringTao Xie
 
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...Tao Xie
 
Troubleshooting Deep Neural Networks - Full Stack Deep Learning
Troubleshooting Deep Neural Networks - Full Stack Deep LearningTroubleshooting Deep Neural Networks - Full Stack Deep Learning
Troubleshooting Deep Neural Networks - Full Stack Deep LearningSergey Karayev
 
Lecture 13: ML Teams (Full Stack Deep Learning - Spring 2021)
Lecture 13: ML Teams (Full Stack Deep Learning - Spring 2021)Lecture 13: ML Teams (Full Stack Deep Learning - Spring 2021)
Lecture 13: ML Teams (Full Stack Deep Learning - Spring 2021)Sergey Karayev
 
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven ResearchISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven ResearchTao Xie
 
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...Tao Xie
 
Software Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersSoftware Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersTao Xie
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecurityTao Xie
 
How Can Software Engineering Support AI
How Can Software Engineering Support AIHow Can Software Engineering Support AI
How Can Software Engineering Support AIWalid Maalej
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software developmentThomas Zimmermann
 
Empirical evaluation in 2020: how big, how beautiful?
Empirical evaluation in 2020: how big, how beautiful?Empirical evaluation in 2020: how big, how beautiful?
Empirical evaluation in 2020: how big, how beautiful?Massimiliano Di Penta
 
Big(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringBig(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringMehdi Mirakhorli
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Chakkrit (Kla) Tantithamthavorn
 
Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)
Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)
Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)Sergey Karayev
 
Lecture 1: Deep Learning Fundamentals - Full Stack Deep Learning - Spring 2021
Lecture 1: Deep Learning Fundamentals - Full Stack Deep Learning - Spring 2021Lecture 1: Deep Learning Fundamentals - Full Stack Deep Learning - Spring 2021
Lecture 1: Deep Learning Fundamentals - Full Stack Deep Learning - Spring 2021Sergey Karayev
 
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Alex Pinto
 
Lecture 5: ML Projects (Full Stack Deep Learning - Spring 2021)
Lecture 5: ML Projects (Full Stack Deep Learning - Spring 2021)Lecture 5: ML Projects (Full Stack Deep Learning - Spring 2021)
Lecture 5: ML Projects (Full Stack Deep Learning - Spring 2021)Sergey Karayev
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest linkCS, NcState
 

What's hot (20)

ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
 
Do Bugs Reside in Complex Code?
Do Bugs Reside in Complex Code?Do Bugs Reside in Complex Code?
Do Bugs Reside in Complex Code?
 
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
MSRA 2018: Intelligent Software Engineering: Synergy between AI and Software ...
 
Troubleshooting Deep Neural Networks - Full Stack Deep Learning
Troubleshooting Deep Neural Networks - Full Stack Deep LearningTroubleshooting Deep Neural Networks - Full Stack Deep Learning
Troubleshooting Deep Neural Networks - Full Stack Deep Learning
 
Lecture 13: ML Teams (Full Stack Deep Learning - Spring 2021)
Lecture 13: ML Teams (Full Stack Deep Learning - Spring 2021)Lecture 13: ML Teams (Full Stack Deep Learning - Spring 2021)
Lecture 13: ML Teams (Full Stack Deep Learning - Spring 2021)
 
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven ResearchISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
ISEC'18 Tutorial: Research Methodology on Pursuing Impact-Driven Research
 
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
ISEC'18 Keynote: Intelligent Software Engineering: Synergy between AI and Sof...
 
Software Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that MattersSoftware Analytics: Towards Software Mining that Matters
Software Analytics: Towards Software Mining that Matters
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
How Can Software Engineering Support AI
How Can Software Engineering Support AIHow Can Software Engineering Support AI
How Can Software Engineering Support AI
 
Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software development
 
Empirical evaluation in 2020: how big, how beautiful?
Empirical evaluation in 2020: how big, how beautiful?Empirical evaluation in 2020: how big, how beautiful?
Empirical evaluation in 2020: how big, how beautiful?
 
Big(ger) Data in Software Engineering
Big(ger) Data in Software EngineeringBig(ger) Data in Software Engineering
Big(ger) Data in Software Engineering
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
 
Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)
Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)
Lecture 10: ML Testing & Explainability (Full Stack Deep Learning - Spring 2021)
 
Lecture 1: Deep Learning Fundamentals - Full Stack Deep Learning - Spring 2021
Lecture 1: Deep Learning Fundamentals - Full Stack Deep Learning - Spring 2021Lecture 1: Deep Learning Fundamentals - Full Stack Deep Learning - Spring 2021
Lecture 1: Deep Learning Fundamentals - Full Stack Deep Learning - Spring 2021
 
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
 
Lecture 5: ML Projects (Full Stack Deep Learning - Spring 2021)
Lecture 5: ML Projects (Full Stack Deep Learning - Spring 2021)Lecture 5: ML Projects (Full Stack Deep Learning - Spring 2021)
Lecture 5: ML Projects (Full Stack Deep Learning - Spring 2021)
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest link
 

Similar to Detecting Anomalous App Behavior Using Natural Language Descriptions and API Usage

Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera, Inc.
 
Product! - The road to production deployment
Product! - The road to production deploymentProduct! - The road to production deployment
Product! - The road to production deploymentFilippo Zanella
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
SAD07 - Project Management
SAD07 - Project ManagementSAD07 - Project Management
SAD07 - Project ManagementMichael Heron
 
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao XieSCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao XieTao Xie
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringAditi Abhang
 
An overview of my PhD research
An overview of my PhD researchAn overview of my PhD research
An overview of my PhD researchFelienne Hermans
 
Software Development and Quality
Software Development and QualitySoftware Development and Quality
Software Development and QualityHerwig Habenbacher
 
Using MLOps to Bring ML to Production/The Promise of MLOps
Using MLOps to Bring ML to Production/The Promise of MLOpsUsing MLOps to Bring ML to Production/The Promise of MLOps
Using MLOps to Bring ML to Production/The Promise of MLOpsWeaveworks
 
SBQS 2013 Keynote: Cooperative Testing and Analysis
SBQS 2013 Keynote: Cooperative Testing and AnalysisSBQS 2013 Keynote: Cooperative Testing and Analysis
SBQS 2013 Keynote: Cooperative Testing and AnalysisTao Xie
 
Bt0081, software engineering
Bt0081, software engineeringBt0081, software engineering
Bt0081, software engineeringsmumbahelp
 
Bt0081, software engineering
Bt0081, software engineeringBt0081, software engineering
Bt0081, software engineeringsmumbahelp
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseKenan Sevindik
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTrivadis
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineeringIvano Malavolta
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringTao Xie
 
SE and AI: a two-way street
SE and AI: a two-way streetSE and AI: a two-way street
SE and AI: a two-way streetCS, NcState
 
Synergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software EngineeringSynergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software EngineeringTao Xie
 
Introduction to object oriented language
Introduction to object oriented languageIntroduction to object oriented language
Introduction to object oriented languagefarhan amjad
 

Similar to Detecting Anomalous App Behavior Using Natural Language Descriptions and API Usage (20)

Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your DataCloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
Cloudera Breakfast: Advanced Analytics Part II: Do More With Your Data
 
Product! - The road to production deployment
Product! - The road to production deploymentProduct! - The road to production deployment
Product! - The road to production deployment
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
SAD07 - Project Management
SAD07 - Project ManagementSAD07 - Project Management
SAD07 - Project Management
 
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao XieSCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
SCAM 2012 Keynote Slides on Cooperative Testing and Analysis by Tao Xie
 
No Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software EngineeringNo Silver Bullet - Essence and Accidents of Software Engineering
No Silver Bullet - Essence and Accidents of Software Engineering
 
An overview of my PhD research
An overview of my PhD researchAn overview of my PhD research
An overview of my PhD research
 
Software Development and Quality
Software Development and QualitySoftware Development and Quality
Software Development and Quality
 
Using MLOps to Bring ML to Production/The Promise of MLOps
Using MLOps to Bring ML to Production/The Promise of MLOpsUsing MLOps to Bring ML to Production/The Promise of MLOps
Using MLOps to Bring ML to Production/The Promise of MLOps
 
Ch01lect1 et
Ch01lect1 etCh01lect1 et
Ch01lect1 et
 
SBQS 2013 Keynote: Cooperative Testing and Analysis
SBQS 2013 Keynote: Cooperative Testing and AnalysisSBQS 2013 Keynote: Cooperative Testing and Analysis
SBQS 2013 Keynote: Cooperative Testing and Analysis
 
Bt0081, software engineering
Bt0081, software engineeringBt0081, software engineering
Bt0081, software engineering
 
Bt0081, software engineering
Bt0081, software engineeringBt0081, software engineering
Bt0081, software engineering
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With Enterprise
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering
 
Intelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software EngineeringIntelligent Software Engineering: Synergy between AI and Software Engineering
Intelligent Software Engineering: Synergy between AI and Software Engineering
 
SE and AI: a two-way street
SE and AI: a two-way streetSE and AI: a two-way street
SE and AI: a two-way street
 
Synergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software EngineeringSynergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software Engineering
 
Introduction to object oriented language
Introduction to object oriented languageIntroduction to object oriented language
Introduction to object oriented language
 

More from CISPA Helmholtz Center for Information Security

More from CISPA Helmholtz Center for Information Security (15)

Language-Based Testing and Debugging.pdf
Language-Based Testing and Debugging.pdfLanguage-Based Testing and Debugging.pdf
Language-Based Testing and Debugging.pdf
 
Digital Networking and Community
Digital Networking and CommunityDigital Networking and Community
Digital Networking and Community
 
Fuzzing - A Tale of Two Cultures
Fuzzing - A Tale of Two CulturesFuzzing - A Tale of Two Cultures
Fuzzing - A Tale of Two Cultures
 
Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)Illustrated Code (ASE 2021)
Illustrated Code (ASE 2021)
 
Fast and Effective Fuzz Testing (Facebook TAV 2019)
Fast and Effective Fuzz Testing (Facebook TAV 2019)Fast and Effective Fuzz Testing (Facebook TAV 2019)
Fast and Effective Fuzz Testing (Facebook TAV 2019)
 
Software-Tests automatisch erzeugen: Frische Ansätze für Forschung, Praxis un...
Software-Tests automatisch erzeugen: Frische Ansätze für Forschung, Praxis un...Software-Tests automatisch erzeugen: Frische Ansätze für Forschung, Praxis un...
Software-Tests automatisch erzeugen: Frische Ansätze für Forschung, Praxis un...
 
Twelve tips on how to prepare an ERC grant proposal
Twelve tips on how to prepare an ERC grant proposalTwelve tips on how to prepare an ERC grant proposal
Twelve tips on how to prepare an ERC grant proposal
 
Getting your work funded
Getting your work fundedGetting your work funded
Getting your work funded
 
Learning from 6,000 projects mining specifications in the large
Learning from 6,000 projects   mining specifications in the largeLearning from 6,000 projects   mining specifications in the large
Learning from 6,000 projects mining specifications in the large
 
Debugging Debugging
Debugging DebuggingDebugging Debugging
Debugging Debugging
 
Seeding Bugs To Find Bugs
Seeding Bugs To Find BugsSeeding Bugs To Find Bugs
Seeding Bugs To Find Bugs
 
Mining Processes
Mining ProcessesMining Processes
Mining Processes
 
Mining Programs
Mining ProgramsMining Programs
Mining Programs
 
Getting your paper accepted (at ISSTA 2008)
Getting your paper accepted (at ISSTA 2008)Getting your paper accepted (at ISSTA 2008)
Getting your paper accepted (at ISSTA 2008)
 
Woher kommen Software-Fehler?
Woher kommen Software-Fehler?Woher kommen Software-Fehler?
Woher kommen Software-Fehler?
 

Recently uploaded

THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxTHE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxNandakishor Bhaurao Deshmukh
 
Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024AyushiRastogi48
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentationtahreemzahra82
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptJoemSTuliba
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxpriyankatabhane
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naJASISJULIANOELYNV
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...D. B. S. College Kanpur
 
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In DubaiDubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubaikojalkojal131
 
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》rnrncn29
 
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)riyaescorts54
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxMurugaveni B
 
Good agricultural practices 3rd year bpharm. herbal drug technology .pptx
Good agricultural practices 3rd year bpharm. herbal drug technology .pptxGood agricultural practices 3rd year bpharm. herbal drug technology .pptx
Good agricultural practices 3rd year bpharm. herbal drug technology .pptxSimeonChristian
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPirithiRaju
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPirithiRaju
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRlizamodels9
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024innovationoecd
 

Recently uploaded (20)

THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxTHE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
 
Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentation
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.ppt
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptx
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by na
 
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort ServiceHot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
Fertilization: Sperm and the egg—collectively called the gametes—fuse togethe...
 
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In DubaiDubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
 
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
 
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
(9818099198) Call Girls In Noida Sector 14 (NOIDA ESCORTS)
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
 
Good agricultural practices 3rd year bpharm. herbal drug technology .pptx
Good agricultural practices 3rd year bpharm. herbal drug technology .pptxGood agricultural practices 3rd year bpharm. herbal drug technology .pptx
Good agricultural practices 3rd year bpharm. herbal drug technology .pptx
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024
 

Detecting Anomalous App Behavior Using Natural Language Descriptions and API Usage

  • 1. ON IMPACT IN SOFTWARE ENGINEERING RESEARCH ANDREAS ZELLER, CISPA / SAARLAND UNIVERSITY ICSE NEW FACULTY SYMPOSIUM GÖTEBORG, MAY 29, 2018 @AndreasZeller
  • 2. @AndreasZeller ANDREAS ZELLER: KEY FACTS • PhD in 1997 on Configuration Management with Feature Logic • Since 2001 professor at Saarland Informatics Campus
 (Saarland University / CISPA) • Four 10-year impact awards 2009–2017
 (for papers 1999–2007) • ACM Fellow in 2010 • ERC Advanced Grant in 2011 • SIGSOFT Outstanding Research Award on Friday
  • 4. @AndreasZeller WHAT IS IMPACT? • How do your actions change the world? • Often measured in citations, publications, funding, people, … • All these are indicators of impact, but not goals in themselves • We want to make the world a better place • Gives meaning and purpose to our (professional) life
  • 5. @AndreasZeller WHAT MAKES IMPACTFUL RESEARCH? • Intellectual challenge – was it hard, or could anyone have done this? • Elegance – is your research specific to a context, or can it be reused again and again? • Usefulness – can someone make money with it? • Innovation is the delta in any of these metrics
  • 6. @AndreasZeller VARYING PERSPECTIVES • Programming Languages folks miss the intellectual challenge • Formal Methods folks miss elegance and challenge • Industry folks miss usefulness and applicability
  • 7. @AndreasZeller WHAT MAKES IMPACTFUL RESEARCH? • How did your work make the world a better place?
  • 9. @AndreasZeller MY PATH TO IMPACT • Life can only be understood backwards; 
 but it must be lived forwards
 (Søren Kierkegaard)
  • 10. @AndreasZeller CONFIGURATION MANAGEMENT
 WITH FEATURE LOGIC (1991–1997) • Topic defined by my PhD advisor Gregor Snelting • Idea: Formally describe variants and revisions with feature logic • “A unified model for configuration management” 3.3 Combining Delta Features and other Features .......... bug fixed f functionbug fixed f function bug fixed f function procedurebug fixed f function procedure bug fixed f function bug fixed f procedure Figure 8: Delta features and other features . This is only natural, since the change relies on the presence of the change. Adding a new revision under implies that the revision is now tagged w , so that the generalization property is not violated. Indeed, . 3.3 Combining Delta Features and other Features Besides all the delta features, other features are still allowed (and encouraged). Until now, we l them out for clarity. However, there is no difference between the handling of delta features and oth features, as is shown in the following example. Example 3.3 Consider figure 8. Here, we have figure 6 revisited, but enhanced with more featur We assume that the change named fixes a bug and introduces a new symbol f, which is a functio
  • 11. @AndreasZeller FEATURE LOGIC:
 LESSONS LEARNED • You can get plenty of papers accepted • even if you miss the problem • even if you do not evaluate • “Modeling for the sake of modeling” • Enabled much of my later work, though
  • 12. @AndreasZeller DDD (1994–1999) • During PhD, programmed a lot • Debugging was hard! • Built the DDD debugger GUI
 with my student Dorothea Lütkehaus • Welcome change
 from formal work
  • 13. @AndreasZeller DDD (1994–1999) • DDD was among the first dev tools with a “professional” GUI • Downloaded by the tens of thousands • Adopted as a GNU project:
 Street credibility with developers • Impact through usefulness
  • 14. @AndreasZeller DDD: LESSONS LEARNED • Work on a real problem
 • Assume as little as possible
 • Keep things simple –  “real” as in “real world”, not “real papers” –  make things fit into real processes –  complexity impresses, but prevents impact
  • 15. @AndreasZeller DELTA DEBUGGING (1999–2003) • After PhD, looking for new topic • Delta Debugging brought together debugging and version control • Isolate failure causes through repeated experiments
  • 16. @AndreasZeller DELTA DEBUGGING (1999–2003) • Delta debugging
 was a bomb • Easy to teach + understand • 7 lines of algorithm
 (and 25 lines of Python) • Spent two years on these ⎧ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩ (c′ ✔, c′ ✘) if |∆| = 1 dd′ (c′ ✘ ∆i, c′ ✘, 2) if ∃i ∈ {1..n} · test(c′ ✘ ∆i) = ✔ dd′ (c′ ✔, c′ ✔ ∪ ∆i, 2) if ∃i ∈ {1..n} · test(c′ ✔ ∪ ∆i) = ✘ dd′ c′ ✔ ∪ ∆i, c′ ✘, max(n − 1, 2) else if ∃i ∈ {1..n} · test(c′ ✔ ∪ ∆i) = ✔ dd′ c′ ✔, c′ ✘ ∆i, max(n − 1, 2) else if ∃i ∈ {1..n} · test(c′ ✘ ∆i) = ✘ dd′ c′ ✔, c′ ✘, min(2n, |∆|) else if n < |∆| (“increase granularity”) (c′ ✔, c′ ✘) otherwise dd(c✔, c✘) = dd′ (c✔, c✘, 2) dd′ (c′ ✔, c′ ✘, n) =
  • 17. @AndreasZeller DELTA DEBUGGING: LESSONS LEARNED • Work on a real problem • Assume as little as possible • Keep things simple • Have a sound model –  Version control? tests? Never heard of it – 25 lines of Python is probably excessive –  DD was my version model reborn –  Why debug? We build correct software
  • 18. @AndreasZeller MINING SOFTWARE ARCHIVES (2003–2010) • In the early 2000s, open-source version repositories became available • Stephan Diehl saw an opportunity for visualization and approached me • Quickly expanded into data mining • Tom Zimmermann: our MSc student • Work of a research team
  • 19. @AndreasZeller MINING SOFTWARE ARCHIVES (2003–2010) • Our 2004 paper was the first ICSE paper on mining software archives • Handful of competing groups;
 instant hit • MSR now a conference on its own • Paper has 1200+ citations so far • Impact at Microsoft, Google, SAP…
  • 20. @AndreasZeller MINING SOFTWARE ARCHIVES (2003–2010) • We are now after the gold rush • Data still exciting (if you have some) • Few new insights on old data • Get out of a field when too crowded 3.5 Programmer Actions and Defects Now that we know how to predict defects, can we actually prevent them? Of course, we could focus quality assurance on those files predicted as most defect-prone. But are there also constructive ways to avoid these defects? Is there a general rule to learn? For this purpose, let us now focus on H2: Is there a correlation Figure 2: Color-coding keys by their defect correlation; (red = strong). The five strongest correlations are highlighted.
  • 21. @AndreasZeller MINING SOFTWARE REPOSITORIES: LESSONS LEARNED • Work on a real problem • Assume as little as possible • Keep things simple • Have a sound model • Keep on learning –  Empirical research is core field of SE –  simple parsers for multiple languages –  essence of 2004 paper is one line of SQL –  retrieval, precision, recall, etc, etc –  statistics, data mining, machine learning
  • 22. @AndreasZeller MINING APP ARCHIVES (2014–) • How do we know an app does what it should do? • CHABADA checks for mismatches between description and behavior • Novel usage of NLP; 
 novel app store mining Checking App Behavior Against App Descriptions Alessandra Gorla · Ilaria Tavecchia⇤ · Florian Gross · Andreas Zeller Saarland University Saarbrücken, Germany {gorla, tavecchia, fgross, zeller}@cs.uni-saarland.de ABSTRACT How do we know a program does what it claims to do? After clus- tering Android apps by their description topics, we identify outliers in each cluster with respect to their API usage. A “weather” app that sends messages thus becomes an anomaly; likewise, a “messaging” app would typically not be expected to access the current location. Applied on a set of 22,500+ Android applications, our CHABADA prototype identified several anomalies; additionally, it flagged 56% of novel malware as such, without requiring any known malware patterns. Categories and Subject Descriptors D.4.6 [Security and Protection]: Invasive software General Terms Security Keywords Android, malware detection, description analysis, clustering 1. INTRODUCTION Checking whether a program does what it claims to do is a long- standing problem for developers. Unfortunately, it now has become a problem for computer users, too. Whenever we install a new app, we run the risk of the app being “malware”—that is, to act against 1. App collection 2. Topics "Weather", "Map"… "Travel", "Map"… "Theme" 3. Clusters Weather + Travel Themes Access-LocationInternet Access-LocationInternet Send-SMS 4. Used APIs 5. Outliers Weather + Travel Figure 1: Detecting applications with unadvertised behavior. Starting from a collection of “good” apps (1), we identify their description topics (2) to form clusters of related apps (3). For each cluster, we identify the sentitive APIs used (4), and can then identify outliers that use APIs that are uncommon for that cluster (5). • An app that sends a text message to a premium number to raise money is suspicious? Maybe, but on Android, this is a
  • 23. @AndreasZeller MINING APP ARCHIVES (2014–) • The ICSE paper of 2014 is among most cited • CHABADA techniques now adopted by Google and Microsoft • Most of your mobile apps have gone through such an analysis :-) Checking App Behavior Against App Descriptions Alessandra Gorla · Ilaria Tavecchia⇤ · Florian Gross · Andreas Zeller Saarland University Saarbrücken, Germany {gorla, tavecchia, fgross, zeller}@cs.uni-saarland.de ABSTRACT How do we know a program does what it claims to do? After clus- tering Android apps by their description topics, we identify outliers in each cluster with respect to their API usage. A “weather” app that sends messages thus becomes an anomaly; likewise, a “messaging” app would typically not be expected to access the current location. Applied on a set of 22,500+ Android applications, our CHABADA prototype identified several anomalies; additionally, it flagged 56% of novel malware as such, without requiring any known malware patterns. Categories and Subject Descriptors D.4.6 [Security and Protection]: Invasive software General Terms Security Keywords Android, malware detection, description analysis, clustering 1. INTRODUCTION Checking whether a program does what it claims to do is a long- standing problem for developers. Unfortunately, it now has become a problem for computer users, too. Whenever we install a new app, we run the risk of the app being “malware”—that is, to act against 1. App collection 2. Topics "Weather", "Map"… "Travel", "Map"… "Theme" 3. Clusters Weather + Travel Themes Access-LocationInternet Access-LocationInternet Send-SMS 4. Used APIs 5. Outliers Weather + Travel Figure 1: Detecting applications with unadvertised behavior. Starting from a collection of “good” apps (1), we identify their description topics (2) to form clusters of related apps (3). For each cluster, we identify the sentitive APIs used (4), and can then identify outliers that use APIs that are uncommon for that cluster (5). • An app that sends a text message to a premium number to raise money is suspicious? Maybe, but on Android, this is a
  • 24. @AndreasZeller MINING APPS:
 LESSONS LEARNED • Work on a real problem • Assume as little as possible • Keep things simple • Have a sound model • Keep on learning • Keep on moving –  Yes, there is malware –  Descriptions and APIs –  Standard NLP techniques –  Standard NLP methods –  NLP, machine learning,
 recommendation… –  Security starts with SE
  • 25. @AndreasZeller MORE THINGS I DID • Automatic repair • Automatic parallelization • Automatic website testing • Structured fuzzing • Automatic sandboxing –  Wesley Weimer beat us to it –  Struggled with complexity –  Langfuzz found 2000+ browser bugs –  lots of potential in here –  Built a company for that
  • 26. @AndreasZeller THINGS I STAYED AWAY FROM • Symbolic techniques • Formal methods • Modeling • Architecture • Work on a real problem • Assume as little as possible • Keep things simple • Have a sound model • Keep on learning • Keep on moving
  • 28. @AndreasZeller IMPACT AS A RESEARCHER • Society funds research
 to take risks that no one else does • Research is risky by construction – 
 you should expect to fail, and fail again • Tenure is meant to allow you to take arbitrarily grand challenges – so work on the grand stuff • If you lack resources, try smarter and harder
  • 29. @AndreasZeller IMPACT AS A TEACHER • Teaching can be a great way to multiply your message • Not only focus on teaching the standards, but also your research • Teaching your research helps to propagate it and make it accessible • Engage students on topics dear to you
  • 30. @AndreasZeller IMPACT WITH INDUSTRY • Do work with industry
 to find problems and frame your work • Do not work with industry
 to solve (their) concrete problems • Your role as researcher is more
 than a cheap consulting tool • Many “research” funding schemes
 are there to subsidize industry
  • 31. @AndreasZeller IMPACT THROUGH TOOLS • Getting your technique out as a tool is a great way to have impact! • Also allows to check what actual users need (and if they exist) • A tool can have far more impact than a paper • Funding agencies and hiring committees begin to realize this
  • 32. @AndreasZeller IMPACT AS FOUNDER • Creating a company out of your research can be great fun! • Push your research and ideas into practice • Again, shows you what the market wants
 (and what not) • Plenty of support available (money, consultancy)
  • 33. @AndreasZeller IMPACT AS MENTOR • Working with advanced students can be the most satisfying part of your job • The variety of SE research needs universal problem solving skills • Find such skills besides good grades
  • 34. @AndreasZeller A GREAT ENVIRONMENT • My institution (Saarland University) hired me
 although I was the candidate with the fewest publications • But they liked the papers, so they hired me • No pressure or incentives on papers, citations, funding, etc. • One single expectation: long-term impact
  • 35. @AndreasZeller SURVIVOR BIAS • Researchers with great impact are the selected few who survived academic selection • What worked for me will not work for most • Most of us have to struggle with plenty of bad, misguided, short-term career incentives • Follow incentives until tenured, then set better ones • Get lucky!
  • 36. ON IMPACT IN SOFTWARE ENGINEERING RESEARCH ANDREAS ZELLER, CISPA / SAARLAND UNIVERSITY
  • 37. @AndreasZeller LESSONS LEARNED:
 ON IMPACT IN SE RESEARCH • Work on a real problem • Assume as little as possible • Keep things simple • Have a sound model • Keep on learning • Keep on moving –  possibly bursting your bubble –  immediate impact on adoption –  complexity inhibits impact –  tools may fade away, concepts persist – learn new stuff and leverage it – do not stay in your cozy SE corner