SlideShare a Scribd company logo
Modeling Features at
                      Runtime
                     Marcus Denker, Jorge Ressia, Orla Greevy,
                                Oscar Nierstrasz




Thursday, October 7, 2010
New way of doing
                             feature analysis


Thursday, October 7, 2010
Software Feature:
           A distinguishing characteristic of a
           software item.




                                                  IE EE 829

Thursday, October 7, 2010
Post-mortem
                            Feature Analysis


Thursday, October 7, 2010
Source     Traces




Thursday, October 7, 2010
Source     Traces




Thursday, October 7, 2010
Shortcomings
                            Data Volume
                            Feature Growing
                            Sub-Method granularity
                            Interactive Features
Thursday, October 7, 2010
Source     Traces




Thursday, October 7, 2010
Traces
                            Source




Thursday, October 7, 2010
Live
                            Feature Analysis


Thursday, October 7, 2010
Thursday, October 7, 2010
Source




Thursday, October 7, 2010
Source   Behavior
                                     Representation




Thursday, October 7, 2010
Source      Behavior
                                            Representation


                            Feature Model




Thursday, October 7, 2010
Source       Behavior
                                             Representation


                            Feature Model   Feature Result




Thursday, October 7, 2010
Source       Behavior
                                             Representation


                            Feature Model   Feature Result


                                    Runtime
Thursday, October 7, 2010
Thursday, October 7, 2010
Her mion07
                                    20    r
                                   isberge
                            Roethl


Thursday, October 7, 2010
Thursday, October 7, 2010
Se nsero010
                                      2
                                   isberge
                            Roethl


Thursday, October 7, 2010
How it works



Thursday, October 7, 2010
Source



                             AST




Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
AST




                            Application
                User



Thursday, October 7, 2010
AST

                            Login

                                    Application
                User



Thursday, October 7, 2010
AST

                            Login

                                    Application
                User



Thursday, October 7, 2010
User
                                          AST




                            Application




Thursday, October 7, 2010
Printing
                User
                                                     AST




                                       Application




Thursday, October 7, 2010
Printing
                User
                                                     AST




                                       Application




Thursday, October 7, 2010
Thursday, October 7, 2010
Implementation



Thursday, October 7, 2010
Partial Behavioral
                               Reflection


Thursday, October 7, 2010
Partial Behavioral
                               Reflection
                                          eflex
                                         R 003  2
                                         Tanter




Thursday, October 7, 2010
Partial Behavioral
                               Reflection
                                          eflex
                                         R 003  2
                                         Tanter



                                        R eflec tivity
                                           Denker 2008



Thursday, October 7, 2010
Reflection



Thursday, October 7, 2010
Structural Reflection



Thursday, October 7, 2010
Behavioral Reflection



Thursday, October 7, 2010
Partial Behavioral
                               Reflection


Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Thursday, October 7, 2010
Performance Impact



Thursday, October 7, 2010
Original!! ! ! !   !! ! ! 1x

           Full Adaptation!! ! ! 16x

           Practice! ! !
                   !             1.5x

Thursday, October 7, 2010
Memory Footprint



Thursday, October 7, 2010
Original!! ! ! !     !! ! ! 1x

           Post-Mortem! ! ! !         nx

           Live Feature!! ! !         1x

Thursday, October 7, 2010
1
         RuntimeFeatureAnalyzer
      activeFeature                        1                    1     Feature
      packages                                                                    0..*
                                                                          1
                    1



                                0..*                                      1
                                     1   0..*             1   0..*
                            Class               ASTNode              Annotation




Thursday, October 7, 2010
Conclusions



Thursday, October 7, 2010
Feature analysis at
                                 runtime


Thursday, October 7, 2010
Interactive analysis



Thursday, October 7, 2010
Feature Growing



Thursday, October 7, 2010
Sub-Method
                             granularity


Thursday, October 7, 2010
Models at Runtime



