SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
Heuristic Stimuli Generation
     For Coverage Closure
Exploiting Simulation Feedback
          Giovanni Squillero
         Politecnico di Torino - Italy
            CAD Group (           )
      giovanni.squillero@polito.it
GOAL
• To propose a methodology for coverage-
  directed stimuli generation based on
  simulation feedback
• Such stimuli could be added as new content to
  improve existing validation suites




DVClub 2010-01-18   giovanni.squillero@polito.it   2
Acknowledgements
•   Danilo Ravotto
•   Ernesto Sanchez
•   Matteo Sonza Reorda
•   Alberto Tonda

• + many others


DVClub 2010-01-18       giovanni.squillero@polito.it   3
Outline
• Proposed methodology
• Case studies
• Conclusions




DVClub 2010-01-18   giovanni.squillero@polito.it   4
Design Choices
• Being able to tackle real problems
• Develop a versatile and broadly applicable
  methodology
      – Compatible with different environment
      – Compatible with any coverage metric
• Minimize effort to change goal/target
      – Exploit common aspects


DVClub 2010-01-18      giovanni.squillero@polito.it   5
Feedback-Based Approach
• Simulation-based approach
• Exploits feedback from simulation
• Incremental improvement/refinement of the
  solution (trial-and-error)
• Trade-off between computational resources
  and confidence
• May exploit heuristics or problem-specific
  knowledge
DVClub 2010-01-18    giovanni.squillero@polito.it   6
Proposed Methodology
                                                                Stimuli




   Stimuli                                                                System
 Generator




                      Feedback
DVClub 2010-01-18                giovanni.squillero@polito.it                      7
Stimuli
                                                              Stimuli




   Stimuli                                                              System
 Generator




                    Feedback
DVClub 2010-01-18              giovanni.squillero@polito.it                      8
Stimuli
•   Sequences of bits
•   Sequences of keys
•   Full fledged assembly language programs
•   VHDL test case
•   External world
•   …


DVClub 2010-01-18   giovanni.squillero@polito.it   9
Stimuli Generator
                                                              Stimuli




   Stimuli                                                              System
 Generator




                    Feedback
DVClub 2010-01-18              giovanni.squillero@polito.it                      10
Stimuli Generator
• Exploit an Evolutionary Algorithm to generate
  stimuli to maximize a given function




DVClub 2010-01-18       giovanni.squillero@polito.it   11
Evolutionary Algorithms
• Meta-heuristic optimization algorithm based
  on the concept of population and exploiting
  some principles of natural evolution




DVClub 2010-01-18          giovanni.squillero@polito.it   12
Evolutionary Algorithms
• Succession of random and deterministic steps
      – A systematic way of throwing dices
      – Better than pure random

    “The great effect produced by the
    accumulation in one direction,
    during successive generations,
    of differences absolutely inappreciable
    by an uneducated eye”


DVClub 2010-01-18          giovanni.squillero@polito.it   13
Evolutionary Algorithms
• Population
      – Multiple solutions considered in each step
      – More resistant than pure hill-climbing
      – Different solutions may interbreed




DVClub 2010-01-18          giovanni.squillero@polito.it   14
Evolutionary Algorithms
• Why using an evolutionary algorithm?
      – Adaptative
      – Able to find unexpected solutions
      – Better than random




DVClub 2010-01-18          giovanni.squillero@polito.it   15
Evolutionary Algorithms
• Problem: Fitness function
      – GOAL: Optimize the wheel
      – FITNESS: Minimize the number of “bumps”




DVClub 2010-01-18          giovanni.squillero@polito.it   16
Evolutionary Algorithms
• Problem: Black magic




DVClub 2010-01-18          giovanni.squillero@polito.it   17
µGP (MicroGP)
• CAD Group general-purpose evolver
      – 3 versions (only 2 released under GPL)
      – Project started in 2002
      – 11 developers + contractors, students, …
• Current version
      – ≈ 300 file, > 40,000 lines in C++




DVClub 2010-01-18        giovanni.squillero@polito.it   18
µGP (MicroGP)

           Evolutionary Optimization: the µGP
           toolkit
           E. Sanchez, M. Schillaci, G. Squillero

           Springer, 2010

           ISBN: 978-0-387-09425-0




DVClub 2010-01-18             giovanni.squillero@polito.it   19
µGP (MicroGP)

               http://ugp3.sourceforge.net/

      MicroGP++ (aka. ugp3, µGP3)
         • Information
         • Download
         • Credits




