SlideShare a Scribd company logo
1 of 27
Download to read offline
Learning about Deep Learning
Applications for OpenJDK verification
@ShelleyMLambert and Longyu Zhang
AdoptOpenJDK, Eclipse OpenJ9, Eclipse OMR Verification
Intro & Motivation
โ€ข Early days, thought-starter
โ€ข Explore and experiment, determine feasibility
โ€ข Revive projects in waiting
โ€ข Make test better
*from Professor Andrew Ng
AQA
Test
Data
โ€œVirtuous Circle for AIโ€* as applied to verification
โ€ข Create/gather tests
โ€ข Run tests
โ€ข Gather data from runs
โ€ข Make test better
What is Deep Learning?
Deep learning is a subset of ML
algorithms distinguished by:
โ€ข Loosely based on structure and
function of the brain, use
artificial neural networks (ANN)
โ€ข Multiple layers of processing
units, โ€œneuronsโ€, output of a
layer is input to another layer
โ€ข Modes of learning, supervised
(regression, classification) or
unsupervised (pattern analysis)
Remember Your Math
Computationally Heavy
โ€ข Non-linear functions applied at
each layer (sigmoid, tanh, ReLU,
etc)
โ€ข Forward/Backward propagation,
derivatives, gradient descent
โ€ข Weight adjustment (the action to
improve)
โ€ข Human level error
โ€ข Training set error
โ€ข Dev set error
โ€ข Next step is known, when in
doubt add more data
bias
variance
The Process
Select problem
Determine features
Gather examples
Learn
Adjust weights (update
model/ heuristic)
Apply deep learning?
Guidance for Problem Selection
โ€ข Anything that a human can do with a second of
thought, can be automated with AI*
โ€ข Where are you data-rich?
โ€ข Parked ideas, waiting for the right
tool/approach
โ€ข Outputs that help drive next actions
*from Professor Andrew Ng
Data-hungry DL
what we can feed it?
โ€ข Code reviews
โ€ข Static analysis
โ€ข Pull requests
โ€ข Code coverage values
โ€ข Test output
โ€“ Verbose console, result status, exceptions, trace info,
benchmark results, GC/JIT logs, cores, instrumented data
โ€ข Github issues / cores
โ€ข Job schedules, execution times
โ€ข Machine config info / status
static
dynamic
peripheral
Audience Participation
Categorize [infra, test, jdk]infra
Audience Participation
Categorize [infra, test, jdk]test
Audience Participation
Categorize [infra, test, jdk]test
zlinuxzlinux
QA is Swimming in Data
Test output:
โ€ข Vast amounts of data per day:
โ€“ 6 impls (openj9/15, hotspot/18, ibm/22, sap/1, corretto/3, upstream/3)
โ€“ sum([15,18,22,1,3,3]) = 62 impl_spec value
โ€“ 250,000+ unique tests
โ€“ 6 versions (8, 9, 10, 11, 12, 13, 14, 15, 16, Valhalla)
โ€“ ~36 variants (unique inputs / commandline options)
โ€ข Impls_specsTotal x numTests x versions
โ€“ 62x250000x6=93,000,000
โ€“ With variants -> 93,000,000x36=3,348,000,000 tests run
OpenJ9 Hotspot SAP IBM
8 11 14 15 16 +
osxosx aix win xlinux plinux zlinux
openjdk functional perf system external
Corretto Upstream R.H.
aarch64 riscv
Valhalla
Conservative
estimate, excludes
PR & Docker
image testing
Activities (and Questions) Related to Test
Plan Implement Automate Execute
Triage Exclude
Report
What? How?
How
often?
How
easy?
How
few?
How
fast?
What failed?
Why? What
next?
Decompose into a set of services by test activity, services to help answer the questions
and take next actions.
A lot of questions.
A lot of data.
What next?
Past Prototypes Revisited
ResultAnalytics
Data
Services
UI Layer
Cores
raw refined
custom dashboardother clients
TestGeneration BenchEngineCoreAnalytics TestSelection
BugPrediction
InputOptions ResultSummary
ResultCompare
github
repos
Jenkins
servers
TRSS
Core Analytics Service
โ€ข visualize & analyze data from cores
โ€ข predict crashes based on data mined from core files
Bug Prediction Service
โ€ข Scores per file based on โ€˜recentโ€™ changes due to defects (github PRs/issues),
predict based on change & defect history, other features?
Input Options Service
โ€ข Input Options Service โ€“ grabs input options defined in tests
at start of a build, names and stores them (unique sentences
of options), for sharing with other builds/tests, can reply
whether inputs are valid for particular platforms
Deep Learning Service
ResultAnalytics
Data
Services
UI Layer
Cores
raw refined
custom dashboardother clients
TestGeneration BenchEngineCoreAnalytics TestSelection
BugPrediction
InputOptions ResultSummary
ResultCompare
github
repos
Jenkins
servers
DL service
Areas of Interest
โ€ข Test generation (write tests for me)
โ€ข Find or predict defects
โ€“ fuzz testing to verify compilers, to find security vulnerabilities
โ€“ bug prediction
โ€ข Triage failures
โ€“ Categorization, which component is root cause of failure?
โ€ข Next action post-failure
โ€“ Binary classifier, is โ€˜realโ€™ defect or not
โ€ข Analyze performance
โ€“ Predict if changes will improve performance or not, by how much?
โ€ข Optimize machine usage, lab reqs
โ€“ Optimize automation, scheduling
โ€“ Predict test execution time, predict if a test run will fail
โ€ข Replace myself with automation
Model Building
Version
Variants used
Things we know
(input layer)
Failure expression
Platform
Impl
Machine โ€˜ageโ€™
Failure age
PR list
Find/predict bugs
Things we want to know
(output layer)
Bug prediction scores
Triage failures
Predict perf
Optimize usage
Write tests
Next best action
DL Projects in Progress
DeepSmith (CAS project*)
โ€ข Automatically generating test programs with deep learning
technology to verify compilers & find security vulnerabilities.
*with Professor Hugh Leather from University of Edinburgh
Scraped 400 GB
Java Program
from GitHub
Train DL model with LSTM
(Long Short-Term Memory)
to automatically generate
more Java Tests
Compare outputs
to verify
compilers & find
vulnerabilities
A/B Testing with different
JDKs/JVMs on Jenkins
JDK 8 with OpenJ9
JDK 11 with OpenJ9
JDK 11 with Hotspot
JDK 11 with Corretto
A/B Testing with various
JIT settings on Jenkins
JIT enabled
JIT disabled
โ€ข Analyzing test outputs with deep learning to classify test
result types: success or failure (compiler crash, build
timeout, build failure, program crash, wrong output).
*consulting with IBM Machine Learning Hub
Archive test
outputs and
results from
Jenkins
Store test
data into
database
Pre-process
data (use tf-idf
to generate
vocabulary)
Train DL model to classify
test results (weighted
model, dropout layer,
early stopping)
Evaluate DL model
with metrics
(precision, recall)
Continuous improvement with
more data and models
Apply developed
DL model to
analyze test
outputs
Test Output Analysis*
โ€ข Utilize deep learning model to recommend possible GitHub
issues related to test failures.
Collect Issues
from GitHub
repos
Pre-process
issue contents
Train DL model
to classify
multiple issues
Evaluate DL model
with TRSS/Jenkins
output
Continuous improvement with
more data and models
Deploy DL model in
TRSS to recommend
related issues
Recommend Related GitHub Issues
Demo
Plans Forward
โ€ข Build skills
โ€ข Groundwork
โ€ข Tools enhancements
โ€ข Model/deploy, observe & measure
โ€ข Collaborate & innovate
โ€“ researchers/universities
โ€ข Leverage useful models in open projects
โ€“ Incorporate into pipelines/workflows
References
โ€ข Papers from Hugh Leather
โ€“ Compiler Fuzzing through Deep Learning
โ€“ End to End Deep Learning of Optimization Heuristics
โ€“ Synthesizing Benchmarks for Predictive Modeling
โ€ข Videos & course work from Prof Andrew Ng
โ€“ Artificial Intelligence is the New Electricity
โ€“ Coursera: Deep Learning Specialization courses
โ€ข Bug prediction paper: *BugCache for Inspections: Hit or Miss?

