SlideShare a Scribd company logo
1 of 27
Download to read offline
MoMS: Multi-objective Miniaturization of
              Software



Nasir Ali, Wei Wu, Giuliano Antoniol, Max Di Penta,
  Yann-Gaël Guéhéneuc, Jane Huffman Hayes




               ICSM 2011
Mom 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 and
                             Consolidation
§ 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 from
  diverse stakeholders

§ We structure requirements by mapping them into
  a representation suitable for grouping via
  pattern-recognition and similarity-based
  clustering

                    ICSM 2011
Static Traceability Map


                       mi1          fn
Rl               Ci
                             mim


                 Cp      mp1
R2

                             mr1
                 Cr

                              mri
     ICSM 2011
Features to Size

§ Traceability relations are tagged with:
   §   Size information
   §   IDs and weights of customers requiring the feature


§ Features are divided into:
   §   Compulsory
   §   Cherry on the pie


§ Selected features must lead to a compilable
  system:
   §   Extra code may be needed just to make sure that the
       system compiles and runs


                    ICSM 2011
Features to CPU Consumption

§ Assumption: CPU cycles/consumption is related to energy
  consumption:
   §   The higher the CPU consumption, the lower the battery life


§ Binder’s JP2 profiling tool: comprehensive calling-context
  profiles:
   §   Exact number of executed bytecodes for each calling context


§ Caveat: modern hardware architecture prevent exact
  estimation 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                        Trace 1
(feature a)

Scenario 2                        Trace 2
(feature b)

     …                              …

Scenario N           Run System   Trace N
(feature z)




              ICSM 2011
Dynamic Information*

§ Call tree:
   §   Integrate call tree information for each executed feature with
       static traceability relations to count executed bytecodes


§ Evaluate CPU consumption at method level: accumulate
  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:
   §   Some feature may not be completely implemented
   §   Some feature may not be executed due to missing
       components


                      ICSM 2011
Miniaturization Problem

§ We would like to:
   §   Minimize size and CPU consumption
   §   Maximize customer satisfaction


§ Constraints may be imposed on search space:
   §   Max available memory, max CPU power, customers
       who must be satisfied


§ Generate a Pareto surface:
   §   Project Pareto surface onto a Pareto front


§ Final decision to the manager

                    ICSM 2011
Miniaturization Problem (cont’d)*


    C = {c1...cL } L customers;


    Each customer has " value" 0 £ v £ Vmax assigned;


    A set of ComF compulsory features;


    OF = {F1...FL } customer desired optional features;


               {         }
    Each Fi = f i1... f iN i list customer i desired features;


    A miniaturized program implements F¢ Í OF features;

    We have a set of implementation units IU = {iu1...iu M };


    There are properties P Ì R K that must meet a set of
    constraints HC = {hc1...hck } where hc j is an interval




           ICSM 2011
Miniaturization Problem (cont’d)*

§ Traceability creates a
  function Impl that, given a
  feature, assigns
  implementation units

§ Each implementation unit
  has properties, e.g., each
  method have a size and a
  CPU consumption

                                                   L   Fi Ç F ¢   v
§ The Customer                                 å
                                               i =1
                                                          Fi
                                                                ´ i
                                                                 Vmax
  Satisfaction Ratio (CSR)      CSR ( F ¢) =
                                                          L
  is defined as:



                    ICSM 2011
Miniaturization Problem (cont’d)*

§ Maximize CSR(F’)
  means minimize
     –CSR(F’)

§ For a given set of
  features F’, the
  implementation units
  and the overall
  properties are:          IU ' = Impl(F¢ È ComF)
                           P ' = Prop(Impl(F¢ È ComF))




               ICSM 2011
Miniaturization Problem (cont’d)*

min {- CSR ( F ' ), Prop[Impl(F'ÈComF)]}
  OF
F 'Î2



such that :


" p i | ( p1... pi ... pK ) = Prop[Impl(F'ÈComF)] : p i Î hci


Notice that Prop(Impl(F¢ È ComF))
is actually an array of sizes and CPU consumptions.
Thus, a solution is a surface:
       CSR = FUNC(size, CPU consumption)

                   ICSM 2011
Case Studies

§ 350 questionnaires, 73 completed surveys

§ 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:
   §   1,771 classes
   §   31,302 methods
   §   486 KLOCs
   §   639 (82) pre-requirements
   §   36 traced features
   §   Code size 27.3 MB
NSGA-II Parameters

§ We used JMETAL:
   §   Mutation probability 4%
   §   Crossover 90%
   §   Evaluation number 25,000


§ High iteration number to ensure that we did not
  miss 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. CPU




         ICSM 2011
Lessons Learned

§ The miniaturization process is feasible but there
  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 tangled
  dependencies and there may be no sweet spot




                       ICSM 2011
Conclusion

§ The porting problem was modeled as a
  multi-objective minimization problem