DVClub 2010-01-18       giovanni.squillero@polito.it   20
System & Feedback
                                                              Stimuli




   Stimuli                                                              System
 Generator




                    Feedback
DVClub 2010-01-18              giovanni.squillero@polito.it                      21
System
• Strongly problem dependant
• Model via simulation/emulation
      – HDL (netlist to high-level)
      – HW accelerated (e.g., exploiting FPGA)
      – Architectural simulator
      – ISA simulator
• Real device


DVClub 2010-01-18       giovanni.squillero@polito.it   22
Feedback (examples)
• From simulation
      – Code coverage metrics (e.g., instruction coverage)
      – HW specific metrics (e.g., toggle coverage)
      – High-level information (e.g., FSM coverage)
• From the real system
      – Performance counters
      – Physical measures (e.g., temperature, time, power
        consumption)

DVClub 2010-01-18         giovanni.squillero@polito.it   23
Outline
• Proposed methodology
• Case studies
• Conclusions




DVClub 2010-01-18   giovanni.squillero@polito.it   24
Design Verification
• Devise a set of programs maximizing different
  coverage metrics




DVClub 2010-01-18        giovanni.squillero@polito.it   25
Feedback
• Code coverage metrics
      – Statement coverage (SC)
      – Branch coverage (BC)
      – Condition coverage CC)
      – Expression coverage (EC)
• HW specific metric
      – Toggle coverage (TC)


DVClub 2010-01-18       giovanni.squillero@polito.it   26
System
• DLX/pII
      – Cleaned and simplified MIPS intended primarily
        for teaching purposes
      – 32-bit load/store architecture, 5-stage pipeline
      – VHDL RTL description
            •   4,558 statements
            •   3,695 branches
            •   193 conditional statements (1,764 expressions)
            •   8,283 logic bits

DVClub 2010-01-18              giovanni.squillero@polito.it      27
Experimental Results




DVClub 2010-01-18         giovanni.squillero@polito.it   28
Experimental Results
                                                            2,978
                                                         instructions




               230K
           instructions




DVClub 2010-01-18         giovanni.squillero@polito.it                  29
Experimental Results
                      20h         33h
                                                       27h         95h

                                                             37h




                            ≈1 week




DVClub 2010-01-18           giovanni.squillero@polito.it                 30
Post-silicon Verification
• Generate functional test programs for post-
  silicon verification
• Activity performed in collaboration
  with the ETM Group, Intel (Phoenix)
• Intel Pentium 4
      – 42-55 millions of transistors
      – 2GHz clock
      – NetBurst architecture

DVClub 2010-01-18           giovanni.squillero@polito.it   31
System & Feedback
• Real Pentium 4 (no simulation)
• Performance counters as metric
      – Introduced in 1993 in IA32 architecture
      – 48 event detectors + 18 programmable counters
      – Instruction-tagging (for discriminating non-
        speculative performance events)




DVClub 2010-01-18        giovanni.squillero@polito.it   32
Experimental Results
• Two sets of experiments:
      – Mispredicted branches over the total branches
      – Clock cycles in which the trace cache is delivering
        µops to the execution unit instead of decoding or
        building traces (hard metric!)
• Intrinsic features of the µarchitectural design
• Time (both): 12h/program


Haifa 2008                   G. Squillero                     33
Mobile Phone
• 12m-activity performed in collaboration with
  Motorola Research Center in Turin
  (“Automation of Current Drain Measures”)




DVClub 2010-01-18     giovanni.squillero@polito.it   34
System
• Real prototypical mobile phone
      – P2K platform
      – GSM/3G networks
      – Complex applications
• Radio Communication Analyzer, anechoic
  chamber
• Controllable power supply
• Custom hardware
DVClub 2010-01-18      giovanni.squillero@polito.it   35
Stimuli
• Sequence of keys
• Power supply
• Network status




DVClub 2010-01-18   giovanni.squillero@polito.it   36
Feedback
• Physical measures
      – Power consumption (+ autocorrelation)
      – Network status
• FSM transition coverage




DVClub 2010-01-18      giovanni.squillero@polito.it   37
Experimental Results
• Major bugs discovered in the prototype
      – Test infrastructure
      – LCD display
      – Fake deep-sleep state