More Related Content

What's hot

HP Quick Test Professional
HP Quick Test ProfessionalHP Quick Test Professional
HP Quick Test ProfessionalVitaliy Ganzha
ย 
Distributed Model Validation with Epsilon
Distributed Model Validation with EpsilonDistributed Model Validation with Epsilon
Distributed Model Validation with EpsilonSina Madani
ย 
Validation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environmentValidation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environmentObsidian Software
ย 
Dependable Systems -Dependability Attributes (5/16)
Dependable Systems -Dependability Attributes (5/16)Dependable Systems -Dependability Attributes (5/16)
Dependable Systems -Dependability Attributes (5/16)Peter Trรถger
ย 
Dependable Systems -Dependability Threats (2/16)
Dependable Systems -Dependability Threats (2/16)Dependable Systems -Dependability Threats (2/16)
Dependable Systems -Dependability Threats (2/16)Peter Trรถger
ย 
Design for Testability
Design for TestabilityDesign for Testability
Design for TestabilityStanislav Tiurikov
ย 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsFilip Krikava
ย 
Dependable Systems -Software Dependability (15/16)
Dependable Systems -Software Dependability (15/16)Dependable Systems -Software Dependability (15/16)
Dependable Systems -Software Dependability (15/16)Peter Trรถger
ย 
Dependable Systems -Fault Tolerance Patterns (4/16)
Dependable Systems -Fault Tolerance Patterns (4/16)Dependable Systems -Fault Tolerance Patterns (4/16)
Dependable Systems -Fault Tolerance Patterns (4/16)Peter Trรถger
ย 
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...DevOps.com
ย 
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Peter Trรถger
ย 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verificationGireesh Kallihal
ย 
Taking a Test Drive: iOS Dev UK guide to TDD
Taking a Test Drive: iOS Dev UK guide to TDDTaking a Test Drive: iOS Dev UK guide to TDD
Taking a Test Drive: iOS Dev UK guide to TDDGraham Lee
ย 
Simulink Stateflow workshop
 Simulink Stateflow workshop Simulink Stateflow workshop
