SlideShare a Scribd company logo
Intelligent Software Engineering:
Synergy between AI and Software
Engineering
Tao Xie
University of Illinois at Urbana-Champaign
taoxie@illinois.edu
http://taoxie.cs.illinois.edu/
Artificial Intelligence  Software Engineering
Artificial
Intelligence
Software
Engineering
Intelligent Software Engineering
Intelligence Software Engineering
Artificial Intelligence  Software Engineering
Artificial
Intelligence
Software
Engineering
Intelligent Software Engineering
Intelligence Software Engineering
https://techcrunch.com/2016/08/05/carnegie-mellons-mayhem-ai-takes-home-2-million-from-darpas-cyber-grand-challenge/
Dynamic Symbolic Execution
Code to generate inputs for:
Constraints to solve
a!=null
a!=null &&
a.Length>0
a!=null &&
a.Length>0 &&
a[0]==1234567890
void CoverMe(int[] a)
{
if (a == null) return;
if (a.Length > 0)
if (a[0] == 1234567890)
throw new Exception("bug");
}
Observed constraints
a==null
a!=null &&
!(a.Length>0)
a!=null &&
a.Length>0 &&
a[0]!=1234567890
a!=null &&
a.Length>0 &&
a[0]==1234567890
Data
null
{}
{0}
{123…}a==null
a.Length>0
a[0]==123…
T
TF
T
F
F
Execute&MonitorSolve
Choose next path
Done: There is no path left.
Negated condition
[DART: Godefroid et al. PLDI’05]
Z3Constraint solver
has decision procedures for
- Arrays
- Linear integer arithmetic
- Bitvector arithmetic
- Floating-point arithmetic
- …
Past: Automated Software Testing
• 10 years of collaboration with Microsoft Research on Pex
[ASE’14 Ex]
• .NET Test Generation Tool based on Dynamic Symbolic Execution
• Tackle challenges of
• Path explosion via fitness function [DSN’09]
• Method sequence explosion via program synthesis [OOPSLA’11]
• …
• Shipped in Visual Studio 2015/2017 Enterprise Edition
• As IntelliTest
Tillmann, de Halleux, Xie. Transferring an Automated Test Generation Tool to Practice: From Pex to Fakes and Code
Digger. ASE’14 Experience Papers http://taoxie.cs.illinois.edu/publications/ase14-pexexperiences.pdf
Past: Android App Testing
• 2 years of collaboration with Tencent Inc. WeChat testing team
• Guided Random Test Generation Tool improved over Google Monkey
• Resulting tool deployed in daily WeChat testing practice
• WeChat = WhatsApp + Facebook + Instagram + PayPal + Uber …
• #monthly active users: 1 billion @2018 March
• Daily#: dozens of billion messages sent, hundreds of million photos uploaded,
hundreds of million payment transactions executed
• First studies on testing industrial Android apps
[FSE’16IN][ICSE’17SEIP]
• Beyond open source Android apps
focused by academia
WeChat
Intelligent Android App Testing @ Facebook
https://code.fb.com/developer-tools/sapienz-intelligent-automated-software-testing-at-scale/
https://www.forbes.com/sites/parmyolson/2018/11/29/facebook-has-a-bug-hunting-tool-that-mimics-human-behavior/
Android Test Generation Tools: A Retrospective
Monkey
Official
Blind random
9
2008 2017
Stoat
FSE ’17
Model-based
evolutionary
2012
GUIRipper
ASE ‘12
Model-based
2013 2015 2016... ..
A3E
OOPSLA ‘13
Systematic
Dynodroid
FSE ‘13
Guided random
SwiftHand
OOPSLA ‘13
Model-based
DroidBot
ICSE-C ‘17
Model-based
ACTEve
FSE ‘12
Concolic
WCTester
FSE-Ind ‘16
Guided random
Sapienz
ISSTA ‘16
Evolutionary
Study by
Choudhary et
al.
ASE ‘15
How do these tools perform on industrial apps
that people actually use everyday?
Android Test Generation Tools: Existing Evaluations
10
2017
Stoat
FSE ’17
Model-based
evolutionary
2012
GUIRipper
ASE ‘12
Model-based
2013 2015 2016..
A3E
OOPSLA ‘13
Systematic
Dynodroid
FSE ‘13
Guided random
SwiftHand
OOPSLA ‘13
Model-based
DroidBot
ICSE-C ‘17
Model-based
ACTEve
FSE ‘12
Concolic
WCTester
FSE-Ind ‘16
Guided random
Sapienz
ISSTA ‘16
Evolutionary
Study by
Choudhary et
al.
ASE ‘15
Industrial apps
not involved
Industrial apps
limitedly involved
Single case study
only
There is no comprehensive comparison among existing
tools over industrial apps. 
Does a newly proposed tool really outperform existing
tools (especially Monkey) on industrial apps?
Wang, Li, Yang, Cao, Zhang, Deng, Xie. An Empirical Study of Android Test Generation Tools in Industrial Cases. ASE’18.
http://taoxie.cs.illinois.edu/publications/ase18-androidtest.pdf
Next: Intelligent Software Testing
• Learning from others working on the same things
• Our work on mining API usage method sequences to test the API
[ESEC/FSE’09: MSeqGen]
• Visser et al. Green: Reducing, reusing and recycling constraints in program analysis.
[FSE’12]
• Learning from others working on similar things
• Jia et al. Enhancing reuse of constraint solutions to improve symbolic execution.
[ISSTA’15]
• Aquino et al. Heuristically Matching Solution Spaces of Arithmetic Formulas to
Efficiently Reuse Solutions. [ICSE’17]
[Jia et al. ISSTA’15]
Continuous Learning
Software Analytics
Software analytics is to enable software practitioners
to perform data exploration and analysis in order to
obtain insightful and actionable information for data-
driven tasks around software and services.
Dongmei Zhang, Yingnong Dang, Jian-Guang Lou, Shi Han, Haidong Zhang, and Tao Xie. Software Analytics as
a Learning Case in Practice: Approaches and Experiences. In MALETS 2011
http://research.microsoft.com/en-us/groups/sa/malets11-analytics.pdf
Software Analytics
Software analytics is to enable software practitioners
to perform data exploration and analysis in order to
obtain insightful and actionable information for data-
driven tasks around software and services.
Dongmei Zhang, Yingnong Dang, Jian-Guang Lou, Shi Han, Haidong Zhang, and Tao Xie. Software Analytics as
a Learning Case in Practice: Approaches and Experiences. In MALETS 2011
http://research.microsoft.com/en-us/groups/sa/malets11-analytics.pdf
Data sources
Runtime traces
Program logs
System events
Perf counters
…
Usage log
User surveys
Online forum posts
Blog & Twitter
…
Source code
Bug history
Check-in history
Test cases
Eye tracking
MRI/EMG
…
Research Topics & Technology Pillars
Past: Software Analytics
• StackMine [ICSE’12, IEEESoft’13]: performance debugging in the large
• Data Source: Performance call stack traces from Windows end users
• Analytics Output: Ranked clusters of call stack traces based on shared patterns
• Impact: Deployed/used in daily practice of Windows Performance Analysis team
• XIAO [ACSAC’12, ICSE’17 SEIP]: code-clone detection and search
• Data Source: Source code repos (+ given code segment optionally)
• Analytics Output: Code clones
• Impact: Shipped in Visual Studio 2012; deployed/used in daily practice of
Microsoft Security Response Center
Internet
@Microsoft Research Asia
Past: Software Analytics
• Service Analysis Studio [ASE’13-EX]: service incident management
• Data Source: Transaction logs, system metrics, past incident reports
• Analytics Output: Healing suggestions/likely root causes of the given incident
• Impact: Deployed and used by an important Microsoft service (hundreds of
millions of users) for incident management
@Microsoft Research Asia
Open Source Microservice Benchmark System
TrainTicket
70+ microservices, including 41 business ones, 30 infrastructure ones (message middleware service,
distributed cache services, database services), totally 300K LOC
Git Repo:https://github.com/microcosmx/train_ticket
• Include Java、Python、Go、
Node.js
• Use asynchronous communication
and queue
• Substantial test cases including
100+ unit and integration tests
• Visualization tools for runtime
monitoring and management
Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chenjie Xu, Chao Ji, and Wenyun Zhao. Poster: Benchmarking Microservice Systems for Software
Engineering Research. ICSE 2018 Posters. http://taoxie.cs.illinois.edu/publications/icse18poster-microservices.pdf
Fudan、UIUC、SUTD Collaborative Research
Current: Modern IDE
Next: Intelligent IDE
https://www.hksilicon.com/articles/1213020
Inspired by
Software Analytics
GroupNatural language interfacing
Translation of NL to Regular Expressions/SQL
● Program Aliasing: a semantically equivalent program may have
many syntactically different forms
NL Sentences
NL  Regex: sequence-to-sequence model
● Encoder/Decoder: 2 layers stacked LSTM architectures [Locascio et al. EMNLP’16]
Training Objective: Maximum Likelihood Estimation (MLE) 
Maximizing Semantic Correctness
● Standard seq-to-seq maximizes likelihood mapping NL to ground truth
● MLE penalizes syntactically different but semantically equivalent regex
● Reward : semantic correctness
● Alternative objective: Maximize the expected
Leveraging the REINFORCE technique of policy gradient [William’92] to maximize Expected Semantic Correctness
Zhong, Guo, Yang, Peng, Xie, Lou, Liu, Zhang. SemRegex: A Semantics-Based Approach for Generating Regular Expressions
from Natural Language Specifications. EMNLP’18. http://taoxie.cs.illinois.edu/publications/emnlp18-semregex.pdf
Measurements of Semantic Correctness
([ABab]&[A-Z]).*X● Minimal DFAs
● Test Cases (pos/neg string examples)
Evaluation Results of NLRegex Approaches
Zhong, Guo, Yang, Peng, Xie, Lou, Liu, Zhang. SemRegex: A Semantics-Based Approach for Generating Regular Expressions
from Natural Language Specifications. EMNLP’18. http://taoxie.cs.illinois.edu/publications/emnlp18-semregex.pdf
DFA-equivalence Accuracy
https://medium.com/ai-for-software-engineering/ai-for-software-engineering-industry-landscape-12-aug-2018-e8e028628663
Intelligent SE:Industry
Intelligent SE:Tech Transfer
http://www.diffblue.com/
Oxford University spin-off,
Daniel Kroening et al.
Peking University spin-
off,
Ge Li et al.
https://www.codota.com/
Technion spin-off,
Eran Yahav et al.
Technical University Munich spin-off,
Benedikt Hauptmann et al.
https://www.qualicen.de/en/
http://www.aixcoder.com/
MaJiCKe
UCL spin-off, Mark Harman et al.
Acquired by Facebook
http://www.engineering.ucl.ac.uk/news/bug-finding-majicke-finds-home-facebook/
https://www.deepcode.ai/
ETH Zurich spin-off,
Martin Vechev et al.
Quite Many Recent Papers in AI/ML for SE
https://ml4code.github.io/
• 2018 (35)
• 2017 (34)
• 2016 (25)
• 2015 (25)
• 2014 (14)
• 2013 (9)
• 2012 (1)
• 2009 (1)
• 2007 (1)https://arxiv.org/abs/1709.06182
Artificial Intelligence  Software Engineering
Artificial
Intelligence
Software
Engineering
Intelligent Software Engineering
Intelligence Software Engineering
White-House-Sponsored Workshop (2016 June 28)
http://www.cmu.edu/safartint/
Self-Driving Tesla Involved in Fatal Crash (2016 June 30)
http://www.nytimes.com/2016/07/01/business/self-driving-tesla-fatal-crash-investigation.html
“A Tesla car in autopilot crashed into a trailer
because the autopilot system failed to recognize
the trailer as an obstacle due to its “white color
against a brightly lit sky” and the “high ride
height”
http://www.cs.columbia.edu/~suman/docs/deepxplore.pdf
(March 18, 2018) http://fortune.com/2018/03/19/uber-halts-self-driving-car-testing-fatal-accident-tempe-a
https://www.theguardian.com/technology/2018/aug/29/coding-algorithms-frankenalgos-program-danger
Microsoft's Teen Chatbot Tay
Turned into Genocidal Racist (2016 March 23/24)
http://www.businessinsider.com/ai-expert-explains-why-microsofts-tay-chatbot-is-so-racist-2016-3
"There are a number of precautionary
steps they [Microsoft] could have taken.
It wouldn't have been too hard to create
a blacklist of terms; or narrow the scope
of replies. They could also have simply
manually moderated Tay for the first few
days, even if that had meant slower
responses."
“businesses and other AI developers will
need to give more thought to the
protocols they design for testing and
training AIs like Tay.”
Amazon’s AI Tool Discriminating Against Women
https://www.businessinsider.com/amazon-built-ai-to-hire-people-discriminated-against-women-2018-10
Amazon’s AI Tool Discriminating Against Women
https://www.businessinsider.com/amazon-built-ai-to-hire-people-discriminated-against-women-2018-10
Adversarial Machine Learning/Testing
● Adversarial testing [Szegedy et al. ICLR’14]: find corner-case inputs imperceptible
to human but induce errors
36
School bus OstrichCarefully crafted noise
Pei et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems. SOSP 2017. Slide adapted from SOSP’17 slides
DeepXplore: Automated Whitebox Testing of Deep Learning Systems
• Systematic testing of Deep Neural Nets (DNNs)
• Neuron coverage: testing coverage metric for
deep nerual net
• Automated: cross-check multiple DNNs
• Realistic: physically realizable transformations
(e.g., lighting)
• Effective:
• 15 State-of-the-art DNNs on 5 large datasets (ImageNet,
Self-driving cars, PDF/Android malware)
• Numerous corner-case errors
• 50% more neuron coverage than existing testing
No accident
Darker: Accident
DeepXplore
37
Pei et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems. SOSP 2017. Slide adapted from SOSP’17 slides
Example Detected Erroneous Behaviors
Turn rightGo straight
38
Go straight Turn left
Pei et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems. SOSP 2017.
Tian et al. DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars. ICSE 2018. Slide adapted from SOSP’17 slides
Example Detected Erroneous Behaviors
Turn rightGo straight
39
Go straight Turn left
Pei et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems. SOSP 2017.
Tian et al. DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars. ICSE 2018. Slide adapted from SOSP’17 slides
Lu et al. NO Need to Worry about Adversarial Examples in
Object Detection in Autonomous Vehicles. CVPR’17.
https://arxiv.org/abs/1707.03501“
“
Neural Machine Translation
Screen snapshot captured on April 5, 2018
• Overall better than statistical machine
translation
• Worse controllability
• Existing translation quality assurance
 Need reference translation,not