Thursday, October 7, 2010
Live
                            Feature Analysis
                              Data volume reduction

                              Feature Growing

                              Sub-Method granularity

                              Interactive Features


Thursday, October 7, 2010

More Related Content

Similar to Live featureanalysis

Akka scalaliftoff london_2010
Akka scalaliftoff london_2010Akka scalaliftoff london_2010
Akka scalaliftoff london_2010
Skills Matter
 
OSMC2010 Open NMS Kickstart
OSMC2010 Open NMS KickstartOSMC2010 Open NMS Kickstart
OSMC2010 Open NMS Kickstart
Ronny
 
Hawaii Workshop
Hawaii WorkshopHawaii Workshop
Hawaii Workshop
Angela Maiers
 
Runtime evolution
Runtime evolutionRuntime evolution
Runtime evolution
Jorge Ressia
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
Jeremy Baker
 
Agile Test Case Management
Agile Test Case ManagementAgile Test Case Management
Agile Test Case Management
Adam Goucher
 
AmbientTalk Rfid Dais2010
AmbientTalk Rfid Dais2010AmbientTalk Rfid Dais2010
AmbientTalk Rfid Dais2010
alombide
 
Metaphwoar promotion
Metaphwoar promotionMetaphwoar promotion
Metaphwoar promotion
Andy Whitlock
 
T-DOSE 2010 - Agile Enterprise, CLouds and Devops
T-DOSE 2010 - Agile Enterprise, CLouds and DevopsT-DOSE 2010 - Agile Enterprise, CLouds and Devops
T-DOSE 2010 - Agile Enterprise, CLouds and Devops
Chef Software, Inc.
 
October training program 2010
October training program 2010October training program 2010
October training program 2010
Brighton Air Cadets
 
Noboxing plugin
Noboxing pluginNoboxing plugin
Noboxing plugin
Skills Matter
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QA
Pavel Gabriel
 
Is these a bug
Is these a bugIs these a bug
Is these a bug
Mike Taylor
 
Introducing Django-Servee
Introducing Django-ServeeIntroducing Django-Servee
Introducing Django-Servee
issackelly
 
Turning That UX Frown Upside Down
Turning That UX Frown Upside DownTurning That UX Frown Upside Down
Turning That UX Frown Upside Down
Steve Fisher
 
Building Brilliant APIs
Building Brilliant APIsBuilding Brilliant APIs
Building Brilliant APIs
bencollier
 
Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript? Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript?
Nikolai Onken
 
Remote Research, The Talk.
Remote Research, The Talk.Remote Research, The Talk.
Remote Research, The Talk.
bolt peters
 
HTML5 offline
HTML5 offlineHTML5 offline
HTML5 offline
Justin Halsall
 
Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010
Zi Bin Cheah
 

Similar to Live featureanalysis (20)

Akka scalaliftoff london_2010
Akka scalaliftoff london_2010Akka scalaliftoff london_2010
Akka scalaliftoff london_2010
 
OSMC2010 Open NMS Kickstart
OSMC2010 Open NMS KickstartOSMC2010 Open NMS Kickstart
OSMC2010 Open NMS Kickstart
 
Hawaii Workshop
Hawaii WorkshopHawaii Workshop
Hawaii Workshop
 
Runtime evolution
Runtime evolutionRuntime evolution
Runtime evolution
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
 
Agile Test Case Management
Agile Test Case ManagementAgile Test Case Management
Agile Test Case Management
 
AmbientTalk Rfid Dais2010
AmbientTalk Rfid Dais2010AmbientTalk Rfid Dais2010
AmbientTalk Rfid Dais2010
 
Metaphwoar promotion
Metaphwoar promotionMetaphwoar promotion
Metaphwoar promotion
 
T-DOSE 2010 - Agile Enterprise, CLouds and Devops
T-DOSE 2010 - Agile Enterprise, CLouds and DevopsT-DOSE 2010 - Agile Enterprise, CLouds and Devops
T-DOSE 2010 - Agile Enterprise, CLouds and Devops
 
