SlideShare a Scribd company logo
1 of 31
Test Amplification
in the Pharo Smalltalk Ecosystem
Mehrdad Abdi, Henrique Rocha, Serge Demeyer
Unit Testing
Test Suite Program (Unit under test)
S
A
Test Case
S
A
S
A
S
A
2
Covers
Test Case
S
A
Setup
Assertion
b := SmallBank new.
b deposit: 10.
b deposit: 90.
b withdraw: 99.
self assert: b balance equals: 0
❌
3
self assert: b balance equals: 100.
✅
Mutation Testing
S
A
S
A
S
A
Test Suite
P1 P2
P3 P4
Mutation
☠️
☠️
🤪
🤪
4
Test Amplification
S
A
S
A
S
A
Test Suite
S’
A
S’
A
S’
A’
Amplified Test Suite Program (Unit under test)
5
Test amplification consists of the automatic transformation of
an existing manually written test suite, to enhance a specific,
measurable property.
6
Definition:
[Danglot 2018] Benjamin Danglot, Oscar Vera-Perez, Zhongxing Yu, Andy Zaidman, Martin Monperrus,
and Benoit Baudry. 2018. A Snowballing Literature Study on Test Amplification. arXiv paper
1705.10692v2 (2018).
SMALL-AMP
• SMALL-AMP is a replication of Dspot [Danglot 2019] in Pharo
• And is yet under development
• DSpot is based on 2 techniques:
• Input amplification
• Evolutionary test generation [Tonella, 2004]
• Assert amplification
• Test oracle generation [Xie, 2006]
7
[Tonella, 2004] Paolo Tonella. 2004. Evolutionary testing of classes. Proceedings of the 2004 ACM SIGSOFT international
symposium on Software testing and analysis - ISSTA ’04 (2004).
[Xie, 2006] Tao Xie. 2006. Augmenting Automatically Generated Unit-Test Suites with Regression Oracle Checking. Lecture Notes
in Computer Science (2006), 380–403.
[Danglot 2019] Benjamin Danglot, Oscar Luis Vera-Pérez, Benoit Baudry, and Martin Monperrus. 2019. Automatic Test Improvement
with DSpot: a Study with Ten Mature Open-Source Projects. Empirical Software Engineering, Springer Verlag (2019).
Initial population
8
S2
A2
S3
A3
S1
A1
…
Stripping: Removing assertions
S2
A2
S3
A3
S1
A1
…
S2
S3
S1
…
Stripping
9
Mutating: New versions of test-cases
Mutating
S2
S3
S1
…
S2
S3
S1
…
S2-1
S3-1
S1-1
…
S2-2
S3-2
S1-2
…
…
…
…
10
Carving: Inserting observation points
Carving
S2*
S3*
S1*
…
S2-1*
S3-1*
S1-1*
…
S2-2*
S3-2*
S1-2*
…
…
…
…
S2
S3
S1
…
S2-1
S3-1
S1-1
…
S2-2
S3-2
S1-2
…
…
…
…
11
Running: Executing test-cases
Running
… … …
…
…
…
… … …
…
…
…
S2*
S3*
S1*
S2-1
S3-1*
S1-1*
S2-2*
S3-2*
S1-2*
S2*
S3*
S1*
S2-1
S3-1*
S1-1*
S2-2*
S3-2*
S1-2*
m1
m2
m3
m1-1
m2-1
m3-1
m1-2
m2-2
m3-2
12
Assert Generation
Assert-G
… … …
…
…
…
…
…
…
… … …
S2*
S3*
S1*
S2-1
S3-1*
S1-1*
S2-2*
S3-2*
S1-2*
m1
m2
m3
m1-1
m2-1
m3-1
m1-2
m2-2
m3-2
S2
S3
S1
S2-1
S3-1
S1-1
S2-2
S3-2
S1-2
A1
A1
A1
A1-1 A1-2
A2-1 A2-2
A3-1 A3-2
13
Selection
Selection
…
…
…
…
… … …
S2
S3
S1
S2-1
S3-1
S1-1
S2-2
S3-2
S1-2
A1
A1
A1
A1-1 A1-2
A2-1 A2-2
A3-1 A3-2
S2-1
A2-1
S3-2
A3-2
S7-6
A7-6
14
Selection
S1
A1
S1-1
A1-1
S1-2
A1-2
P1
P2
P3
P4
Original test-case
Amplified test-case
Amplified test-case
Kills
Mutants
👍
15
Iteration N time
S2
A2
S3
A3
S1
A1
… …
Next Generation
S2-1
A2-1
S3-2
A3-2
S7-6
A7-6
16
S1
A1
S1 S1-2S1-2
S1-2
S1-2S1-2
S1-2*
S1-2S1-2
S1-2*
m1-2
S2-1
A2-1
S2-1
A2-1
S1-2
A1-2
S1-1
A1-1
Stripping Mutating
Selecting
Repeating N times
Assert Generating
Carving
Running
Input Amplification
Assert Amplification17
Implementation
18https://github.com/mabdi/small-amp
19
Mutation coverage
20
Lesson learned 1: Dynamic Language
• Lack of static type system
• Test body mutating
• Literal mutation
• Mutation analysis (Selection)
• Former works: Smutant and MuTalk
• Assert generation
• It’s a dynamic process
• Different structure
• Cascades and nested message sends
• Easy to normalize
• Blocks (it’s ignored currently!)
21
Lesson learned 2: The costs
• Number of temp variables
• Assert amplify costs
• Small number of iterations
• Small N -> No evolution!
22
23
24
Run time performance per iteration
25
Lesson learned 3: Ugly result
• Hard to understand
• Hard to maintain
26
27
Too many temp
variables
Too many
assert
statements.
Strange
random
values
Some checks
make no sense!
Or are redundant
We have implemented
• Clean-up extra code after each generation
• Identify assertion statements that are redundant
• Discard extra temp variables
28
29
Next directions
• Using test amplification in real application
• With a mature test suite
• Make generated tests more understandable
• Modeling good tests
• Building good tests
30
We welcome
• Suggestions
• Collaborations
• Real applications
• And else …
31