applicable online
 Cannot precisely locate problem
types and
Translation Quality Assurance
● Key idea:black-box algorithms specialized for common problems
○ No need for reference translation; need only the original sentence and generated
translation
○ Precise problem localization
● Common problems
○ Under-translation
○ Over-translation
Tencent、UIUC Collaborative Work
Zheng, Wang, Liu, Zhang, Zeng, Deng, Yang, He, Xie. Testing Untestable Neural Machine Translation: An Industrial Case. arXiv:1807.02340, July 2018.
Industry Impact
● Adopted to improve WeChat translation service (over 1 billion users,
online serving 12 million translation tasks)
○ Offline monitoring (regression testing)
○ Online monitoring (real time selection of best model)
● Large scale test data for translation
○ ~130K English/180K Chinese words/phrases
○ Detect numerous problems in Google Translate and YouDao
BLEU Score Improvement %Problems Reduction
Problem Cases in Other Translation Services
Tencent、UIUC Collaborative Work
Zheng, Wang, Liu, Zhang, Zeng, Deng, Yang, He, Xie.
Testing Untestable Neural Machine Translation: An
Industrial Case. arXiv:1807.02340, July 2018.
Quite Many Recent Papers in SE for AI/ML
• Ma et al. MODE: Automated Neural Network Model Debugging via State Differential Analysis and Input
Selection. ESEC/FSE’18
• Sun et al. Concolic Testing for Deep Neural Networks. ASE’18
• Udeshi et al. Automated Directed Fairness Testing. ASE’18
• Ma et al. DeepGauge: Multi-Granularity Testing Criteria for Deep Learning Systems. ASE’18
• Zhang et al. DeepRoad: GAN-based Metamorphic Testing and Input Validation Framework for Autonomous
Driving Systems. ASE’18
• Dwarakanath et al. Identifying Implementation Bugs in Machine Learning based Image Classifiers using
Metamorphic Testing. ISSTA’18
• Zhang et al. An Empirical Study on TensorFlow Program Bugs. ISSTA’18
• Tian et al. DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars. ICSE’18
• Abdessalem et al. Testing Vision-Based Control Systems Using Learnable Evolutionary Algorithms. ICSE’18
• Odena, Goodfellow. TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing.
arXiv:1807.10875. 2018.
• …
Trustworthy Machine Learning
https://news.psu.edu/story/543643/2018/10/24/research/nsf-selects-penn-state-create-lead-center-trustworthy-machine
(SE  AI)  Practice Impact
Problem
Domain
Solution
Domain
Practice
Intelligent Software Engineering
Intelligence Software Engineering
46
Thank You!
Q & A
This work was supported in part by NSF under grants no. CNS-1513939, CNS-1564274, CCF-1816615, and a grant from
the ZJUI Research Program.

