SlideShare una empresa de Scribd logo
1 de 37
Nighthawk: A Two-Level Genetic-Random Unit Test Data Generator Jamie Andrews and Felix C. H. Li Department of Computer Science University of Western Ontario Tim Menzies Lane Department of Computer Science West Virginia University
Plan of Talk ,[object Object],[object Object],[object Object],[object Object],[object Object]
Randomized Testing ,[object Object],[object Object],[object Object],[object Object]
Effectiveness of Randomized Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Unit Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],How many TreeMaps to store? When to reuse TreeMaps?
Randomized Unit Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example: TreeMap ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Genetic Algorithms (GA) ,[object Object]
Genetic Algorithms (GA) ,[object Object]
Genetic Algorithms (GA) ,[object Object]
Genetic Algorithms (GA) ,[object Object]
GAs and Testing ,[object Object],[object Object],[object Object]
Nighthawk: Randomized Testing Level ,[object Object],[object Object],[object Object],[object Object]
Randomized Testing Level:  Details ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Value Pools and Methods TreeMap int Employee . . . . . . . . . . . . . . . . . . . . . . ... t.put(e, i); "value reuse policy"
GA Level:  Chromosomes ,[object Object],[object Object]
Genes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Initialization
Cloning
Mutation, Recombination
Fitness Evaluation 4324 4300 4288 3696 3559 3331 3278 3277 3000
Sorting 4300 4288 3696 3559 3278 3000 4324 3331 3277
Retention 4300 4288 4324
Fitness Function (number of lines covered) * 1000 - (number of method calls) brake on test case length reward for high coverage
Empirical Evaluation ,[object Object],[object Object],[object Object]
Comparison to Previous Studies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Case Study:  java.util ,[object Object],[object Object],[object Object]
Results – Coverage (Lines) Enriched test wrappers Deep target analysis Both ... 325 (.92) 252 253 205 355 Hashtable 44 (.96) 26 40 24 46 HashSet 347 (.96) 305 265 238 360 HashMap 7 (.03) 10 9 7 239 EnumMap 140 (.93) 109 140 111 150 ArrayList ED PD EN PN SLOC Source
Results – Time (Clock Sec.) ... 157 110 110 8 Hashtable 39 27 29 25 HashSet 176 136 37 63 HashMap 5 6 9 3 EnumMap 48 29 91 75 ArrayList ED PD EN PN Source
Results - Analysis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusions ,[object Object],[object Object],[object Object]
Future Work ,[object Object],[object Object],[object Object],[object Object],[object Object]
Thank you!
Oracle:  Test Wrapper Class ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Enriched (E) Test Wrappers ,[object Object],[object Object],[object Object],[object Object]
Normal (N) Target Analysis ,[object Object],[object Object],B: Classes of params of A methods A:  Classes named by user All classes
Deep (D) Target Analysis ,[object Object],[object Object],B: Classes of params of A methods C: Classes of params of B methods A:  Classes named by user All classes

Más contenido relacionado

La actualidad más candente

Seminar Slides
Seminar SlidesSeminar Slides
Seminar Slides
pannicle
 

La actualidad más candente (20)

Metabolomic Data Analysis Case Studies
Metabolomic Data Analysis Case StudiesMetabolomic Data Analysis Case Studies
Metabolomic Data Analysis Case Studies
 
Prote-OMIC Data Analysis and Visualization
Prote-OMIC Data Analysis and VisualizationProte-OMIC Data Analysis and Visualization
Prote-OMIC Data Analysis and Visualization
 
Data Normalization Approaches for Large-scale Biological Studies
Data Normalization Approaches for Large-scale Biological StudiesData Normalization Approaches for Large-scale Biological Studies
Data Normalization Approaches for Large-scale Biological Studies
 
Analysis of the Datasets
Analysis of the DatasetsAnalysis of the Datasets
Analysis of the Datasets
 
Normalization of Large-Scale Metabolomic Studies 2014
Normalization of Large-Scale Metabolomic Studies 2014Normalization of Large-Scale Metabolomic Studies 2014
Normalization of Large-Scale Metabolomic Studies 2014
 
Data mining chapter04and5-best
Data mining chapter04and5-bestData mining chapter04and5-best
Data mining chapter04and5-best
 
Improving Spam Mail Filtering Using Classification Algorithms With Partition ...
Improving Spam Mail Filtering Using Classification Algorithms With Partition ...Improving Spam Mail Filtering Using Classification Algorithms With Partition ...
Improving Spam Mail Filtering Using Classification Algorithms With Partition ...
 
Metabolomic Data Analysis Workshop and Tutorials (2014)
Metabolomic Data Analysis Workshop and Tutorials (2014)Metabolomic Data Analysis Workshop and Tutorials (2014)
Metabolomic Data Analysis Workshop and Tutorials (2014)
 