October training program 2010
October training program 2010October training program 2010
October training program 2010
 
Noboxing plugin
Noboxing pluginNoboxing plugin
Noboxing plugin
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QA
 
Is these a bug
Is these a bugIs these a bug
Is these a bug
 
Introducing Django-Servee
Introducing Django-ServeeIntroducing Django-Servee
Introducing Django-Servee
 
Turning That UX Frown Upside Down
Turning That UX Frown Upside DownTurning That UX Frown Upside Down
Turning That UX Frown Upside Down
 
Building Brilliant APIs
Building Brilliant APIsBuilding Brilliant APIs
Building Brilliant APIs
 
Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript? Human APIs - expanding the mobile web or are robots coming to JavaScript?
Human APIs - expanding the mobile web or are robots coming to JavaScript?
 
Remote Research, The Talk.
Remote Research, The Talk.Remote Research, The Talk.
Remote Research, The Talk.
 
HTML5 offline
HTML5 offlineHTML5 offline
HTML5 offline
 
Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010
 

More from Jorge Ressia

Object-Centric Debugging
Object-Centric DebuggingObject-Centric Debugging
Object-Centric Debugging
Jorge Ressia
 
SDE - Dynamic Analysis
SDE - Dynamic AnalysisSDE - Dynamic Analysis
SDE - Dynamic Analysis
Jorge Ressia
 
Bifrost: Setting Smalltalk Loose
Bifrost: Setting Smalltalk LooseBifrost: Setting Smalltalk Loose
Bifrost: Setting Smalltalk Loose
Jorge Ressia
 
Talents Presentation at ESUG 2011
Talents Presentation at ESUG 2011Talents Presentation at ESUG 2011
Talents Presentation at ESUG 2011
Jorge Ressia
 
Domain-Specific Profiling - TOOLS 2011
Domain-Specific Profiling - TOOLS 2011Domain-Specific Profiling - TOOLS 2011
Domain-Specific Profiling - TOOLS 2011
Jorge Ressia
 
Subjectopia tools2011
Subjectopia tools2011Subjectopia tools2011
Subjectopia tools2011
Jorge Ressia
 
Advanced OO Design
Advanced OO DesignAdvanced OO Design
Advanced OO Design
Jorge Ressia
 
Opal compiler
Opal compilerOpal compiler
Opal compiler
Jorge Ressia
 
05 Problem Detection
05 Problem Detection05 Problem Detection
05 Problem Detection
Jorge Ressia
 

More from Jorge Ressia (9)

Object-Centric Debugging
Object-Centric DebuggingObject-Centric Debugging
Object-Centric Debugging
 
SDE - Dynamic Analysis
SDE - Dynamic AnalysisSDE - Dynamic Analysis
SDE - Dynamic Analysis
 
Bifrost: Setting Smalltalk Loose
Bifrost: Setting Smalltalk LooseBifrost: Setting Smalltalk Loose
Bifrost: Setting Smalltalk Loose
 
Talents Presentation at ESUG 2011
Talents Presentation at ESUG 2011Talents Presentation at ESUG 2011
Talents Presentation at ESUG 2011
 
Domain-Specific Profiling - TOOLS 2011
Domain-Specific Profiling - TOOLS 2011Domain-Specific Profiling - TOOLS 2011
Domain-Specific Profiling - TOOLS 2011
 
Subjectopia tools2011
Subjectopia tools2011Subjectopia tools2011
Subjectopia tools2011
 
Advanced OO Design
Advanced OO DesignAdvanced OO Design
Advanced OO Design
 
Opal compiler
Opal compilerOpal compiler
Opal compiler
 
05 Problem Detection
05 Problem Detection05 Problem Detection
05 Problem Detection
 

Recently uploaded

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 

Recently uploaded (20)

Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 

Live featureanalysis