More Related Content

What's hot

Planning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful ResearchPlanning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful Research
Tao Xie
 
Software bug prediction
Software bug prediction Software bug prediction
Software bug prediction
Muthukumaran Kasinathan
 
Measuring Agile Software Development
Measuring Agile Software DevelopmentMeasuring Agile Software Development
Measuring Agile Software Development
Miroslaw Staron
 
AI for Software Engineering
AI for Software EngineeringAI for Software Engineering
AI for Software Engineering
Miroslaw Staron
 
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
Trivadis
 
Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019
Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019
Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019
Patrizio Pelliccione
 
PhD Proposal talk
PhD Proposal talkPhD Proposal talk
PhD Proposal talkRay Buse
 
Self Adaptive Systems
Self Adaptive SystemsSelf Adaptive Systems
Self Adaptive Systems
Adeel Rasheed
 
Towards Fairer Datasets: Filtering and Balancing the Distribution of the Peop...
Towards Fairer Datasets: Filtering and Balancing the Distribution of the Peop...Towards Fairer Datasets: Filtering and Balancing the Distribution of the Peop...
Towards Fairer Datasets: Filtering and Balancing the Distribution of the Peop...
QuantUniversity
 
Se research update
Se research updateSe research update
Se research update
Nacha Chondamrongkul
 