6 classification
6 classification6 classification
6 classification
 
Case Study: Overview of Metabolomic Data Normalization Strategies
Case Study: Overview of Metabolomic Data Normalization StrategiesCase Study: Overview of Metabolomic Data Normalization Strategies
Case Study: Overview of Metabolomic Data Normalization Strategies
 
7 network mapping i
7  network mapping i7  network mapping i
7 network mapping i
 
ICSE10b.ppt
ICSE10b.pptICSE10b.ppt
ICSE10b.ppt
 
Optimal rule set generation using pso algorithm
Optimal rule set generation using pso algorithmOptimal rule set generation using pso algorithm
Optimal rule set generation using pso algorithm
 
0 introduction
0  introduction0  introduction
0 introduction
 
A Mathematical Programming Approach for Selection of Variables in Cluster Ana...
A Mathematical Programming Approach for Selection of Variables in Cluster Ana...A Mathematical Programming Approach for Selection of Variables in Cluster Ana...
A Mathematical Programming Approach for Selection of Variables in Cluster Ana...
 
High Dimensional Biological Data Analysis and Visualization
High Dimensional Biological Data Analysis and VisualizationHigh Dimensional Biological Data Analysis and Visualization
High Dimensional Biological Data Analysis and Visualization
 
An introduction to variable and feature selection
An introduction to variable and feature selectionAn introduction to variable and feature selection
An introduction to variable and feature selection
 
Spss tutorial-cluster-analysis
Spss tutorial-cluster-analysisSpss tutorial-cluster-analysis
Spss tutorial-cluster-analysis
 
Orthogonal array approach a case study
Orthogonal array approach   a case studyOrthogonal array approach   a case study
Orthogonal array approach a case study
 
Seminar Slides
Seminar SlidesSeminar Slides
Seminar Slides
 

Destacado

Team FatBird - Operation NightHawk 2010
Team FatBird - Operation NightHawk 2010Team FatBird - Operation NightHawk 2010
Team FatBird - Operation NightHawk 2010
TeamFatBird
 
American hunting species and dog breed id quiz
American hunting   species and dog breed id quizAmerican hunting   species and dog breed id quiz
American hunting species and dog breed id quiz
Jonathan Bailey
 

Destacado (20)

Mmas 102808
Mmas 102808Mmas 102808
Mmas 102808
 
Visita a sealife (power point)
Visita  a  sealife (power point)Visita  a  sealife (power point)
Visita a sealife (power point)
 
Team FatBird - Operation NightHawk 2010
Team FatBird - Operation NightHawk 2010Team FatBird - Operation NightHawk 2010
Team FatBird - Operation NightHawk 2010
 
Miracles Of The Sea (Pp Tminimizer)
Miracles Of The Sea (Pp Tminimizer)Miracles Of The Sea (Pp Tminimizer)
Miracles Of The Sea (Pp Tminimizer)
 
American hunting species and dog breed id quiz
American hunting   species and dog breed id quizAmerican hunting   species and dog breed id quiz
American hunting species and dog breed id quiz
 
Clasification of Birds
Clasification of BirdsClasification of Birds
Clasification of Birds
 
Birds
BirdsBirds
Birds
 
Lake restoration
Lake restorationLake restoration
Lake restoration
 
Birds with fleshy plumage
Birds with fleshy plumageBirds with fleshy plumage
Birds with fleshy plumage
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
 
Breeds of duck
Breeds of duckBreeds of duck
Breeds of duck
 
Insect pest of cotton 1
Insect pest of cotton 1Insect pest of cotton 1
Insect pest of cotton 1
 
Wonderful Sea Life Part One (Pp Tminimizer)
Wonderful Sea Life Part One (Pp Tminimizer)Wonderful Sea Life Part One (Pp Tminimizer)
Wonderful Sea Life Part One (Pp Tminimizer)
 
Bird Sanctuaries in India
Bird Sanctuaries in IndiaBird Sanctuaries in India
Bird Sanctuaries in India
 
Transgenics plants
Transgenics plantsTransgenics plants
Transgenics plants
 
Bird beaks (teach)
Bird beaks (teach)Bird beaks (teach)
Bird beaks (teach)
 
Major Insect of cotton
Major Insect of cottonMajor Insect of cotton
Major Insect of cotton
 
Birds
BirdsBirds
Birds
 
TRANSGENIC CROPS
TRANSGENIC CROPSTRANSGENIC CROPS
TRANSGENIC CROPS
 
ROOT & STEM MORPHOLOGY
ROOT & STEM MORPHOLOGYROOT & STEM MORPHOLOGY
ROOT & STEM MORPHOLOGY
 

Similar a Nighthawk: A Two-Level Genetic-Random Unit Test Data Generator

Learning to Search Henry Kautz
Learning to Search Henry KautzLearning to Search Henry Kautz
Learning to Search Henry Kautz
butest
 