More Related Content

Similar to Test Amplification 
in the Pharo Smalltalk Ecosystem

FYP_Final_Presentation
FYP_Final_PresentationFYP_Final_Presentation
FYP_Final_Presentation
Xiao Teng
 
Using capability assessment during product design
Using capability assessment during product designUsing capability assessment during product design
Using capability assessment during product design
Mark Turner CRP
 
Descriptive analytics in r programming language
Descriptive analytics in r programming languageDescriptive analytics in r programming language
Descriptive analytics in r programming language
Ashwini Mathur
 
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Sangmin Park
 
Evaluating Simulation Software Components with Player Rating Systems (SIMUToo...
Evaluating Simulation Software Components with Player Rating Systems (SIMUToo...Evaluating Simulation Software Components with Player Rating Systems (SIMUToo...
Evaluating Simulation Software Components with Player Rating Systems (SIMUToo...
Roland Ewald
 
Dave Bhaumik Kishorkumar_Portfolio
Dave Bhaumik Kishorkumar_PortfolioDave Bhaumik Kishorkumar_Portfolio
Dave Bhaumik Kishorkumar_Portfolio
Bhaumik Dave
 
Topics in TeX and LaTeX: Selected packages, programming, and Overleaf updates
Topics in TeX and LaTeX: Selected packages, programming, and Overleaf updatesTopics in TeX and LaTeX: Selected packages, programming, and Overleaf updates
Topics in TeX and LaTeX: Selected packages, programming, and Overleaf updates
Hoffman Lab
 
Dynamic shear stress evaluation on micro turning tool using photoelasticity
Dynamic shear stress evaluation on micro turning tool using photoelasticityDynamic shear stress evaluation on micro turning tool using photoelasticity
Dynamic shear stress evaluation on micro turning tool using photoelasticity
Soumen Mandal
 

Similar to Test Amplification 
in the Pharo Smalltalk Ecosystem (20)

A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
 A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn... A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
A Framework for Robust Control of Uncertainty in Self-Adaptive Software Conn...
 
FYP_Final_Presentation
FYP_Final_PresentationFYP_Final_Presentation
FYP_Final_Presentation
 
Binary Analysis - Luxembourg
Binary Analysis - LuxembourgBinary Analysis - Luxembourg
Binary Analysis - Luxembourg
 
RCIM 2008 - Modello Generale
RCIM 2008 - Modello GeneraleRCIM 2008 - Modello Generale
RCIM 2008 - Modello Generale
 
Electrodeposition of Indium Sulfide (In2S3) Films on Molybdenum-coated Glass
Electrodeposition of Indium Sulfide (In2S3) Films on Molybdenum-coated GlassElectrodeposition of Indium Sulfide (In2S3) Films on Molybdenum-coated Glass
Electrodeposition of Indium Sulfide (In2S3) Films on Molybdenum-coated Glass
 
FASTEST: Test Case Generation from Z Specifications
FASTEST: Test Case Generation from Z SpecificationsFASTEST: Test Case Generation from Z Specifications
FASTEST: Test Case Generation from Z Specifications
 
Using capability assessment during product design
Using capability assessment during product designUsing capability assessment during product design
Using capability assessment during product design
 
Robust Design
Robust DesignRobust Design
Robust Design
 
Finding Bugs, Fixing Bugs, Preventing Bugs - Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs - Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs - Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs - Exploiting Automated Tests to In...
 
Descriptive analytics in r programming language
Descriptive analytics in r programming languageDescriptive analytics in r programming language
Descriptive analytics in r programming language
 
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
Griffin: Grouping Suspicious Memory-Access Patterns to Improve Understanding...
 
A Cooperative Coevolutionary Approach to Maximise Surveillance Coverage of UA...
A Cooperative Coevolutionary Approach to Maximise Surveillance Coverage of UA...A Cooperative Coevolutionary Approach to Maximise Surveillance Coverage of UA...
A Cooperative Coevolutionary Approach to Maximise Surveillance Coverage of UA...
 
Evaluating Simulation Software Components with Player Rating Systems (SIMUToo...
Evaluating Simulation Software Components with Player Rating Systems (SIMUToo...Evaluating Simulation Software Components with Player Rating Systems (SIMUToo...
Evaluating Simulation Software Components with Player Rating Systems (SIMUToo...
 
Restricting the Flow: Information Bottlenecks for Attribution
Restricting the Flow: Information Bottlenecks for AttributionRestricting the Flow: Information Bottlenecks for Attribution
Restricting the Flow: Information Bottlenecks for Attribution
 
Algebra and Trigonometry 9th Edition Larson Solutions Manual
Algebra and Trigonometry 9th Edition Larson Solutions ManualAlgebra and Trigonometry 9th Edition Larson Solutions Manual
Algebra and Trigonometry 9th Edition Larson Solutions Manual
 
Dave Bhaumik Kishorkumar_Portfolio
Dave Bhaumik Kishorkumar_PortfolioDave Bhaumik Kishorkumar_Portfolio
Dave Bhaumik Kishorkumar_Portfolio
 
The Ring programming language version 1.9 book - Part 10 of 210
The Ring programming language version 1.9 book - Part 10 of 210The Ring programming language version 1.9 book - Part 10 of 210
The Ring programming language version 1.9 book - Part 10 of 210
 
Topics in TeX and LaTeX: Selected packages, programming, and Overleaf updates
Topics in TeX and LaTeX: Selected packages, programming, and Overleaf updatesTopics in TeX and LaTeX: Selected packages, programming, and Overleaf updates
Topics in TeX and LaTeX: Selected packages, programming, and Overleaf updates
 
Cloud-Star Notes V1,V2,V3.pdf
Cloud-Star Notes V1,V2,V3.pdfCloud-Star Notes V1,V2,V3.pdf
Cloud-Star Notes V1,V2,V3.pdf
 
Dynamic shear stress evaluation on micro turning tool using photoelasticity
Dynamic shear stress evaluation on micro turning tool using photoelasticityDynamic shear stress evaluation on micro turning tool using photoelasticity
Dynamic shear stress evaluation on micro turning tool using photoelasticity
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
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
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

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...
 
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-...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
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 ...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
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
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 

Test Amplification 
in the Pharo Smalltalk Ecosystem