Aakiel abernathy resume
Aakiel abernathy resumeAakiel abernathy resume
Aakiel abernathy resume
Aakiel Abernathy
 
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Margaret-Anne Storey
 
Opinion Mining for Software Engineering
Opinion Mining for Software EngineeringOpinion Mining for Software Engineering
Opinion Mining for Software Engineering
Alexander Serebrenik
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and How
Massimiliano Di Penta
 
Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)
Gail Murphy
 
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
Ali Ouni
 
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
 
Analyzing Big Data's Weakest Link (hint: it might be you)
Analyzing Big Data's Weakest Link  (hint: it might be you)Analyzing Big Data's Weakest Link  (hint: it might be you)
Analyzing Big Data's Weakest Link (hint: it might be you)
HPCC Systems
 
Summarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User FeedbackSummarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User Feedback
Sebastiano Panichella
 
Carol Harstad Research Proposal
Carol Harstad   Research ProposalCarol Harstad   Research Proposal
Carol Harstad Research Proposal
Carol Harstad
 

What's hot (20)

Planning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful ResearchPlanning and Executing Practice-Impactful Research
Planning and Executing Practice-Impactful Research
 
Software bug prediction
Software bug prediction Software bug prediction
Software bug prediction
 
Measuring Agile Software Development
Measuring Agile Software DevelopmentMeasuring Agile Software Development
Measuring Agile Software Development
 
AI for Software Engineering
AI for Software EngineeringAI for Software Engineering
AI for Software Engineering
 
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
 
Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019
Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019
Software Engineering for ML/AI, keynote at FAS*/ICAC/SASO 2019
 
PhD Proposal talk
PhD Proposal talkPhD Proposal talk
PhD Proposal talk
 
Self Adaptive Systems
Self Adaptive SystemsSelf Adaptive Systems
Self Adaptive Systems
 
Towards Fairer Datasets: Filtering and Balancing the Distribution of the Peop...
Towards Fairer Datasets: Filtering and Balancing the Distribution of the Peop...Towards Fairer Datasets: Filtering and Balancing the Distribution of the Peop...
Towards Fairer Datasets: Filtering and Balancing the Distribution of the Peop...
 
Se research update
Se research updateSe research update
Se research update
 
Aakiel abernathy resume
Aakiel abernathy resumeAakiel abernathy resume
Aakiel abernathy resume
 
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
Publish or Perish: Questioning the Impact of Our Research on the Software Dev...
 
Opinion Mining for Software Engineering
Opinion Mining for Software EngineeringOpinion Mining for Software Engineering
Opinion Mining for Software Engineering
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and How
 
Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)
 
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
 
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?
 
Analyzing Big Data's Weakest Link (hint: it might be you)
Analyzing Big Data's Weakest Link  (hint: it might be you)Analyzing Big Data's Weakest Link  (hint: it might be you)
Analyzing Big Data's Weakest Link (hint: it might be you)
 
Summarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User FeedbackSummarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User Feedback
 
Carol Harstad Research Proposal
Carol Harstad   Research ProposalCarol Harstad   Research Proposal
Carol Harstad Research Proposal
 

Similar to Intelligent Software Engineering: Synergy between AI and Software Engineering (UCI ISR 2018)

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
Tao Xie
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
Tao Xie
 
Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software Analytics
Margaret-Anne Storey
 
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
Tao Xie
 
Software Mining and Software Datasets
Software Mining and Software DatasetsSoftware Mining and Software Datasets
Software Mining and Software Datasets
Tao Xie
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest link
CS, NcState
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Hironori Washizaki
 
Sample CS Senior Capstone Projects
Sample CS Senior Capstone ProjectsSample CS Senior Capstone Projects
Sample CS Senior Capstone Projects
Fred Annexstein
 
Anup_Resume_Update_9_1_16
Anup_Resume_Update_9_1_16Anup_Resume_Update_9_1_16
Anup_Resume_Update_9_1_16Anup Tyagi
 
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
Tao Xie
 
Resume_AdityaKumar-1
Resume_AdityaKumar-1Resume_AdityaKumar-1
Resume_AdityaKumar-1Aditya Kumar
 
Ai open powermeetupmarch25th
Ai open powermeetupmarch25thAi open powermeetupmarch25th
Ai open powermeetupmarch25th
IBM
 
Ai open powermeetupmarch25th
Ai open powermeetupmarch25thAi open powermeetupmarch25th
Ai open powermeetupmarch25th
IBM
 
Aditya_kapur_(Resume).PDF
Aditya_kapur_(Resume).PDFAditya_kapur_(Resume).PDF
Aditya_kapur_(Resume).PDFAditya Kapur
 
My CV
My CVMy CV
H1803044651
H1803044651H1803044651
H1803044651
IOSR Journals
 
VIGNESH R - Software Engineer (Java) - 4 Years
VIGNESH R - Software Engineer (Java) - 4 YearsVIGNESH R - Software Engineer (Java) - 4 Years
VIGNESH R - Software Engineer (Java) - 4 YearsVignesh Rajendran
 