Simulink Stateflow workshopMATLABISRAEL
ย 
Unit testing for Cocoa developers
Unit testing for Cocoa developersUnit testing for Cocoa developers
Unit testing for Cocoa developersGraham Lee
ย 

What's hot (20)

HP Quick Test Professional
HP Quick Test ProfessionalHP Quick Test Professional
HP Quick Test Professional
ย 
Chris brown ti
Chris brown tiChris brown ti
Chris brown ti
ย 
H S
H SH S
H S
ย 
Distributed Model Validation with Epsilon
Distributed Model Validation with EpsilonDistributed Model Validation with Epsilon
Distributed Model Validation with Epsilon
ย 
Validation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environmentValidation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environment
ย 
Dependable Systems -Dependability Attributes (5/16)
Dependable Systems -Dependability Attributes (5/16)Dependable Systems -Dependability Attributes (5/16)
Dependable Systems -Dependability Attributes (5/16)
ย 
Dependable Systems -Dependability Threats (2/16)
Dependable Systems -Dependability Threats (2/16)Dependable Systems -Dependability Threats (2/16)
Dependable Systems -Dependability Threats (2/16)
ย 
Design for Testability
Design for TestabilityDesign for Testability
Design for Testability
ย 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
ย 
Dependable Systems -Software Dependability (15/16)
Dependable Systems -Software Dependability (15/16)Dependable Systems -Software Dependability (15/16)
Dependable Systems -Software Dependability (15/16)
ย 
Strickland dvclub
Strickland dvclubStrickland dvclub
Strickland dvclub
ย 
Dependable Systems -Fault Tolerance Patterns (4/16)
Dependable Systems -Fault Tolerance Patterns (4/16)Dependable Systems -Fault Tolerance Patterns (4/16)
Dependable Systems -Fault Tolerance Patterns (4/16)
ย 
Visual Studio Profiler
Visual Studio ProfilerVisual Studio Profiler
Visual Studio Profiler
ย 
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...
ย 
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
Dependable Systems - Structure-Based Dependabiilty Modeling (6/16)
ย 
Mini training - Moving to xUnit.net
Mini training - Moving to xUnit.netMini training - Moving to xUnit.net
Mini training - Moving to xUnit.net
ย 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
ย 
Taking a Test Drive: iOS Dev UK guide to TDD
Taking a Test Drive: iOS Dev UK guide to TDDTaking a Test Drive: iOS Dev UK guide to TDD
Taking a Test Drive: iOS Dev UK guide to TDD
ย 
Simulink Stateflow workshop
 Simulink Stateflow workshop Simulink Stateflow workshop