§ Equations can accommodate a wide range of
  properties

§ The process can be automated thus saving
  considerable manual effort in selecting features
  to be ported:
   §   Yet not in validating traceability links if links do not exist




                      ICSM 2011
Questions




ICSM 2011

More Related Content

Viewers also liked (6)

Using Simulation to Investigate Requirements Prioritization Strategies
Using Simulation to Investigate Requirements Prioritization StrategiesUsing Simulation to Investigate Requirements Prioritization Strategies
Using Simulation to Investigate Requirements Prioritization Strategies
 
A parallel evolutionary algorithm for prioritized pairwise testing of softwar...
A parallel evolutionary algorithm for prioritized pairwise testing of softwar...A parallel evolutionary algorithm for prioritized pairwise testing of softwar...
A parallel evolutionary algorithm for prioritized pairwise testing of softwar...
 
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature SurveyPareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
Pareto-Optimal Search-Based Software Engineering (POSBSE): A Literature Survey
 
On the Value of User Preferences in Search-Based Software Engineering
On the Value of User Preferences in Search-Based Software EngineeringOn the Value of User Preferences in Search-Based Software Engineering
On the Value of User Preferences in Search-Based Software Engineering
 
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
Optimización Multi-objetivo Basada en Preferencias para la Planificación de P...
 
ITIL, Release Management and Automation
ITIL, Release Management and AutomationITIL, Release Management and Automation
ITIL, Release Management and Automation
 

Similar to ICSM11a.ppt

An energy, memory, and performance analysis
An energy, memory, and performance analysisAn energy, memory, and performance analysis
An energy, memory, and performance analysis
Elisabeth Stahl
 
Multi Processor Architecture for image processing
Multi Processor Architecture for image processingMulti Processor Architecture for image processing
Multi Processor Architecture for image processing
ideas2ignite
 
Top 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & AnalysisTop 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & Analysis
NomanSiddiqui41
 
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
David Kent
 
High Performance Computing Infrastructure: Past, Present, and Future
High Performance Computing Infrastructure: Past, Present, and FutureHigh Performance Computing Infrastructure: Past, Present, and Future
High Performance Computing Infrastructure: Past, Present, and Future
karl.barnes
 

Similar to ICSM11a.ppt (20)

Icsm11a.ppt
Icsm11a.pptIcsm11a.ppt
Icsm11a.ppt
 
Get Lower Latency and Higher Throughput for Java Applications
Get Lower Latency and Higher Throughput for Java ApplicationsGet Lower Latency and Higher Throughput for Java Applications
Get Lower Latency and Higher Throughput for Java Applications
 
An energy, memory, and performance analysis
An energy, memory, and performance analysisAn energy, memory, and performance analysis
An energy, memory, and performance analysis
 
Cell Technology for Graphics and Visualization
Cell Technology for Graphics and VisualizationCell Technology for Graphics and Visualization
Cell Technology for Graphics and Visualization
 
Large customers want postgresql too !!
Large customers want postgresql too !!Large customers want postgresql too !!
Large customers want postgresql too !!
 
Multi Processor Architecture for image processing
Multi Processor Architecture for image processingMulti Processor Architecture for image processing
Multi Processor Architecture for image processing
 
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
Fast Insights to Optimized Vectorization and Memory Using Cache-aware Rooflin...
 
Turbo2018 workshop JIT as a Service
Turbo2018 workshop   JIT as a ServiceTurbo2018 workshop   JIT as a Service
Turbo2018 workshop JIT as a Service
 
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...
 
"Designing Deep Neural Network Algorithms for Embedded Devices," a Presentati...
"Designing Deep Neural Network Algorithms for Embedded Devices," a Presentati..."Designing Deep Neural Network Algorithms for Embedded Devices," a Presentati...
"Designing Deep Neural Network Algorithms for Embedded Devices," a Presentati...
 
Profile_Sugumar_N
Profile_Sugumar_NProfile_Sugumar_N
Profile_Sugumar_N
 
Reducing tco white paper rev5
Reducing tco white paper rev5Reducing tco white paper rev5
Reducing tco white paper rev5
 
computer architecture.
computer architecture.computer architecture.
computer architecture.
 
Top 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & AnalysisTop 10 Supercomputers With Descriptive Information & Analysis
Top 10 Supercomputers With Descriptive Information & Analysis
 
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
 
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
 
High Performance Computing Infrastructure: Past, Present, and Future
High Performance Computing Infrastructure: Past, Present, and FutureHigh Performance Computing Infrastructure: Past, Present, and Future
High Performance Computing Infrastructure: Past, Present, and Future
 
IBM - Craig Bender
IBM - Craig BenderIBM - Craig Bender
IBM - Craig Bender
 
Lakefield: Hybrid Cores in 3D Package
Lakefield: Hybrid Cores in 3D PackageLakefield: Hybrid Cores in 3D Package
Lakefield: Hybrid Cores in 3D Package
 