Learning to Search Henry Kautz
Learning to Search Henry KautzLearning to Search Henry Kautz
Learning to Search Henry Kautz
butest
 
slides
slidesslides
slides
butest
 
Integrative analysis of transcriptomics and proteomics data with ArrayMining ...
Integrative analysis of transcriptomics and proteomics data with ArrayMining ...Integrative analysis of transcriptomics and proteomics data with ArrayMining ...
Integrative analysis of transcriptomics and proteomics data with ArrayMining ...
Natalio Krasnogor
 
Sample prac exam2013
Sample prac exam2013Sample prac exam2013
Sample prac exam2013
hccit
 
IGARSS2011-I-Ling.ppt
IGARSS2011-I-Ling.pptIGARSS2011-I-Ling.ppt
IGARSS2011-I-Ling.ppt
grssieee
 
A Self-Adaptive Evolutionary Negative Selection Approach for Anom
A Self-Adaptive Evolutionary Negative Selection Approach for AnomA Self-Adaptive Evolutionary Negative Selection Approach for Anom
A Self-Adaptive Evolutionary Negative Selection Approach for Anom
Luis J. Gonzalez, PhD
 
IPA Fall Days 2019
 IPA Fall Days 2019 IPA Fall Days 2019
IPA Fall Days 2019
Annibale Panichella
 

Similar a Nighthawk: A Two-Level Genetic-Random Unit Test Data Generator (20)

P1121133727
P1121133727P1121133727
P1121133727
 
Supervised algorithms
Supervised algorithmsSupervised algorithms
Supervised algorithms
 
Learning to Search Henry Kautz
Learning to Search Henry KautzLearning to Search Henry Kautz
Learning to Search Henry Kautz
 
Learning to Search Henry Kautz
Learning to Search Henry KautzLearning to Search Henry Kautz
Learning to Search Henry Kautz
 
I2b2 2008
I2b2 2008I2b2 2008
I2b2 2008
 
slides
slidesslides
slides
 
A Hybrid Method of CART and Artificial Neural Network for Short Term Load For...
A Hybrid Method of CART and Artificial Neural Network for Short Term Load For...A Hybrid Method of CART and Artificial Neural Network for Short Term Load For...
A Hybrid Method of CART and Artificial Neural Network for Short Term Load For...
 
Integrative analysis of transcriptomics and proteomics data with ArrayMining ...
Integrative analysis of transcriptomics and proteomics data with ArrayMining ...Integrative analysis of transcriptomics and proteomics data with ArrayMining ...
Integrative analysis of transcriptomics and proteomics data with ArrayMining ...
 
Sample prac exam2013
Sample prac exam2013Sample prac exam2013
Sample prac exam2013
 
Biehl hanze-2021
Biehl hanze-2021Biehl hanze-2021
Biehl hanze-2021
 
eam2
eam2eam2
eam2
 
IGARSS2011-I-Ling.ppt
IGARSS2011-I-Ling.pptIGARSS2011-I-Ling.ppt
IGARSS2011-I-Ling.ppt
 
Automated Machine Learning Applied to Diverse Materials Design Problems
Automated Machine Learning Applied to Diverse Materials Design ProblemsAutomated Machine Learning Applied to Diverse Materials Design Problems
Automated Machine Learning Applied to Diverse Materials Design Problems
 
Heart Disease Identification Method Using Machine Learnin in E-healthcare.
Heart Disease Identification Method Using Machine Learnin in E-healthcare.Heart Disease Identification Method Using Machine Learnin in E-healthcare.
Heart Disease Identification Method Using Machine Learnin in E-healthcare.
 
Presentation on supervised learning
Presentation on supervised learningPresentation on supervised learning
Presentation on supervised learning
 
A Self-Adaptive Evolutionary Negative Selection Approach for Anom
A Self-Adaptive Evolutionary Negative Selection Approach for AnomA Self-Adaptive Evolutionary Negative Selection Approach for Anom
A Self-Adaptive Evolutionary Negative Selection Approach for Anom
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
IPA Fall Days 2019
 IPA Fall Days 2019 IPA Fall Days 2019
IPA Fall Days 2019
 
NSL KDD Cup 99 dataset Anomaly Detection using Machine Learning Technique
NSL KDD Cup 99 dataset Anomaly Detection using Machine Learning Technique NSL KDD Cup 99 dataset Anomaly Detection using Machine Learning Technique
NSL KDD Cup 99 dataset Anomaly Detection using Machine Learning Technique
 
PROGRAM TEST DATA GENERATION FOR BRANCH COVERAGE WITH GENETIC ALGORITHM: COMP...
PROGRAM TEST DATA GENERATION FOR BRANCH COVERAGE WITH GENETIC ALGORITHM: COMP...PROGRAM TEST DATA GENERATION FOR BRANCH COVERAGE WITH GENETIC ALGORITHM: COMP...
PROGRAM TEST DATA GENERATION FOR BRANCH COVERAGE WITH GENETIC ALGORITHM: COMP...
 