Simulink Stateflow workshop
ย 
Unit testing for Cocoa developers
Unit testing for Cocoa developersUnit testing for Cocoa developers
Unit testing for Cocoa developers
ย 

Similar to Learning on Deep Learning

The_Little_Jenkinsfile_That_Could
The_Little_Jenkinsfile_That_CouldThe_Little_Jenkinsfile_That_Could
The_Little_Jenkinsfile_That_CouldShelley Lambert
ย 
Into The Box 2018 | Assert control over your legacy applications
Into The Box 2018 | Assert control over your legacy applicationsInto The Box 2018 | Assert control over your legacy applications
Into The Box 2018 | Assert control over your legacy applicationsOrtus Solutions, Corp
ย 
Performance Test Driven Development with Oracle Coherence
Performance Test Driven Development with Oracle CoherencePerformance Test Driven Development with Oracle Coherence
Performance Test Driven Development with Oracle Coherencearagozin
ย 
SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021Shelley Lambert
ย 
Java Performance Testing for Everyone - Shelley Lambert
Java Performance Testing for Everyone - Shelley LambertJava Performance Testing for Everyone - Shelley Lambert
Java Performance Testing for Everyone - Shelley LambertEclipse Day India
ย 
VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)Rob Hale
ย 
Web Application Release
Web Application ReleaseWeb Application Release
Web Application ReleasePiyush Mattoo
ย 
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
190711_Testbirds_Selenium_eclipsecon_FINAL_0.pptNaviAningi
ย 
KKSD_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
KKSD_Testbirds_Selenium_eclipsecon_FINAL_0.pptKKSD_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
KKSD_Testbirds_Selenium_eclipsecon_FINAL_0.pptKiran Kumar SD
ย 
DealingwithVerificationDataOverload
DealingwithVerificationDataOverloadDealingwithVerificationDataOverload
DealingwithVerificationDataOverloadShelley Lambert
ย 
Ch11lect1 ud
Ch11lect1 udCh11lect1 ud
Ch11lect1 udAhmet Balkan
ย 
How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?Dmitry Buzdin
ย 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Shelley Lambert
ย 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profilerIhor Bobak
ย 
Sledgehammer to Fine Brush for QA
Sledgehammer to Fine Brush for QASledgehammer to Fine Brush for QA
Sledgehammer to Fine Brush for QAShelley Lambert
ย 
IGCSE Chapter 7 System life cycle Development, Section Development and Testing
IGCSE Chapter 7 System life cycle Development, Section Development and TestingIGCSE Chapter 7 System life cycle Development, Section Development and Testing
IGCSE Chapter 7 System life cycle Development, Section Development and Testingmlmihjaz
ย 
Q con shanghai2013-็ฝ—ๅฉท-performance methodology
Q con shanghai2013-็ฝ—ๅฉท-performance methodologyQ con shanghai2013-็ฝ—ๅฉท-performance methodology
Q con shanghai2013-็ฝ—ๅฉท-performance methodologyMichael Zhang
ย 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to useUma Ghotikar
ย 
May: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesMay: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesTriTAUG
ย 
Functional Tests. PHP Unconf 2016
Functional Tests. PHP Unconf 2016Functional Tests. PHP Unconf 2016
Functional Tests. PHP Unconf 2016Vladislav Fedorischev
ย 

