SlideShare a Scribd company logo
1 of 27
Download to read offline
Nasir AliNasir Ali, Wei Wu, Giuliano Antoniol, Max Di Penta,, Wei Wu, Giuliano Antoniol, Max Di Penta,
Yann-Gaël Guéhéneuc, Jane Huffman HayesYann-Gaël Guéhéneuc, Jane Huffman Hayes
MoMS: Multi-objective Miniaturization ofMoMS: Multi-objective Miniaturization of
SoftwareSoftware
ICSM 2011
Mom but not MoMSMom but not MoMS
ICSM 2011
Motivation
ICSM 2011
Resources vs. Feature vs. Customers
ICSM 2011
Our Goal
ICSM 2011
Different Customers – Different Features
ICSM 2011
Customer Relative Weight
ICSM 2011
Pre-requirement Elicitation andPre-requirement Elicitation and
ConsolidationConsolidation
§ We need pre-requirement documents:We need pre-requirement documents:
§ What do we have?
§ What do our customers want?
§ What is the weight of each customer?
§ We obtain and vet a list of requirements fromWe obtain and vet a list of requirements from
diverse stakeholdersdiverse stakeholders
§ We structure requirements by mapping them intoWe structure requirements by mapping them into
a representation suitable for grouping viaa representation suitable for grouping via
pattern-recognition and similarity-basedpattern-recognition and similarity-based
clusteringclustering
ICSM 2011
Static Traceability Map
Rl
mim
Ci
R2
Cp
Cr
mp1
mi1 fn
mr1
mri
ICSM 2011
Features to SizeFeatures to Size
§ Traceability relations are tagged with:Traceability relations are tagged with:
§ Size information
§ IDs and weights of customers requiring the feature
§ Features are divided into:Features are divided into:
§ Compulsory
§ Cherry on the pie
§ Selected features must lead to a compilableSelected features must lead to a compilable
system:system:
§ Extra code may be needed just to make sure that the
system compiles and runs
ICSM 2011
Features to CPU ConsumptionFeatures to CPU Consumption
§ Assumption: CPU cycles/consumption is related to energyAssumption: CPU cycles/consumption is related to energy
consumption:consumption:
§ The higher the CPU consumption, the lower the battery life
§ Binder’s JP2 profiling tool: comprehensive calling-contextBinder’s JP2 profiling tool: comprehensive calling-context
profiles:profiles:
§ Exact number of executed bytecodes for each calling context
§ Caveat: modern hardware architecture prevent exactCaveat: modern hardware architecture prevent exact
estimation based on bytecode countingestimation based on bytecode counting
§ But: bytecode counting is a good approximation of run time
algorithmic complexity.
§ The lower the number of executed bytecodes, the lower the CPU
time, the lower the battery consumption
ICSM 2011
Requirements to Features
Scenario 1
(feature a)
Scenario N
(feature z)
Scenario 2
(feature b)
…
Run System
Trace 1
Trace 2
Trace N
…
ICSM 2011
Dynamic Information*Dynamic Information*
§ Call tree:Call tree:
§ Integrate call tree information for each executed feature with
static traceability relations to count executed bytecodes
§ Evaluate CPU consumption at method level: accumulateEvaluate CPU consumption at method level: accumulate
into call-tree top nodes the counts of lower nodes:into call-tree top nodes the counts of lower nodes:
§ Top nodes thus stores sub-tree bytecode counts
§ Top nodes account for all executed bytecodes, including JARs
and utility methods
§ Caveat:Caveat:
§ Some feature may not be completely implemented
§ Some feature may not be executed due to missing
components
ICSM 2011
Miniaturization ProblemMiniaturization Problem
§ We would like to:We would like to:
§ Minimize size and CPU consumption
§ Maximize customer satisfaction
§ Constraints may be imposed on search space:Constraints may be imposed on search space:
§ Max available memory, max CPU power, customers
who must be satisfied
§ Generate a Pareto surface:Generate a Pareto surface:
§ Project Pareto surface onto a Pareto front
§ Final decision to the managerFinal decision to the manager
ICSM 2011
Miniaturization Problem (cont’d)*Miniaturization Problem (cont’d)*
{ }
{ }
{ }
{ }
{ } intervalaniswhere...HCsconstraint
ofsetameetmustthatRPpropertiesareThere
;...IUunitstionimplementaofsetahaveWe
features;OFFimplementsprogramedminiaturizA
features;desiredicustomerlist...FEach
features;optionaldesiredcustomer...OF
features;compulsoryComFofsetA
assigned;Vv0value""hascustomerEach
customers;L...
1
K
1
1i
1
max
1
jk
M
iNi
L
L
hchchc
iuiu
ff
FF
ccC
i
=
Ì
=
Í¢
=
=
££
=
ICSM 2011
Miniaturization Problem (cont’d)*Miniaturization Problem (cont’d)*
§ Traceability creates aTraceability creates a
function Impl that, given afunction Impl that, given a
feature, assignsfeature, assigns
implementation unitsimplementation units
§ Each implementation unitEach implementation unit
has properties, e.g., eachhas properties, e.g., each
method have a size and amethod have a size and a
CPU consumptionCPU consumption
§ The CustomerThe Customer
Satisfaction Ratio (CSR)Satisfaction Ratio (CSR)
is defined as:is defined as:
L
V
v
F
FF
FCSR
iL
i
i
i
max
1
)(
´
¢Ç
=¢
å=
ICSM 2011
Miniaturization Problem (cont’d)*Miniaturization Problem (cont’d)*
§ Maximize CSR(F’)Maximize CSR(F’)
means minimizemeans minimize
–CSR(F’)–CSR(F’)
§ For a given set ofFor a given set of
features F’, thefeatures F’, the
implementation unitsimplementation units
and the overalland the overall
properties are:properties are: ( )
( )( )ComFFImplProp'
ComFFImpl'
È¢=
È¢=
P
IU
ICSM 2011
Miniaturization Problem (cont’d)*
( )[ ]{ }
( ) ( )[ ] iKi
F
hcppp
FCSROF
ÎÈ="
È-
Î
i1i
2'
p:ComFF'ImplProp......|p
:such that
ComFF'ImplProp),'(min
Notice that ( )( )ComFFImplProp Ȣ
is actually an array of sizes and CPU consumptions.
Thus, a solution is a surface:
CSR = FUNC(size, CPU consumption)
ICSM 2011
Case StudiesCase Studies
§ 350 questionnaires, 73 completed surveys350 questionnaires, 73 completed surveys
§ Pooka V2.0 e-mail client:Pooka V2.0 e-mail client:
§ 208 classes
§ 20,868 methods
§ 245 KLOCs
§ 599 (93) pre-requirements
§ 30 traced features
§ Code size 5.39 MB
§ SIP V1.0 audio/video Internet phone:SIP V1.0 audio/video Internet phone:
§ 1,771 classes
§ 31,302 methods
§ 486 KLOCs
§ 639 (82) pre-requirements
§ 36 traced features
§ Code size 27.3 MB
NSGA-II ParametersNSGA-II Parameters
§ We used JMETAL:We used JMETAL:
§ Mutation probability 4%
§ Crossover 90%
§ Evaluation number 25,000
§ High iteration number to ensure that we did notHigh iteration number to ensure that we did not
miss good solutionsmiss good solutions
ICSM 2011
Pooka Projection CSR vs. Size
ICSM 2011
SIP Projection CSR vs. Size
ICSM 2011
Pooka Projection CSR vs. Size vs. CPU
ICSM 2011
SIP Projection CSR vs. Size vs. CPUSIP Projection CSR vs. Size vs. CPU
ICSM 2011
Lessons LearnedLessons Learned
§ The miniaturization process is feasible but thereThe miniaturization process is feasible but there
are challenges:are challenges:
§ Traceability recovery and accuracy of traced links
§ Collecting dynamic information is difficult:
§ Missing or not 100% implemented features
§ CPU consumption difficult to run:
§ We are still completing SIP
§ Some system (SIP) may exhibit tangledSome system (SIP) may exhibit tangled
dependencies and there may be no sweet spotdependencies and there may be no sweet spot
ICSM 2011
ConclusionConclusion
§ The porting problem was modeled as aThe porting problem was modeled as a
multi-objective minimization problemmulti-objective minimization problem
§ Equations can accommodate a wide range ofEquations can accommodate a wide range of
propertiesproperties
§ The process can be automated thus savingThe process can be automated thus saving
considerable manual effort in selecting featuresconsiderable manual effort in selecting features
to be ported:to be ported:
§ Yet not in validating traceability links if links do not exist
ICSM 2011
Questions
ICSM 2011

More Related Content

Similar to Icsm11a.ppt

Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"LogeekNightUkraine
 
Circonus: Design failures - A Case Study
Circonus: Design failures - A Case StudyCirconus: Design failures - A Case Study
Circonus: Design failures - A Case StudyHeinrich Hartmann
 
VMWorld 2004 - Justifying the transition from Physical to Virtual
VMWorld 2004 - Justifying the transition from Physical to VirtualVMWorld 2004 - Justifying the transition from Physical to Virtual
VMWorld 2004 - Justifying the transition from Physical to VirtualDavid Kent
 
Top 5 performance and capacity challenges for z/OS
Top 5 performance and capacity challenges for z/OS Top 5 performance and capacity challenges for z/OS
Top 5 performance and capacity challenges for z/OS Metron
 
Service Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsService Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsDevOps for Enterprise Systems
 
Performance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessPerformance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessAlexander Podelko
 
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...NetworkCollaborators
 
Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingChris Bailey
 
James Tomaney - Automated Testing for the ATM Channel
James Tomaney - Automated Testing for the ATM Channel James Tomaney - Automated Testing for the ATM Channel
James Tomaney - Automated Testing for the ATM Channel TEST Huddle
 
“Practical DNN Quantization Techniques and Tools,” a Presentation from Facebook
“Practical DNN Quantization Techniques and Tools,” a Presentation from Facebook“Practical DNN Quantization Techniques and Tools,” a Presentation from Facebook
“Practical DNN Quantization Techniques and Tools,” a Presentation from FacebookEdge AI and Vision Alliance
 
Accelerate Your Signature Banking Applications with IBM Storage Offerings
Accelerate Your Signature Banking Applications with IBM Storage OfferingsAccelerate Your Signature Banking Applications with IBM Storage Offerings
Accelerate Your Signature Banking Applications with IBM Storage OfferingsPaula Koziol
 
“How Do We Enable Edge ML Everywhere? Data, Reliability and Silicon Flexibili...
“How Do We Enable Edge ML Everywhere? Data, Reliability and Silicon Flexibili...“How Do We Enable Edge ML Everywhere? Data, Reliability and Silicon Flexibili...
“How Do We Enable Edge ML Everywhere? Data, Reliability and Silicon Flexibili...Edge AI and Vision Alliance
 
Cloud Computing Design Best Practices
Cloud Computing Design Best PracticesCloud Computing Design Best Practices
Cloud Computing Design Best PracticesMoshe Kaplan
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesChris Bailey
 
Cit bip v3_7.17_ally_house
Cit bip v3_7.17_ally_houseCit bip v3_7.17_ally_house
Cit bip v3_7.17_ally_houseErica Price
 
VMworld 2013: US Air National Guard - DoD Private Cloud Initiative –How Virtu...
VMworld 2013: US Air National Guard - DoD Private Cloud Initiative –How Virtu...VMworld 2013: US Air National Guard - DoD Private Cloud Initiative –How Virtu...
VMworld 2013: US Air National Guard - DoD Private Cloud Initiative –How Virtu...VMworld
 
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...Edge AI and Vision Alliance
 
Q1 2009 Earning Report of National Instruments Corp
Q1 2009 Earning Report of National Instruments CorpQ1 2009 Earning Report of National Instruments Corp
Q1 2009 Earning Report of National Instruments Corpearningreport earningreport
 
Effectively Plan for Your Move to the Cloud
Effectively Plan for Your Move to the CloudEffectively Plan for Your Move to the Cloud
Effectively Plan for Your Move to the CloudPrecisely
 
Turbo2018 workshop JIT as a Service
Turbo2018 workshop   JIT as a ServiceTurbo2018 workshop   JIT as a Service
Turbo2018 workshop JIT as a ServiceMark Stoodley
 

Similar to Icsm11a.ppt (20)

Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
Kostiantyn Yelisavenko "Mastering Macro Benchmarking in .NET"
 
Circonus: Design failures - A Case Study
Circonus: Design failures - A Case StudyCirconus: Design failures - A Case Study
Circonus: Design failures - A Case Study
 
VMWorld 2004 - Justifying the transition from Physical to Virtual
VMWorld 2004 - Justifying the transition from Physical to VirtualVMWorld 2004 - Justifying the transition from Physical to Virtual
VMWorld 2004 - Justifying the transition from Physical to Virtual
 
Top 5 performance and capacity challenges for z/OS
Top 5 performance and capacity challenges for z/OS Top 5 performance and capacity challenges for z/OS
Top 5 performance and capacity challenges for z/OS
 
Service Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsService Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise Environments
 
Performance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering ProcessPerformance Requirements: the Backbone of the Performance Engineering Process
Performance Requirements: the Backbone of the Performance Engineering Process
 
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
Cisco Connect 2018 Thailand - Cisco aci delivering intent for data center net...
 
Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance Troubleshooting
 
James Tomaney - Automated Testing for the ATM Channel
James Tomaney - Automated Testing for the ATM Channel James Tomaney - Automated Testing for the ATM Channel
James Tomaney - Automated Testing for the ATM Channel
 
“Practical DNN Quantization Techniques and Tools,” a Presentation from Facebook
“Practical DNN Quantization Techniques and Tools,” a Presentation from Facebook“Practical DNN Quantization Techniques and Tools,” a Presentation from Facebook
“Practical DNN Quantization Techniques and Tools,” a Presentation from Facebook
 
Accelerate Your Signature Banking Applications with IBM Storage Offerings
Accelerate Your Signature Banking Applications with IBM Storage OfferingsAccelerate Your Signature Banking Applications with IBM Storage Offerings
Accelerate Your Signature Banking Applications with IBM Storage Offerings
 
“How Do We Enable Edge ML Everywhere? Data, Reliability and Silicon Flexibili...
“How Do We Enable Edge ML Everywhere? Data, Reliability and Silicon Flexibili...“How Do We Enable Edge ML Everywhere? Data, Reliability and Silicon Flexibili...
“How Do We Enable Edge ML Everywhere? Data, Reliability and Silicon Flexibili...
 
Cloud Computing Design Best Practices
Cloud Computing Design Best PracticesCloud Computing Design Best Practices
Cloud Computing Design Best Practices
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
Cit bip v3_7.17_ally_house
Cit bip v3_7.17_ally_houseCit bip v3_7.17_ally_house
Cit bip v3_7.17_ally_house
 
VMworld 2013: US Air National Guard - DoD Private Cloud Initiative –How Virtu...
VMworld 2013: US Air National Guard - DoD Private Cloud Initiative –How Virtu...VMworld 2013: US Air National Guard - DoD Private Cloud Initiative –How Virtu...
VMworld 2013: US Air National Guard - DoD Private Cloud Initiative –How Virtu...
 
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
 
Q1 2009 Earning Report of National Instruments Corp
Q1 2009 Earning Report of National Instruments CorpQ1 2009 Earning Report of National Instruments Corp
Q1 2009 Earning Report of National Instruments Corp
 
Effectively Plan for Your Move to the Cloud
Effectively Plan for Your Move to the CloudEffectively Plan for Your Move to the Cloud
Effectively Plan for Your Move to the Cloud
 
Turbo2018 workshop JIT as a Service
Turbo2018 workshop   JIT as a ServiceTurbo2018 workshop   JIT as a Service
Turbo2018 workshop JIT as a Service
 

More from Yann-Gaël Guéhéneuc

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Yann-Gaël Guéhéneuc
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Yann-Gaël Guéhéneuc
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...Yann-Gaël Guéhéneuc
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesYann-Gaël Guéhéneuc
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Yann-Gaël Guéhéneuc
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6Yann-Gaël Guéhéneuc
 

More from Yann-Gaël Guéhéneuc (20)

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Icsm11a.ppt

  • 1. Nasir AliNasir Ali, Wei Wu, Giuliano Antoniol, Max Di Penta,, Wei Wu, Giuliano Antoniol, Max Di Penta, Yann-Gaël Guéhéneuc, Jane Huffman HayesYann-Gaël Guéhéneuc, Jane Huffman Hayes MoMS: Multi-objective Miniaturization ofMoMS: Multi-objective Miniaturization of SoftwareSoftware ICSM 2011
  • 2. Mom but not MoMSMom but not MoMS ICSM 2011
  • 4. Resources vs. Feature vs. Customers ICSM 2011
  • 6. Different Customers – Different Features ICSM 2011
  • 8. Pre-requirement Elicitation andPre-requirement Elicitation and ConsolidationConsolidation § We need pre-requirement documents:We need pre-requirement documents: § What do we have? § What do our customers want? § What is the weight of each customer? § We obtain and vet a list of requirements fromWe obtain and vet a list of requirements from diverse stakeholdersdiverse stakeholders § We structure requirements by mapping them intoWe structure requirements by mapping them into a representation suitable for grouping viaa representation suitable for grouping via pattern-recognition and similarity-basedpattern-recognition and similarity-based clusteringclustering ICSM 2011
  • 10. Features to SizeFeatures to Size § Traceability relations are tagged with:Traceability relations are tagged with: § Size information § IDs and weights of customers requiring the feature § Features are divided into:Features are divided into: § Compulsory § Cherry on the pie § Selected features must lead to a compilableSelected features must lead to a compilable system:system: § Extra code may be needed just to make sure that the system compiles and runs ICSM 2011
  • 11. Features to CPU ConsumptionFeatures to CPU Consumption § Assumption: CPU cycles/consumption is related to energyAssumption: CPU cycles/consumption is related to energy consumption:consumption: § The higher the CPU consumption, the lower the battery life § Binder’s JP2 profiling tool: comprehensive calling-contextBinder’s JP2 profiling tool: comprehensive calling-context profiles:profiles: § Exact number of executed bytecodes for each calling context § Caveat: modern hardware architecture prevent exactCaveat: modern hardware architecture prevent exact estimation based on bytecode countingestimation based on bytecode counting § But: bytecode counting is a good approximation of run time algorithmic complexity. § The lower the number of executed bytecodes, the lower the CPU time, the lower the battery consumption ICSM 2011
  • 12. Requirements to Features Scenario 1 (feature a) Scenario N (feature z) Scenario 2 (feature b) … Run System Trace 1 Trace 2 Trace N … ICSM 2011
  • 13. Dynamic Information*Dynamic Information* § Call tree:Call tree: § Integrate call tree information for each executed feature with static traceability relations to count executed bytecodes § Evaluate CPU consumption at method level: accumulateEvaluate CPU consumption at method level: accumulate into call-tree top nodes the counts of lower nodes:into call-tree top nodes the counts of lower nodes: § Top nodes thus stores sub-tree bytecode counts § Top nodes account for all executed bytecodes, including JARs and utility methods § Caveat:Caveat: § Some feature may not be completely implemented § Some feature may not be executed due to missing components ICSM 2011
  • 14. Miniaturization ProblemMiniaturization Problem § We would like to:We would like to: § Minimize size and CPU consumption § Maximize customer satisfaction § Constraints may be imposed on search space:Constraints may be imposed on search space: § Max available memory, max CPU power, customers who must be satisfied § Generate a Pareto surface:Generate a Pareto surface: § Project Pareto surface onto a Pareto front § Final decision to the managerFinal decision to the manager ICSM 2011
  • 15. Miniaturization Problem (cont’d)*Miniaturization Problem (cont’d)* { } { } { } { } { } intervalaniswhere...HCsconstraint ofsetameetmustthatRPpropertiesareThere ;...IUunitstionimplementaofsetahaveWe features;OFFimplementsprogramedminiaturizA features;desiredicustomerlist...FEach features;optionaldesiredcustomer...OF features;compulsoryComFofsetA assigned;Vv0value""hascustomerEach customers;L... 1 K 1 1i 1 max 1 jk M iNi L L hchchc iuiu ff FF ccC i = Ì = Í¢ = = ££ = ICSM 2011
  • 16. Miniaturization Problem (cont’d)*Miniaturization Problem (cont’d)* § Traceability creates aTraceability creates a function Impl that, given afunction Impl that, given a feature, assignsfeature, assigns implementation unitsimplementation units § Each implementation unitEach implementation unit has properties, e.g., eachhas properties, e.g., each method have a size and amethod have a size and a CPU consumptionCPU consumption § The CustomerThe Customer Satisfaction Ratio (CSR)Satisfaction Ratio (CSR) is defined as:is defined as: L V v F FF FCSR iL i i i max 1 )( ´ ¢Ç =¢ å= ICSM 2011
  • 17. Miniaturization Problem (cont’d)*Miniaturization Problem (cont’d)* § Maximize CSR(F’)Maximize CSR(F’) means minimizemeans minimize –CSR(F’)–CSR(F’) § For a given set ofFor a given set of features F’, thefeatures F’, the implementation unitsimplementation units and the overalland the overall properties are:properties are: ( ) ( )( )ComFFImplProp' ComFFImpl' È¢= È¢= P IU ICSM 2011
  • 18. Miniaturization Problem (cont’d)* ( )[ ]{ } ( ) ( )[ ] iKi F hcppp FCSROF ÎÈ=" È- Î i1i 2' p:ComFF'ImplProp......|p :such that ComFF'ImplProp),'(min Notice that ( )( )ComFFImplProp È¢ is actually an array of sizes and CPU consumptions. Thus, a solution is a surface: CSR = FUNC(size, CPU consumption) ICSM 2011
  • 19. Case StudiesCase Studies § 350 questionnaires, 73 completed surveys350 questionnaires, 73 completed surveys § Pooka V2.0 e-mail client:Pooka V2.0 e-mail client: § 208 classes § 20,868 methods § 245 KLOCs § 599 (93) pre-requirements § 30 traced features § Code size 5.39 MB § SIP V1.0 audio/video Internet phone:SIP V1.0 audio/video Internet phone: § 1,771 classes § 31,302 methods § 486 KLOCs § 639 (82) pre-requirements § 36 traced features § Code size 27.3 MB
  • 20. NSGA-II ParametersNSGA-II Parameters § We used JMETAL:We used JMETAL: § Mutation probability 4% § Crossover 90% § Evaluation number 25,000 § High iteration number to ensure that we did notHigh iteration number to ensure that we did not miss good solutionsmiss good solutions ICSM 2011
  • 21. Pooka Projection CSR vs. Size ICSM 2011
  • 22. SIP Projection CSR vs. Size ICSM 2011
  • 23. Pooka Projection CSR vs. Size vs. CPU ICSM 2011
  • 24. SIP Projection CSR vs. Size vs. CPUSIP Projection CSR vs. Size vs. CPU ICSM 2011
  • 25. Lessons LearnedLessons Learned § The miniaturization process is feasible but thereThe miniaturization process is feasible but there are challenges:are challenges: § Traceability recovery and accuracy of traced links § Collecting dynamic information is difficult: § Missing or not 100% implemented features § CPU consumption difficult to run: § We are still completing SIP § Some system (SIP) may exhibit tangledSome system (SIP) may exhibit tangled dependencies and there may be no sweet spotdependencies and there may be no sweet spot ICSM 2011
  • 26. ConclusionConclusion § The porting problem was modeled as aThe porting problem was modeled as a multi-objective minimization problemmulti-objective minimization problem § Equations can accommodate a wide range ofEquations can accommodate a wide range of propertiesproperties § The process can be automated thus savingThe process can be automated thus saving considerable manual effort in selecting featuresconsiderable manual effort in selecting features to be ported:to be ported: § Yet not in validating traceability links if links do not exist ICSM 2011