DVClub 2010-01-18         giovanni.squillero@polito.it   38
Outline
• Proposed methodology
• Case studies
• Conclusions




DVClub 2010-01-18   giovanni.squillero@polito.it   39
Conclusions
•   Simulation-based & feedback-based
•   Evolutionary algorithm
•   Broadly applicable
•   Human resources
      – Limited (set-up )
• Computational resources
      – Easily parallelizable (generation level)
      – Trade-off quality vs. effort
DVClub 2010-01-18           giovanni.squillero@polito.it   40
Conclusions
• May exploit other methodologies
      – Useful starting point
      – Effective completion
• May be coupled with other methodologies
      – Rule-based instruction randomizers
      – Simulation-based approaches




DVClub 2010-01-18        giovanni.squillero@polito.it   41
2010 bristol q1_heuristic-stimuli-generation

Mais conteúdo relacionado

Destaque

Destaque (6)

Bristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_timBristol 2009 q1_blackmore_tim
Bristol 2009 q1_blackmore_tim
 
Low power design-ver_26_mar08
Low power design-ver_26_mar08Low power design-ver_26_mar08
Low power design-ver_26_mar08
 
Jm future of system verilog verification
Jm future of system verilog verificationJm future of system verilog verification
Jm future of system verilog verification
 
Durgam vahia open_sparc_fpga
Durgam vahia open_sparc_fpgaDurgam vahia open_sparc_fpga
Durgam vahia open_sparc_fpga
 
3 d to_hpc
3 d to_hpc3 d to_hpc
3 d to_hpc
 
Nilesh ranpura systemmodelling
Nilesh ranpura systemmodellingNilesh ranpura systemmodelling
Nilesh ranpura systemmodelling
 

Semelhante a 2010 bristol q1_heuristic-stimuli-generation

Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback
Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation FeedbackHeuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback
Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback
DVClub
 
Methodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applicationsMethodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applications
Andrea Mauri
 
Avoiding the CI/CD Monolith with Team Design & Evolution @ London CD meetup, ...
Avoiding the CI/CD Monolith with Team Design & Evolution @ London CD meetup, ...Avoiding the CI/CD Monolith with Team Design & Evolution @ London CD meetup, ...
Avoiding the CI/CD Monolith with Team Design & Evolution @ London CD meetup, ...
Manuel Pais
 
Lecture saracco
Lecture saraccoLecture saracco
Lecture saracco
ongcs
 

Semelhante a 2010 bristol q1_heuristic-stimuli-generation (20)

Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback
Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation FeedbackHeuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback
Heuristic Stimuli Generation for Coverage Closure Exploiting Simulation Feedback
 
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUniteThe Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
The Token Engineering Process - Blockchain Futurist Conference 2018 - FansUnite
 
Handson 2 (6/6)
Handson 2 (6/6)Handson 2 (6/6)
Handson 2 (6/6)
 
Methodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applicationsMethodologies for the Development of Crowd and Social-based applications
Methodologies for the Development of Crowd and Social-based applications
 
Future-Proofing Your Business with Technology
Future-Proofing Your Business with TechnologyFuture-Proofing Your Business with Technology
Future-Proofing Your Business with Technology
 
MediaEval 2018: The MediaEval 2018 Movie Recommendation Task: Recommending Mo...
MediaEval 2018: The MediaEval 2018 Movie Recommendation Task: Recommending Mo...MediaEval 2018: The MediaEval 2018 Movie Recommendation Task: Recommending Mo...
MediaEval 2018: The MediaEval 2018 Movie Recommendation Task: Recommending Mo...
 
CrowDM system
CrowDM systemCrowDM system
CrowDM system
 
Machine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for MarketingMachine Learning driven Quantum Optimization for Marketing
Machine Learning driven Quantum Optimization for Marketing
 
VLSI and ES Design -An Overview.pptx
VLSI and ES Design -An Overview.pptxVLSI and ES Design -An Overview.pptx
VLSI and ES Design -An Overview.pptx
 
A Threat Model for Extensible Smart Home Gateways
A Threat Model for Extensible Smart Home GatewaysA Threat Model for Extensible Smart Home Gateways
A Threat Model for Extensible Smart Home Gateways
 
Introduction to Genetic Algorithms
Introduction to Genetic AlgorithmsIntroduction to Genetic Algorithms
Introduction to Genetic Algorithms
 