Similar to Learning on Deep Learning (20)

The_Little_Jenkinsfile_That_Could
The_Little_Jenkinsfile_That_CouldThe_Little_Jenkinsfile_That_Could
The_Little_Jenkinsfile_That_Could
ย 
Into The Box 2018 | Assert control over your legacy applications
Into The Box 2018 | Assert control over your legacy applicationsInto The Box 2018 | Assert control over your legacy applications
Into The Box 2018 | Assert control over your legacy applications
ย 
Performance Test Driven Development with Oracle Coherence
Performance Test Driven Development with Oracle CoherencePerformance Test Driven Development with Oracle Coherence
Performance Test Driven Development with Oracle Coherence
ย 
SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021SledgehammerToFinebrush_Devnexus_2021
SledgehammerToFinebrush_Devnexus_2021
ย 
Java Performance Testing for Everyone - Shelley Lambert
Java Performance Testing for Everyone - Shelley LambertJava Performance Testing for Everyone - Shelley Lambert
Java Performance Testing for Everyone - Shelley Lambert
ย 
VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)
ย 
Web Application Release
Web Application ReleaseWeb Application Release
Web Application Release
ย 
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
190711_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
ย 
KKSD_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
KKSD_Testbirds_Selenium_eclipsecon_FINAL_0.pptKKSD_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
KKSD_Testbirds_Selenium_eclipsecon_FINAL_0.ppt
ย 
DealingwithVerificationDataOverload
DealingwithVerificationDataOverloadDealingwithVerificationDataOverload
DealingwithVerificationDataOverload
ย 
Ch11lect1 ud
Ch11lect1 udCh11lect1 ud
Ch11lect1 ud
ย 
How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?How to Build Your Own Test Automation Framework?
How to Build Your Own Test Automation Framework?
ย 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
ย 
Hadoop cluster performance profiler
Hadoop cluster performance profilerHadoop cluster performance profiler
Hadoop cluster performance profiler
ย 
Sledgehammer to Fine Brush for QA
Sledgehammer to Fine Brush for QASledgehammer to Fine Brush for QA
Sledgehammer to Fine Brush for QA
ย 
IGCSE Chapter 7 System life cycle Development, Section Development and Testing
IGCSE Chapter 7 System life cycle Development, Section Development and TestingIGCSE Chapter 7 System life cycle Development, Section Development and Testing
IGCSE Chapter 7 System life cycle Development, Section Development and Testing
ย 
Q con shanghai2013-็ฝ—ๅฉท-performance methodology
Q con shanghai2013-็ฝ—ๅฉท-performance methodologyQ con shanghai2013-็ฝ—ๅฉท-performance methodology
Q con shanghai2013-็ฝ—ๅฉท-performance methodology
ย 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to use
ย 
May: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesMay: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and Challenges
ย 
Functional Tests. PHP Unconf 2016
Functional Tests. PHP Unconf 2016Functional Tests. PHP Unconf 2016
Functional Tests. PHP Unconf 2016
ย 

Recently uploaded

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
ย 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
ย 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
ย 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
ย 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
ย 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
ย 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
ย 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
ย 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
ย 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
ย 
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Steffen Staab
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
ย 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
ย 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
ย 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
ย 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanโ€™s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanโ€™s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanโ€™s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanโ€™s ...OnePlan Solutions
ย 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
ย 
Vip Call Girls Noida โžก๏ธ Delhi โžก๏ธ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida โžก๏ธ Delhi โžก๏ธ 9999965857 No Advance 24HRS LiveVip Call Girls Noida โžก๏ธ Delhi โžก๏ธ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida โžก๏ธ Delhi โžก๏ธ 9999965857 No Advance 24HRS Live
ย 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
ย 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
ย 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
ย 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
ย 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
ย 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
ย 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
ย 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
ย 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
ย 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
ย 
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
ย 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ย 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
ย 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
ย 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanโ€™s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanโ€™s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanโ€™s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlanโ€™s ...
ย 