Similar to Intelligent Software Engineering: Synergy between AI and Software Engineering (UCI ISR 2018) (20)

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
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
 
Visualization for Software Analytics
Visualization for Software AnalyticsVisualization for Software Analytics
Visualization for Software Analytics
 
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
 
Software Mining and Software Datasets
Software Mining and Software DatasetsSoftware Mining and Software Datasets
Software Mining and Software Datasets
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest link
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
 
Sample CS Senior Capstone Projects
Sample CS Senior Capstone ProjectsSample CS Senior Capstone Projects
Sample CS Senior Capstone Projects
 
Resume
ResumeResume
Resume
 
Anup_Resume_Update_9_1_16
Anup_Resume_Update_9_1_16Anup_Resume_Update_9_1_16
Anup_Resume_Update_9_1_16
 
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
 
Jagrat_Mankad
Jagrat_MankadJagrat_Mankad
Jagrat_Mankad
 
Resume_AdityaKumar-1
Resume_AdityaKumar-1Resume_AdityaKumar-1
Resume_AdityaKumar-1
 
Ai open powermeetupmarch25th
Ai open powermeetupmarch25thAi open powermeetupmarch25th
Ai open powermeetupmarch25th
 
Ai open powermeetupmarch25th
Ai open powermeetupmarch25thAi open powermeetupmarch25th
Ai open powermeetupmarch25th
 
Naresh Chirra
Naresh ChirraNaresh Chirra
Naresh Chirra
 
Aditya_kapur_(Resume).PDF
Aditya_kapur_(Resume).PDFAditya_kapur_(Resume).PDF
Aditya_kapur_(Resume).PDF
 
My CV
My CVMy CV
My CV
 
H1803044651
H1803044651H1803044651
H1803044651
 
VIGNESH R - Software Engineer (Java) - 4 Years
VIGNESH R - Software Engineer (Java) - 4 YearsVIGNESH R - Software Engineer (Java) - 4 Years
VIGNESH R - Software Engineer (Java) - 4 Years
 

More from Tao Xie

MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
Tao Xie
 
Diversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from AlliesDiversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from Allies
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
Tao Xie
 
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Tao Xie
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to Practice
Tao Xie
 
Advances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeAdvances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and Practice
Tao Xie
 
Common Technical Writing Issues
Common Technical Writing IssuesCommon Technical Writing Issues
Common Technical Writing Issues
Tao Xie
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
Tao Xie
 
Transferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to PracticeTransferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to Practice
Tao Xie
 
User Expectations in Mobile App Security
User Expectations in Mobile App SecurityUser Expectations in Mobile App Security
User Expectations in Mobile App Security
Tao Xie
 
Impact-Driven Research on Software Engineering Tooling
Impact-Driven Research on Software Engineering ToolingImpact-Driven Research on Software Engineering Tooling
Impact-Driven Research on Software Engineering Tooling
Tao Xie
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
Tao Xie
 
Next Generation Developer Testing: Parameterized Testing
Next Generation Developer Testing: Parameterized TestingNext Generation Developer Testing: Parameterized Testing
Next Generation Developer Testing: Parameterized Testing
Tao Xie
 
Csise15 codehunt
Csise15 codehuntCsise15 codehunt
Csise15 codehuntTao Xie
 
Text Analytics for Security
Text Analytics for SecurityText Analytics for Security
Text Analytics for Security
Tao Xie
 
Gamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingGamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and Programming
Tao Xie
 
Towards Mining Software Repositories Research that Matters
Towards Mining Software Repositories Research that MattersTowards Mining Software Repositories Research that Matters
Towards Mining Software Repositories Research that Matters
Tao Xie
 
Tutorial: Text Analytics for Security
Tutorial: Text Analytics for SecurityTutorial: Text Analytics for Security
Tutorial: Text Analytics for Security
Tao Xie
 
Teaching and Learning Programming and Software Engineering via Interactive Ga...
Teaching and Learning Programming and Software Engineering via Interactive Ga...Teaching and Learning Programming and Software Engineering via Interactive Ga...
Teaching and Learning Programming and Software Engineering via Interactive Ga...
Tao Xie
 

More from Tao Xie (19)

MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
MSR 2022 Foundational Contribution Award Talk: Software Analytics: Reflection...
 
Diversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from AlliesDiversity and Computing/Engineering: Perspectives from Allies
Diversity and Computing/Engineering: Perspectives from Allies
 
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
 
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)Transferring Software Testing Tools to Practice (AST 2017 Keynote)
Transferring Software Testing Tools to Practice (AST 2017 Keynote)
 
Transferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to Practice
 
Advances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and PracticeAdvances in Unit Testing: Theory and Practice
Advances in Unit Testing: Theory and Practice
 
Common Technical Writing Issues
Common Technical Writing IssuesCommon Technical Writing Issues
Common Technical Writing Issues
 
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William EnckHotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
HotSoS16 Tutorial "Text Analytics for Security" by Tao Xie and William Enck
 
Transferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to PracticeTransferring Software Testing and Analytics Tools to Practice
Transferring Software Testing and Analytics Tools to Practice
 
User Expectations in Mobile App Security
User Expectations in Mobile App SecurityUser Expectations in Mobile App Security
User Expectations in Mobile App Security
 
Impact-Driven Research on Software Engineering Tooling
Impact-Driven Research on Software Engineering ToolingImpact-Driven Research on Software Engineering Tooling
Impact-Driven Research on Software Engineering Tooling
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Next Generation Developer Testing: Parameterized Testing
Next Generation Developer Testing: Parameterized TestingNext Generation Developer Testing: Parameterized Testing
Next Generation Developer Testing: Parameterized Testing
 
Csise15 codehunt
Csise15 codehuntCsise15 codehunt
Csise15 codehunt
 
Text Analytics for Security
Text Analytics for SecurityText Analytics for Security
Text Analytics for Security
 
Gamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingGamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and Programming
 
Towards Mining Software Repositories Research that Matters
Towards Mining Software Repositories Research that MattersTowards Mining Software Repositories Research that Matters
Towards Mining Software Repositories Research that Matters
 
Tutorial: Text Analytics for Security
Tutorial: Text Analytics for SecurityTutorial: Text Analytics for Security
Tutorial: Text Analytics for Security
 
Teaching and Learning Programming and Software Engineering via Interactive Ga...
Teaching and Learning Programming and Software Engineering via Interactive Ga...Teaching and Learning Programming and Software Engineering via Interactive Ga...
Teaching and Learning Programming and Software Engineering via Interactive Ga...
 

Recently uploaded

A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 

Recently uploaded (20)

A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 

Intelligent Software Engineering: Synergy between AI and Software Engineering (UCI ISR 2018)

  • 1. Intelligent Software Engineering: Synergy between AI and Software Engineering Tao Xie University of Illinois at Urbana-Champaign taoxie@illinois.edu http://taoxie.cs.illinois.edu/
  • 2. Artificial Intelligence  Software Engineering Artificial Intelligence Software Engineering Intelligent Software Engineering Intelligence Software Engineering
  • 3. Artificial Intelligence  Software Engineering Artificial Intelligence Software Engineering Intelligent Software Engineering Intelligence Software Engineering
  • 5. Dynamic Symbolic Execution Code to generate inputs for: Constraints to solve a!=null a!=null && a.Length>0 a!=null && a.Length>0 && a[0]==1234567890 void CoverMe(int[] a) { if (a == null) return; if (a.Length > 0) if (a[0] == 1234567890) throw new Exception("bug"); } Observed constraints a==null a!=null && !(a.Length>0) a!=null && a.Length>0 && a[0]!=1234567890 a!=null && a.Length>0 && a[0]==1234567890 Data null {} {0} {123…}a==null a.Length>0 a[0]==123… T TF T F F Execute&MonitorSolve Choose next path Done: There is no path left. Negated condition [DART: Godefroid et al. PLDI’05] Z3Constraint solver has decision procedures for - Arrays - Linear integer arithmetic - Bitvector arithmetic - Floating-point arithmetic - …
  • 6. Past: Automated Software Testing • 10 years of collaboration with Microsoft Research on Pex [ASE’14 Ex] • .NET Test Generation Tool based on Dynamic Symbolic Execution • Tackle challenges of • Path explosion via fitness function [DSN’09] • Method sequence explosion via program synthesis [OOPSLA’11] • … • Shipped in Visual Studio 2015/2017 Enterprise Edition • As IntelliTest Tillmann, de Halleux, Xie. Transferring an Automated Test Generation Tool to Practice: From Pex to Fakes and Code Digger. ASE’14 Experience Papers http://taoxie.cs.illinois.edu/publications/ase14-pexexperiences.pdf
  • 7. Past: Android App Testing • 2 years of collaboration with Tencent Inc. WeChat testing team • Guided Random Test Generation Tool improved over Google Monkey • Resulting tool deployed in daily WeChat testing practice • WeChat = WhatsApp + Facebook + Instagram + PayPal + Uber … • #monthly active users: 1 billion @2018 March • Daily#: dozens of billion messages sent, hundreds of million photos uploaded, hundreds of million payment transactions executed • First studies on testing industrial Android apps [FSE’16IN][ICSE’17SEIP] • Beyond open source Android apps focused by academia WeChat
  • 8. Intelligent Android App Testing @ Facebook https://code.fb.com/developer-tools/sapienz-intelligent-automated-software-testing-at-scale/ https://www.forbes.com/sites/parmyolson/2018/11/29/facebook-has-a-bug-hunting-tool-that-mimics-human-behavior/
  • 9. Android Test Generation Tools: A Retrospective Monkey Official Blind random 9 2008 2017 Stoat FSE ’17 Model-based evolutionary 2012 GUIRipper ASE ‘12 Model-based 2013 2015 2016... .. A3E OOPSLA ‘13 Systematic Dynodroid FSE ‘13 Guided random SwiftHand OOPSLA ‘13 Model-based DroidBot ICSE-C ‘17 Model-based ACTEve FSE ‘12 Concolic WCTester FSE-Ind ‘16 Guided random Sapienz ISSTA ‘16 Evolutionary Study by Choudhary et al. ASE ‘15 How do these tools perform on industrial apps that people actually use everyday?
  • 10. Android Test Generation Tools: Existing Evaluations 10 2017 Stoat FSE ’17 Model-based evolutionary 2012 GUIRipper ASE ‘12 Model-based 2013 2015 2016.. A3E OOPSLA ‘13 Systematic Dynodroid FSE ‘13 Guided random SwiftHand OOPSLA ‘13 Model-based DroidBot ICSE-C ‘17 Model-based ACTEve FSE ‘12 Concolic WCTester FSE-Ind ‘16 Guided random Sapienz ISSTA ‘16 Evolutionary Study by Choudhary et al. ASE ‘15 Industrial apps not involved Industrial apps limitedly involved Single case study only There is no comprehensive comparison among existing tools over industrial apps.  Does a newly proposed tool really outperform existing tools (especially Monkey) on industrial apps? Wang, Li, Yang, Cao, Zhang, Deng, Xie. An Empirical Study of Android Test Generation Tools in Industrial Cases. ASE’18. http://taoxie.cs.illinois.edu/publications/ase18-androidtest.pdf
  • 11. Next: Intelligent Software Testing • Learning from others working on the same things • Our work on mining API usage method sequences to test the API [ESEC/FSE’09: MSeqGen] • Visser et al. Green: Reducing, reusing and recycling constraints in program analysis. [FSE’12] • Learning from others working on similar things • Jia et al. Enhancing reuse of constraint solutions to improve symbolic execution. [ISSTA’15] • Aquino et al. Heuristically Matching Solution Spaces of Arithmetic Formulas to Efficiently Reuse Solutions. [ICSE’17] [Jia et al. ISSTA’15] Continuous Learning
  • 12. Software Analytics Software analytics is to enable software practitioners to perform data exploration and analysis in order to obtain insightful and actionable information for data- driven tasks around software and services. Dongmei Zhang, Yingnong Dang, Jian-Guang Lou, Shi Han, Haidong Zhang, and Tao Xie. Software Analytics as a Learning Case in Practice: Approaches and Experiences. In MALETS 2011 http://research.microsoft.com/en-us/groups/sa/malets11-analytics.pdf
  • 13. Software Analytics Software analytics is to enable software practitioners to perform data exploration and analysis in order to obtain insightful and actionable information for data- driven tasks around software and services. Dongmei Zhang, Yingnong Dang, Jian-Guang Lou, Shi Han, Haidong Zhang, and Tao Xie. Software Analytics as a Learning Case in Practice: Approaches and Experiences. In MALETS 2011 http://research.microsoft.com/en-us/groups/sa/malets11-analytics.pdf
  • 14. Data sources Runtime traces Program logs System events Perf counters … Usage log User surveys Online forum posts Blog & Twitter … Source code Bug history Check-in history Test cases Eye tracking MRI/EMG …
  • 15. Research Topics & Technology Pillars
  • 16. Past: Software Analytics • StackMine [ICSE’12, IEEESoft’13]: performance debugging in the large • Data Source: Performance call stack traces from Windows end users • Analytics Output: Ranked clusters of call stack traces based on shared patterns • Impact: Deployed/used in daily practice of Windows Performance Analysis team • XIAO [ACSAC’12, ICSE’17 SEIP]: code-clone detection and search • Data Source: Source code repos (+ given code segment optionally) • Analytics Output: Code clones • Impact: Shipped in Visual Studio 2012; deployed/used in daily practice of Microsoft Security Response Center Internet @Microsoft Research Asia
  • 17. Past: Software Analytics • Service Analysis Studio [ASE’13-EX]: service incident management • Data Source: Transaction logs, system metrics, past incident reports • Analytics Output: Healing suggestions/likely root causes of the given incident • Impact: Deployed and used by an important Microsoft service (hundreds of millions of users) for incident management @Microsoft Research Asia
  • 18. Open Source Microservice Benchmark System TrainTicket 70+ microservices, including 41 business ones, 30 infrastructure ones (message middleware service, distributed cache services, database services), totally 300K LOC Git Repo:https://github.com/microcosmx/train_ticket • Include Java、Python、Go、 Node.js • Use asynchronous communication and queue • Substantial test cases including 100+ unit and integration tests • Visualization tools for runtime monitoring and management Xiang Zhou, Xin Peng, Tao Xie, Jun Sun, Chenjie Xu, Chao Ji, and Wenyun Zhao. Poster: Benchmarking Microservice Systems for Software Engineering Research. ICSE 2018 Posters. http://taoxie.cs.illinois.edu/publications/icse18poster-microservices.pdf Fudan、UIUC、SUTD Collaborative Research
  • 20. Next: Intelligent IDE https://www.hksilicon.com/articles/1213020 Inspired by Software Analytics GroupNatural language interfacing
  • 21. Translation of NL to Regular Expressions/SQL ● Program Aliasing: a semantically equivalent program may have many syntactically different forms NL Sentences
  • 22. NL  Regex: sequence-to-sequence model ● Encoder/Decoder: 2 layers stacked LSTM architectures [Locascio et al. EMNLP’16]
  • 23. Training Objective: Maximum Likelihood Estimation (MLE)  Maximizing Semantic Correctness ● Standard seq-to-seq maximizes likelihood mapping NL to ground truth ● MLE penalizes syntactically different but semantically equivalent regex ● Reward : semantic correctness ● Alternative objective: Maximize the expected Leveraging the REINFORCE technique of policy gradient [William’92] to maximize Expected Semantic Correctness Zhong, Guo, Yang, Peng, Xie, Lou, Liu, Zhang. SemRegex: A Semantics-Based Approach for Generating Regular Expressions from Natural Language Specifications. EMNLP’18. http://taoxie.cs.illinois.edu/publications/emnlp18-semregex.pdf
  • 24. Measurements of Semantic Correctness ([ABab]&[A-Z]).*X● Minimal DFAs ● Test Cases (pos/neg string examples)
  • 25. Evaluation Results of NLRegex Approaches Zhong, Guo, Yang, Peng, Xie, Lou, Liu, Zhang. SemRegex: A Semantics-Based Approach for Generating Regular Expressions from Natural Language Specifications. EMNLP’18. http://taoxie.cs.illinois.edu/publications/emnlp18-semregex.pdf DFA-equivalence Accuracy
  • 27. Intelligent SE:Tech Transfer http://www.diffblue.com/ Oxford University spin-off, Daniel Kroening et al. Peking University spin- off, Ge Li et al. https://www.codota.com/ Technion spin-off, Eran Yahav et al. Technical University Munich spin-off, Benedikt Hauptmann et al. https://www.qualicen.de/en/ http://www.aixcoder.com/ MaJiCKe UCL spin-off, Mark Harman et al. Acquired by Facebook http://www.engineering.ucl.ac.uk/news/bug-finding-majicke-finds-home-facebook/ https://www.deepcode.ai/ ETH Zurich spin-off, Martin Vechev et al.
  • 28. Quite Many Recent Papers in AI/ML for SE https://ml4code.github.io/ • 2018 (35) • 2017 (34) • 2016 (25) • 2015 (25) • 2014 (14) • 2013 (9) • 2012 (1) • 2009 (1) • 2007 (1)https://arxiv.org/abs/1709.06182
  • 29. Artificial Intelligence  Software Engineering Artificial Intelligence Software Engineering Intelligent Software Engineering Intelligence Software Engineering
  • 30. White-House-Sponsored Workshop (2016 June 28) http://www.cmu.edu/safartint/
  • 31. Self-Driving Tesla Involved in Fatal Crash (2016 June 30) http://www.nytimes.com/2016/07/01/business/self-driving-tesla-fatal-crash-investigation.html “A Tesla car in autopilot crashed into a trailer because the autopilot system failed to recognize the trailer as an obstacle due to its “white color against a brightly lit sky” and the “high ride height” http://www.cs.columbia.edu/~suman/docs/deepxplore.pdf
  • 32. (March 18, 2018) http://fortune.com/2018/03/19/uber-halts-self-driving-car-testing-fatal-accident-tempe-a https://www.theguardian.com/technology/2018/aug/29/coding-algorithms-frankenalgos-program-danger
  • 33. Microsoft's Teen Chatbot Tay Turned into Genocidal Racist (2016 March 23/24) http://www.businessinsider.com/ai-expert-explains-why-microsofts-tay-chatbot-is-so-racist-2016-3 "There are a number of precautionary steps they [Microsoft] could have taken. It wouldn't have been too hard to create a blacklist of terms; or narrow the scope of replies. They could also have simply manually moderated Tay for the first few days, even if that had meant slower responses." “businesses and other AI developers will need to give more thought to the protocols they design for testing and training AIs like Tay.”
  • 34. Amazon’s AI Tool Discriminating Against Women https://www.businessinsider.com/amazon-built-ai-to-hire-people-discriminated-against-women-2018-10
  • 35. Amazon’s AI Tool Discriminating Against Women https://www.businessinsider.com/amazon-built-ai-to-hire-people-discriminated-against-women-2018-10
  • 36. Adversarial Machine Learning/Testing ● Adversarial testing [Szegedy et al. ICLR’14]: find corner-case inputs imperceptible to human but induce errors 36 School bus OstrichCarefully crafted noise Pei et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems. SOSP 2017. Slide adapted from SOSP’17 slides
  • 37. DeepXplore: Automated Whitebox Testing of Deep Learning Systems • Systematic testing of Deep Neural Nets (DNNs) • Neuron coverage: testing coverage metric for deep nerual net • Automated: cross-check multiple DNNs • Realistic: physically realizable transformations (e.g., lighting) • Effective: • 15 State-of-the-art DNNs on 5 large datasets (ImageNet, Self-driving cars, PDF/Android malware) • Numerous corner-case errors • 50% more neuron coverage than existing testing No accident Darker: Accident DeepXplore 37 Pei et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems. SOSP 2017. Slide adapted from SOSP’17 slides
  • 38. Example Detected Erroneous Behaviors Turn rightGo straight 38 Go straight Turn left Pei et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems. SOSP 2017. Tian et al. DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars. ICSE 2018. Slide adapted from SOSP’17 slides
  • 39. Example Detected Erroneous Behaviors Turn rightGo straight 39 Go straight Turn left Pei et al. DeepXplore: Automated Whitebox Testing of Deep Learning Systems. SOSP 2017. Tian et al. DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars. ICSE 2018. Slide adapted from SOSP’17 slides Lu et al. NO Need to Worry about Adversarial Examples in Object Detection in Autonomous Vehicles. CVPR’17. https://arxiv.org/abs/1707.03501“ “
  • 40. Neural Machine Translation Screen snapshot captured on April 5, 2018 • Overall better than statistical machine translation • Worse controllability • Existing translation quality assurance  Need reference translation,not applicable online  Cannot precisely locate problem types and
  • 41. Translation Quality Assurance ● Key idea:black-box algorithms specialized for common problems ○ No need for reference translation; need only the original sentence and generated translation ○ Precise problem localization ● Common problems ○ Under-translation ○ Over-translation Tencent、UIUC Collaborative Work Zheng, Wang, Liu, Zhang, Zeng, Deng, Yang, He, Xie. Testing Untestable Neural Machine Translation: An Industrial Case. arXiv:1807.02340, July 2018.
  • 42. Industry Impact ● Adopted to improve WeChat translation service (over 1 billion users, online serving 12 million translation tasks) ○ Offline monitoring (regression testing) ○ Online monitoring (real time selection of best model) ● Large scale test data for translation ○ ~130K English/180K Chinese words/phrases ○ Detect numerous problems in Google Translate and YouDao BLEU Score Improvement %Problems Reduction Problem Cases in Other Translation Services Tencent、UIUC Collaborative Work Zheng, Wang, Liu, Zhang, Zeng, Deng, Yang, He, Xie. Testing Untestable Neural Machine Translation: An Industrial Case. arXiv:1807.02340, July 2018.
  • 43. Quite Many Recent Papers in SE for AI/ML • Ma et al. MODE: Automated Neural Network Model Debugging via State Differential Analysis and Input Selection. ESEC/FSE’18 • Sun et al. Concolic Testing for Deep Neural Networks. ASE’18 • Udeshi et al. Automated Directed Fairness Testing. ASE’18 • Ma et al. DeepGauge: Multi-Granularity Testing Criteria for Deep Learning Systems. ASE’18 • Zhang et al. DeepRoad: GAN-based Metamorphic Testing and Input Validation Framework for Autonomous Driving Systems. ASE’18 • Dwarakanath et al. Identifying Implementation Bugs in Machine Learning based Image Classifiers using Metamorphic Testing. ISSTA’18 • Zhang et al. An Empirical Study on TensorFlow Program Bugs. ISSTA’18 • Tian et al. DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars. ICSE’18 • Abdessalem et al. Testing Vision-Based Control Systems Using Learnable Evolutionary Algorithms. ICSE’18 • Odena, Goodfellow. TensorFuzz: Debugging Neural Networks with Coverage-Guided Fuzzing. arXiv:1807.10875. 2018. • …
  • 45. (SE  AI)  Practice Impact Problem Domain Solution Domain Practice Intelligent Software Engineering Intelligence Software Engineering
  • 46. 46 Thank You! Q & A This work was supported in part by NSF under grants no. CNS-1513939, CNS-1564274, CCF-1816615, and a grant from the ZJUI Research Program.