Avoiding the CI/CD Monolith with Team Topologies @ DevOps Sydney meetup, Oct ...
Avoiding the CI/CD Monolith with Team Topologies @ DevOps Sydney meetup, Oct ...Avoiding the CI/CD Monolith with Team Topologies @ DevOps Sydney meetup, Oct ...
Avoiding the CI/CD Monolith with Team Topologies @ DevOps Sydney meetup, Oct ...
 
Lec0.ppt
Lec0.pptLec0.ppt
Lec0.ppt
 
PhD Defense of Teodoro Montanaro
PhD Defense of Teodoro MontanaroPhD Defense of Teodoro Montanaro
PhD Defense of Teodoro Montanaro
 
The benefits of fine-grained synchronization in deterministic and efficient ...
The benefits of fine-grained synchronization in  deterministic and efficient ...The benefits of fine-grained synchronization in  deterministic and efficient ...
The benefits of fine-grained synchronization in deterministic and efficient ...
 
Building large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart CitiesBuilding large-scale digital repeatable systems e.g Smart Cities
Building large-scale digital repeatable systems e.g Smart Cities
 
Break trough effectivness for the maintenance
Break trough effectivness for the maintenanceBreak trough effectivness for the maintenance
Break trough effectivness for the maintenance
 
Avoiding the CI/CD Monolith with Team Design & Evolution @ London CD meetup, ...
Avoiding the CI/CD Monolith with Team Design & Evolution @ London CD meetup, ...Avoiding the CI/CD Monolith with Team Design & Evolution @ London CD meetup, ...
Avoiding the CI/CD Monolith with Team Design & Evolution @ London CD meetup, ...
 
Lecture saracco
Lecture saraccoLecture saracco
Lecture saracco
 
SOFI Developer Meeting Göttingen 28th March 2015
SOFI Developer MeetingGöttingen 28th March 2015 SOFI Developer MeetingGöttingen 28th March 2015
SOFI Developer Meeting Göttingen 28th March 2015
 

Mais de Obsidian Software (20)

Zhang rtp q307
Zhang rtp q307Zhang rtp q307
Zhang rtp q307
 
Zehr dv club_12052006
Zehr dv club_12052006Zehr dv club_12052006
Zehr dv club_12052006
 
Yang greenstein part_2
Yang greenstein part_2Yang greenstein part_2
Yang greenstein part_2
 
Yang greenstein part_1
Yang greenstein part_1Yang greenstein part_1
Yang greenstein part_1
 
Williamson arm validation metrics
Williamson arm validation metricsWilliamson arm validation metrics
Williamson arm validation metrics
 
Whipp q3 2008_sv
Whipp q3 2008_svWhipp q3 2008_sv
Whipp q3 2008_sv
 
Vishakantaiah validating
Vishakantaiah validatingVishakantaiah validating
Vishakantaiah validating
 
Validation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environmentValidation and-design-in-a-small-team-environment
Validation and-design-in-a-small-team-environment
 
Tobin verification isglobal
Tobin verification isglobalTobin verification isglobal
Tobin verification isglobal
 
Tierney bq207
Tierney bq207Tierney bq207
Tierney bq207
 
The validation attitude
The validation attitudeThe validation attitude
The validation attitude
 
Thaker q3 2008
Thaker q3 2008Thaker q3 2008
Thaker q3 2008
 
Thaker q3 2008
Thaker q3 2008Thaker q3 2008
Thaker q3 2008
 
Strickland dvclub
Strickland dvclubStrickland dvclub
Strickland dvclub
 
Stinson post si and verification
Stinson post si and verificationStinson post si and verification
Stinson post si and verification
 
Shultz dallas q108
Shultz dallas q108Shultz dallas q108
Shultz dallas q108
 
Shreeve dv club_ams
Shreeve dv club_amsShreeve dv club_ams
Shreeve dv club_ams
 
Sharam salamian
Sharam salamianSharam salamian
Sharam salamian
 
Schulz sv q2_2009
Schulz sv q2_2009Schulz sv q2_2009
Schulz sv q2_2009
 
Schulz dallas q1_2008
Schulz dallas q1_2008Schulz dallas q1_2008
Schulz dallas q1_2008
 