Learning on Deep Learning

  • 1. Learning about Deep Learning Applications for OpenJDK verification @ShelleyMLambert and Longyu Zhang AdoptOpenJDK, Eclipse OpenJ9, Eclipse OMR Verification
  • 2. Intro & Motivation โ€ข Early days, thought-starter โ€ข Explore and experiment, determine feasibility โ€ข Revive projects in waiting โ€ข Make test better *from Professor Andrew Ng AQA Test Data โ€œVirtuous Circle for AIโ€* as applied to verification โ€ข Create/gather tests โ€ข Run tests โ€ข Gather data from runs โ€ข Make test better
  • 3. What is Deep Learning? Deep learning is a subset of ML algorithms distinguished by: โ€ข Loosely based on structure and function of the brain, use artificial neural networks (ANN) โ€ข Multiple layers of processing units, โ€œneuronsโ€, output of a layer is input to another layer โ€ข Modes of learning, supervised (regression, classification) or unsupervised (pattern analysis)
  • 4. Remember Your Math Computationally Heavy โ€ข Non-linear functions applied at each layer (sigmoid, tanh, ReLU, etc) โ€ข Forward/Backward propagation, derivatives, gradient descent โ€ข Weight adjustment (the action to improve) โ€ข Human level error โ€ข Training set error โ€ข Dev set error โ€ข Next step is known, when in doubt add more data bias variance
  • 5. The Process Select problem Determine features Gather examples Learn Adjust weights (update model/ heuristic) Apply deep learning?
  • 6. Guidance for Problem Selection โ€ข Anything that a human can do with a second of thought, can be automated with AI* โ€ข Where are you data-rich? โ€ข Parked ideas, waiting for the right tool/approach โ€ข Outputs that help drive next actions *from Professor Andrew Ng
  • 7. Data-hungry DL what we can feed it? โ€ข Code reviews โ€ข Static analysis โ€ข Pull requests โ€ข Code coverage values โ€ข Test output โ€“ Verbose console, result status, exceptions, trace info, benchmark results, GC/JIT logs, cores, instrumented data โ€ข Github issues / cores โ€ข Job schedules, execution times โ€ข Machine config info / status static dynamic peripheral
  • 11. zlinuxzlinux QA is Swimming in Data Test output: โ€ข Vast amounts of data per day: โ€“ 6 impls (openj9/15, hotspot/18, ibm/22, sap/1, corretto/3, upstream/3) โ€“ sum([15,18,22,1,3,3]) = 62 impl_spec value โ€“ 250,000+ unique tests โ€“ 6 versions (8, 9, 10, 11, 12, 13, 14, 15, 16, Valhalla) โ€“ ~36 variants (unique inputs / commandline options) โ€ข Impls_specsTotal x numTests x versions โ€“ 62x250000x6=93,000,000 โ€“ With variants -> 93,000,000x36=3,348,000,000 tests run OpenJ9 Hotspot SAP IBM 8 11 14 15 16 + osxosx aix win xlinux plinux zlinux openjdk functional perf system external Corretto Upstream R.H. aarch64 riscv Valhalla Conservative estimate, excludes PR & Docker image testing
  • 12. Activities (and Questions) Related to Test Plan Implement Automate Execute Triage Exclude Report What? How? How often? How easy? How few? How fast? What failed? Why? What next? Decompose into a set of services by test activity, services to help answer the questions and take next actions.
  • 13. A lot of questions. A lot of data. What next?
  • 14. Past Prototypes Revisited ResultAnalytics Data Services UI Layer Cores raw refined custom dashboardother clients TestGeneration BenchEngineCoreAnalytics TestSelection BugPrediction InputOptions ResultSummary ResultCompare github repos Jenkins servers TRSS
  • 15. Core Analytics Service โ€ข visualize & analyze data from cores โ€ข predict crashes based on data mined from core files
  • 16. Bug Prediction Service โ€ข Scores per file based on โ€˜recentโ€™ changes due to defects (github PRs/issues), predict based on change & defect history, other features?
  • 17. Input Options Service โ€ข Input Options Service โ€“ grabs input options defined in tests at start of a build, names and stores them (unique sentences of options), for sharing with other builds/tests, can reply whether inputs are valid for particular platforms
  • 18. Deep Learning Service ResultAnalytics Data Services UI Layer Cores raw refined custom dashboardother clients TestGeneration BenchEngineCoreAnalytics TestSelection BugPrediction InputOptions ResultSummary ResultCompare github repos Jenkins servers DL service
  • 19. Areas of Interest โ€ข Test generation (write tests for me) โ€ข Find or predict defects โ€“ fuzz testing to verify compilers, to find security vulnerabilities โ€“ bug prediction โ€ข Triage failures โ€“ Categorization, which component is root cause of failure? โ€ข Next action post-failure โ€“ Binary classifier, is โ€˜realโ€™ defect or not โ€ข Analyze performance โ€“ Predict if changes will improve performance or not, by how much? โ€ข Optimize machine usage, lab reqs โ€“ Optimize automation, scheduling โ€“ Predict test execution time, predict if a test run will fail โ€ข Replace myself with automation
  • 20. Model Building Version Variants used Things we know (input layer) Failure expression Platform Impl Machine โ€˜ageโ€™ Failure age PR list Find/predict bugs Things we want to know (output layer) Bug prediction scores Triage failures Predict perf Optimize usage Write tests Next best action
  • 21. DL Projects in Progress
  • 22. DeepSmith (CAS project*) โ€ข Automatically generating test programs with deep learning technology to verify compilers & find security vulnerabilities. *with Professor Hugh Leather from University of Edinburgh Scraped 400 GB Java Program from GitHub Train DL model with LSTM (Long Short-Term Memory) to automatically generate more Java Tests Compare outputs to verify compilers & find vulnerabilities A/B Testing with different JDKs/JVMs on Jenkins JDK 8 with OpenJ9 JDK 11 with OpenJ9 JDK 11 with Hotspot JDK 11 with Corretto A/B Testing with various JIT settings on Jenkins JIT enabled JIT disabled
  • 23. โ€ข Analyzing test outputs with deep learning to classify test result types: success or failure (compiler crash, build timeout, build failure, program crash, wrong output). *consulting with IBM Machine Learning Hub Archive test outputs and results from Jenkins Store test data into database Pre-process data (use tf-idf to generate vocabulary) Train DL model to classify test results (weighted model, dropout layer, early stopping) Evaluate DL model with metrics (precision, recall) Continuous improvement with more data and models Apply developed DL model to analyze test outputs Test Output Analysis*
  • 24. โ€ข Utilize deep learning model to recommend possible GitHub issues related to test failures. Collect Issues from GitHub repos Pre-process issue contents Train DL model to classify multiple issues Evaluate DL model with TRSS/Jenkins output Continuous improvement with more data and models Deploy DL model in TRSS to recommend related issues Recommend Related GitHub Issues
  • 25. Demo
  • 26. Plans Forward โ€ข Build skills โ€ข Groundwork โ€ข Tools enhancements โ€ข Model/deploy, observe & measure โ€ข Collaborate & innovate โ€“ researchers/universities โ€ข Leverage useful models in open projects โ€“ Incorporate into pipelines/workflows
  • 27. References โ€ข Papers from Hugh Leather โ€“ Compiler Fuzzing through Deep Learning โ€“ End to End Deep Learning of Optimization Heuristics โ€“ Synthesizing Benchmarks for Predictive Modeling โ€ข Videos & course work from Prof Andrew Ng โ€“ Artificial Intelligence is the New Electricity โ€“ Coursera: Deep Learning Specialization courses โ€ข Bug prediction paper: *BugCache for Inspections: Hit or Miss?