Más de CS, NcState

Lexisnexis june9
Lexisnexis june9Lexisnexis june9
Lexisnexis june9
CS, NcState
 
Ai4se lab template
Ai4se lab templateAi4se lab template
Ai4se lab template
CS, NcState
 
Automated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUAutomated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSU
CS, NcState
 
Dagstuhl14 intro-v1
Dagstuhl14 intro-v1Dagstuhl14 intro-v1
Dagstuhl14 intro-v1
CS, NcState
 

Más de CS, NcState (20)

Talks2015 novdec
Talks2015 novdecTalks2015 novdec
Talks2015 novdec
 
Future se oct15
Future se oct15Future se oct15
Future se oct15
 
GALE: Geometric active learning for Search-Based Software Engineering
GALE: Geometric active learning for Search-Based Software EngineeringGALE: Geometric active learning for Search-Based Software Engineering
GALE: Geometric active learning for Search-Based Software Engineering
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest link
 
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
Three Laws of Trusted Data Sharing:(Building a Better Business Case for Dat...Three Laws of Trusted Data Sharing:(Building a Better Business Case for Dat...
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
 
Lexisnexis june9
Lexisnexis june9Lexisnexis june9
Lexisnexis june9
 
Welcome to ICSE NIER’15 (new ideas and emerging results).
Welcome to ICSE NIER’15 (new ideas and emerging results).Welcome to ICSE NIER’15 (new ideas and emerging results).
Welcome to ICSE NIER’15 (new ideas and emerging results).
 
Icse15 Tech-briefing Data Science
Icse15 Tech-briefing Data ScienceIcse15 Tech-briefing Data Science
Icse15 Tech-briefing Data Science
 
Kits to Find the Bits that Fits
Kits to Find  the Bits that Fits Kits to Find  the Bits that Fits
Kits to Find the Bits that Fits
 
Ai4se lab template
Ai4se lab templateAi4se lab template
Ai4se lab template
 
Automated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUAutomated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSU
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
172529main ken and_tim_software_assurance_research_at_west_virginia
172529main ken and_tim_software_assurance_research_at_west_virginia172529main ken and_tim_software_assurance_research_at_west_virginia
172529main ken and_tim_software_assurance_research_at_west_virginia
 
Automated Software Engineering
Automated Software EngineeringAutomated Software Engineering
Automated Software Engineering
 
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)
 
Tim Menzies, directions in Data Science
Tim Menzies, directions in Data ScienceTim Menzies, directions in Data Science
Tim Menzies, directions in Data Science
 
Goldrush
GoldrushGoldrush
Goldrush
 
Dagstuhl14 intro-v1
Dagstuhl14 intro-v1Dagstuhl14 intro-v1
Dagstuhl14 intro-v1
 
Know thy tools
Know thy toolsKnow thy tools
Know thy tools
 
The Art and Science of Analyzing Software Data
The Art and Science of Analyzing Software DataThe Art and Science of Analyzing Software Data
The Art and Science of Analyzing Software Data
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Nighthawk: A Two-Level Genetic-Random Unit Test Data Generator

  • 1. Nighthawk: A Two-Level Genetic-Random Unit Test Data Generator Jamie Andrews and Felix C. H. Li Department of Computer Science University of Western Ontario Tim Menzies Lane Department of Computer Science West Virginia University
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Value Pools and Methods TreeMap int Employee . . . . . . . . . . . . . . . . . . . . . . ... t.put(e, i); "value reuse policy"
  • 16.
  • 17.
  • 21. Fitness Evaluation 4324 4300 4288 3696 3559 3331 3278 3277 3000
  • 22. Sorting 4300 4288 3696 3559 3278 3000 4324 3331 3277
  • 24. Fitness Function (number of lines covered) * 1000 - (number of method calls) brake on test case length reward for high coverage
  • 25.
  • 26.
  • 27.
  • 28. Results – Coverage (Lines) Enriched test wrappers Deep target analysis Both ... 325 (.92) 252 253 205 355 Hashtable 44 (.96) 26 40 24 46 HashSet 347 (.96) 305 265 238 360 HashMap 7 (.03) 10 9 7 239 EnumMap 140 (.93) 109 140 111 150 ArrayList ED PD EN PN SLOC Source
  • 29. Results – Time (Clock Sec.) ... 157 110 110 8 Hashtable 39 27 29 25 HashSet 176 136 37 63 HashMap 5 6 9 3 EnumMap 48 29 91 75 ArrayList ED PD EN PN Source
  • 30.
  • 31.
  • 32.
  • 34.
  • 35.
  • 36.
  • 37.