2010 bristol q1_heuristic-stimuli-generation

  • 1. Heuristic Stimuli Generation For Coverage Closure Exploiting Simulation Feedback Giovanni Squillero Politecnico di Torino - Italy CAD Group ( ) giovanni.squillero@polito.it
  • 2. GOAL • To propose a methodology for coverage- directed stimuli generation based on simulation feedback • Such stimuli could be added as new content to improve existing validation suites DVClub 2010-01-18 giovanni.squillero@polito.it 2
  • 3. Acknowledgements • Danilo Ravotto • Ernesto Sanchez • Matteo Sonza Reorda • Alberto Tonda • + many others DVClub 2010-01-18 giovanni.squillero@polito.it 3
  • 4. Outline • Proposed methodology • Case studies • Conclusions DVClub 2010-01-18 giovanni.squillero@polito.it 4
  • 5. Design Choices • Being able to tackle real problems • Develop a versatile and broadly applicable methodology – Compatible with different environment – Compatible with any coverage metric • Minimize effort to change goal/target – Exploit common aspects DVClub 2010-01-18 giovanni.squillero@polito.it 5
  • 6. Feedback-Based Approach • Simulation-based approach • Exploits feedback from simulation • Incremental improvement/refinement of the solution (trial-and-error) • Trade-off between computational resources and confidence • May exploit heuristics or problem-specific knowledge DVClub 2010-01-18 giovanni.squillero@polito.it 6
  • 7. Proposed Methodology Stimuli Stimuli System Generator Feedback DVClub 2010-01-18 giovanni.squillero@polito.it 7
  • 8. Stimuli Stimuli Stimuli System Generator Feedback DVClub 2010-01-18 giovanni.squillero@polito.it 8
  • 9. Stimuli • Sequences of bits • Sequences of keys • Full fledged assembly language programs • VHDL test case • External world • … DVClub 2010-01-18 giovanni.squillero@polito.it 9
  • 10. Stimuli Generator Stimuli Stimuli System Generator Feedback DVClub 2010-01-18 giovanni.squillero@polito.it 10
  • 11. Stimuli Generator • Exploit an Evolutionary Algorithm to generate stimuli to maximize a given function DVClub 2010-01-18 giovanni.squillero@polito.it 11
  • 12. Evolutionary Algorithms • Meta-heuristic optimization algorithm based on the concept of population and exploiting some principles of natural evolution DVClub 2010-01-18 giovanni.squillero@polito.it 12
  • 13. Evolutionary Algorithms • Succession of random and deterministic steps – A systematic way of throwing dices – Better than pure random “The great effect produced by the accumulation in one direction, during successive generations, of differences absolutely inappreciable by an uneducated eye” DVClub 2010-01-18 giovanni.squillero@polito.it 13
  • 14. Evolutionary Algorithms • Population – Multiple solutions considered in each step – More resistant than pure hill-climbing – Different solutions may interbreed DVClub 2010-01-18 giovanni.squillero@polito.it 14
  • 15. Evolutionary Algorithms • Why using an evolutionary algorithm? – Adaptative – Able to find unexpected solutions – Better than random DVClub 2010-01-18 giovanni.squillero@polito.it 15
  • 16. Evolutionary Algorithms • Problem: Fitness function – GOAL: Optimize the wheel – FITNESS: Minimize the number of “bumps” DVClub 2010-01-18 giovanni.squillero@polito.it 16
  • 17. Evolutionary Algorithms • Problem: Black magic DVClub 2010-01-18 giovanni.squillero@polito.it 17
  • 18. µGP (MicroGP) • CAD Group general-purpose evolver – 3 versions (only 2 released under GPL) – Project started in 2002 – 11 developers + contractors, students, … • Current version – ≈ 300 file, > 40,000 lines in C++ DVClub 2010-01-18 giovanni.squillero@polito.it 18
  • 19. µGP (MicroGP) Evolutionary Optimization: the µGP toolkit E. Sanchez, M. Schillaci, G. Squillero Springer, 2010 ISBN: 978-0-387-09425-0 DVClub 2010-01-18 giovanni.squillero@polito.it 19
  • 20. µGP (MicroGP) http://ugp3.sourceforge.net/ MicroGP++ (aka. ugp3, µGP3) • Information • Download • Credits DVClub 2010-01-18 giovanni.squillero@polito.it 20
  • 21. System & Feedback Stimuli Stimuli System Generator Feedback DVClub 2010-01-18 giovanni.squillero@polito.it 21
  • 22. System • Strongly problem dependant • Model via simulation/emulation – HDL (netlist to high-level) – HW accelerated (e.g., exploiting FPGA) – Architectural simulator – ISA simulator • Real device DVClub 2010-01-18 giovanni.squillero@polito.it 22
  • 23. Feedback (examples) • From simulation – Code coverage metrics (e.g., instruction coverage) – HW specific metrics (e.g., toggle coverage) – High-level information (e.g., FSM coverage) • From the real system – Performance counters – Physical measures (e.g., temperature, time, power consumption) DVClub 2010-01-18 giovanni.squillero@polito.it 23
  • 24. Outline • Proposed methodology • Case studies • Conclusions DVClub 2010-01-18 giovanni.squillero@polito.it 24
  • 25. Design Verification • Devise a set of programs maximizing different coverage metrics DVClub 2010-01-18 giovanni.squillero@polito.it 25
  • 26. Feedback • Code coverage metrics – Statement coverage (SC) – Branch coverage (BC) – Condition coverage CC) – Expression coverage (EC) • HW specific metric – Toggle coverage (TC) DVClub 2010-01-18 giovanni.squillero@polito.it 26
  • 27. System • DLX/pII – Cleaned and simplified MIPS intended primarily for teaching purposes – 32-bit load/store architecture, 5-stage pipeline – VHDL RTL description • 4,558 statements • 3,695 branches • 193 conditional statements (1,764 expressions) • 8,283 logic bits DVClub 2010-01-18 giovanni.squillero@polito.it 27
  • 28. Experimental Results DVClub 2010-01-18 giovanni.squillero@polito.it 28
  • 29. Experimental Results 2,978 instructions 230K instructions DVClub 2010-01-18 giovanni.squillero@polito.it 29
  • 30. Experimental Results 20h 33h 27h 95h 37h ≈1 week DVClub 2010-01-18 giovanni.squillero@polito.it 30
  • 31. Post-silicon Verification • Generate functional test programs for post- silicon verification • Activity performed in collaboration with the ETM Group, Intel (Phoenix) • Intel Pentium 4 – 42-55 millions of transistors – 2GHz clock – NetBurst architecture DVClub 2010-01-18 giovanni.squillero@polito.it 31
  • 32. System & Feedback • Real Pentium 4 (no simulation) • Performance counters as metric – Introduced in 1993 in IA32 architecture – 48 event detectors + 18 programmable counters – Instruction-tagging (for discriminating non- speculative performance events) DVClub 2010-01-18 giovanni.squillero@polito.it 32
  • 33. Experimental Results • Two sets of experiments: – Mispredicted branches over the total branches – Clock cycles in which the trace cache is delivering µops to the execution unit instead of decoding or building traces (hard metric!) • Intrinsic features of the µarchitectural design • Time (both): 12h/program Haifa 2008 G. Squillero 33
  • 34. Mobile Phone • 12m-activity performed in collaboration with Motorola Research Center in Turin (“Automation of Current Drain Measures”) DVClub 2010-01-18 giovanni.squillero@polito.it 34
  • 35. System • Real prototypical mobile phone – P2K platform – GSM/3G networks – Complex applications • Radio Communication Analyzer, anechoic chamber • Controllable power supply • Custom hardware DVClub 2010-01-18 giovanni.squillero@polito.it 35
  • 36. Stimuli • Sequence of keys • Power supply • Network status DVClub 2010-01-18 giovanni.squillero@polito.it 36
  • 37. Feedback • Physical measures – Power consumption (+ autocorrelation) – Network status • FSM transition coverage DVClub 2010-01-18 giovanni.squillero@polito.it 37
  • 38. Experimental Results • Major bugs discovered in the prototype – Test infrastructure – LCD display – Fake deep-sleep state DVClub 2010-01-18 giovanni.squillero@polito.it 38
  • 39. Outline • Proposed methodology • Case studies • Conclusions DVClub 2010-01-18 giovanni.squillero@polito.it 39
  • 40. Conclusions • Simulation-based & feedback-based • Evolutionary algorithm • Broadly applicable • Human resources – Limited (set-up ) • Computational resources – Easily parallelizable (generation level) – Trade-off quality vs. effort DVClub 2010-01-18 giovanni.squillero@polito.it 40
  • 41. Conclusions • May exploit other methodologies – Useful starting point – Effective completion • May be coupled with other methodologies – Rule-based instruction randomizers – Simulation-based approaches DVClub 2010-01-18 giovanni.squillero@polito.it 41