Intel xeon e5v3 y sdi
Intel xeon e5v3 y sdiIntel xeon e5v3 y sdi
Intel xeon e5v3 y sdi
 

More from Ptidej Team

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
"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 ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

ICSM11a.ppt

  • 1. MoMS: Multi-objective Miniaturization of Software Nasir Ali, Wei Wu, Giuliano Antoniol, Max Di Penta, Yann-Gaël Guéhéneuc, Jane Huffman Hayes ICSM 2011
  • 2. Mom but not MoMS ICSM 2011
  • 4. Resources vs. Feature vs. Customers ICSM 2011
  • 6. Different Customers – Different Features ICSM 2011
  • 8. Pre-requirement Elicitation and Consolidation § 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 from diverse stakeholders § We structure requirements by mapping them into a representation suitable for grouping via pattern-recognition and similarity-based clustering ICSM 2011
  • 9. Static Traceability Map mi1 fn Rl Ci mim Cp mp1 R2 mr1 Cr mri ICSM 2011
  • 10. Features to Size § Traceability relations are tagged with: § Size information § IDs and weights of customers requiring the feature § Features are divided into: § Compulsory § Cherry on the pie § Selected features must lead to a compilable system: § Extra code may be needed just to make sure that the system compiles and runs ICSM 2011
  • 11. Features to CPU Consumption § Assumption: CPU cycles/consumption is related to energy consumption: § The higher the CPU consumption, the lower the battery life § Binder’s JP2 profiling tool: comprehensive calling-context profiles: § Exact number of executed bytecodes for each calling context § Caveat: modern hardware architecture prevent exact estimation 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 Trace 1 (feature a) Scenario 2 Trace 2 (feature b) … … Scenario N Run System Trace N (feature z) ICSM 2011
  • 13. Dynamic Information* § Call tree: § Integrate call tree information for each executed feature with static traceability relations to count executed bytecodes § Evaluate CPU consumption at method level: accumulate 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: § Some feature may not be completely implemented § Some feature may not be executed due to missing components ICSM 2011
  • 14. Miniaturization Problem § We would like to: § Minimize size and CPU consumption § Maximize customer satisfaction § Constraints may be imposed on search space: § Max available memory, max CPU power, customers who must be satisfied § Generate a Pareto surface: § Project Pareto surface onto a Pareto front § Final decision to the manager ICSM 2011
  • 15. Miniaturization Problem (cont’d)* C = {c1...cL } L customers; Each customer has " value" 0 £ v £ Vmax assigned; A set of ComF compulsory features; OF = {F1...FL } customer desired optional features; { } Each Fi = f i1... f iN i list customer i desired features; A miniaturized program implements F¢ Í OF features; We have a set of implementation units IU = {iu1...iu M }; There are properties P Ì R K that must meet a set of constraints HC = {hc1...hck } where hc j is an interval ICSM 2011
  • 16. Miniaturization Problem (cont’d)* § Traceability creates a function Impl that, given a feature, assigns implementation units § Each implementation unit has properties, e.g., each method have a size and a CPU consumption L Fi Ç F ¢ v § The Customer å i =1 Fi ´ i Vmax Satisfaction Ratio (CSR) CSR ( F ¢) = L is defined as: ICSM 2011
  • 17. Miniaturization Problem (cont’d)* § Maximize CSR(F’) means minimize –CSR(F’) § For a given set of features F’, the implementation units and the overall properties are: IU ' = Impl(F¢ È ComF) P ' = Prop(Impl(F¢ È ComF)) ICSM 2011
  • 18. Miniaturization Problem (cont’d)* min {- CSR ( F ' ), Prop[Impl(F'ÈComF)]} OF F 'Î2 such that : " p i | ( p1... pi ... pK ) = Prop[Impl(F'ÈComF)] : p i Î hci Notice that Prop(Impl(F¢ È ComF)) is actually an array of sizes and CPU consumptions. Thus, a solution is a surface: CSR = FUNC(size, CPU consumption) ICSM 2011
  • 19. Case Studies § 350 questionnaires, 73 completed surveys § 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: § 1,771 classes § 31,302 methods § 486 KLOCs § 639 (82) pre-requirements § 36 traced features § Code size 27.3 MB
  • 20. NSGA-II Parameters § We used JMETAL: § Mutation probability 4% § Crossover 90% § Evaluation number 25,000 § High iteration number to ensure that we did not miss 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. CPU ICSM 2011
  • 25. Lessons Learned § The miniaturization process is feasible but there 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 tangled dependencies and there may be no sweet spot ICSM 2011
  • 26. Conclusion § The porting problem was modeled as a multi-objective minimization problem § Equations can accommodate a wide range of properties § The process can be automated thus saving considerable manual effort in selecting features to be ported: § Yet not in validating traceability links if links do not exist ICSM 2011