SlideShare a Scribd company logo
Toward Structured Location of Features
Feature	
  Loca+on	
•  Iden+fying	
  correspondence	
  between	
  features	
  
   and	
  modules	
  in	
  source	
  code	
  
    Features	
                                                          List	
  of	
  Relevant	
  Modules
                                                                                                        	
                                                        AccountBean.signon()	
  
           Search	
  Catalog,	
                         AccountBean()	
  
          Sign	
  On	
  and	
  Off,	
                    AccountService()	
  
                                         LOCATION	
                                          FEATURE	
  


 	
  	
  Browse	
  Categories,	
                        CatalogService()	
  
               ......




                                                        Account.setPassword(String)	
  
                                                        AccountBean(AccountService,	
  CatalogService)	
  
                                                        DaoConfig.getDaoManager()	
  
                                                        	
  
                                                               ......



                                                        	
  
                                                        CatalogService.getProductListByCategory(String)	
  

Developer
Mo+va+on	
•  AHer	
  features	
  are	
  located,	
  there	
  is	
  s+ll	
  a	
  
   cogni6ve	
  gap	
  between	
  features	
  and	
  modules	
  
Rela+onships	
  Among	
  Modules
                               	
                           List	
  of	
  Relevant	
  Modules
                                                                                            	

          a	
  caller	
  and	
  its	
  callee.
                                            	
       AccountBean.signon()	
  
                                                     AccountBean()	
  
   easier to understand at once?
                                                     AccountService()	
  
      invoked	
  together	
  in	
  many	
  
                                                     CatalogService()	
  
     0mes	
  based	
  on	
  a	
  call	
  pa6ern.
                                               	
                                                     Account.setPassword(String)	
  
              also	
  relevant	
  to	
               AccountBean(AccountService,	
  CatalogService)	
  
     ?     "Browse	
  Categories".       	
          DaoConfig.getDaoManager()	
  
                                                     	
  
                                                                 ......
                                 low priority?       	
  
                                                     CatalogService.getProductListByCategory(String)	
  
 Developer
Our	
  Goal:	
  Structured	
  Loca+on
                                              	
•  Stepwise	
  explora+on	
  of	
  implementa+on	
  
   structure	
  of	
  features	
    Features	
                 Search	
  Catalog,	
  
	
  	
  	
  	
  Browse	
  Categories,	
  
                                                                Inter-­‐Feature	
  Structure	
  
                                               STRUCTURED	
  


                Sign	
  On	
  and	
  Off,	
  
                                                LOCATION	




                         	
                 ......




                                                                                    is	
  a	
  part	
  of	
                                                                Intra-­‐Feature	
  Structure	
  
                                                                                    is	
  composed	
  of	
                                                                Sub-­‐Feature	
  structure	
  
                                                                                     is	
  implemented	
  by	

Developer	
                                                              Modules	
  
Example:	
  	
  JPetStore
                                                        	
•  Virtual	
  e-­‐commerce	
  system	
  
     –  Reference	
  applica+on	
  of	
  Java	
  EE	
  

 Feature	
  List	
  
 f1:	
  Browse	
  Catalog	
  
 f2:	
  Search	
  Catalog	
  
 f3:	
  Browse	
  Categories	
  
 f4:	
  Browse	
  Product	
  Details	
  
 f5:	
  Browse	
  Item	
  Details	
  
 f6:	
  Update	
  Shopping	
  Cart	
  
 f7:	
  Sign	
  On	
  and	
  Off	
  
 f8:	
  Update	
  Account	
  
 f9:	
  Update	
  Personaliza+on	
  
 f10:	
  Submit	
  Order	
  
Inter-­‐Feature	
  Structure
                                                       	
•  Concept	
  lace	
  obtained	
  by	
  formal	
  concept	
  
   analysis	

Feature	
  List	
                                                      f1:	
  Browse	
  Catalog	
  
                                                                       f4:	
  Browse	
  Product	
  
f1:	
  Browse	
  Catalog	
                                                       Details	
  
f2:	
  Search	
  Catalog	
  
f3:	
  Browse	
  Categories	
  
f4:	
  Browse	
  Product	
  Details	
                                               f3:	
  Browse	
                                  f7:	
  Sign	
  On	
  and	
  
f5:	
  Browse	
  Item	
  Details	
                                                  Categories	
                                               Off	
  
f6:	
  Update	
  Shopping	
  Cart	
  
f7:	
  Sign	
  On	
  and	
  Off	
  
f8:	
  Update	
  Account	
  
f9:	
  Update	
  Personaliza+on	
  
f10:	
  Submit	
  Order	
  
                                                                                                       f6:	
  Update	
                      f8:	
  Update	
  Account       	
  
                                          f2:	
  Search	
      f5:	
  Browse	
  
                                                                                                  Shopping	
  Cart       	
                         f9:	
  Update	
  
                                           Catalog	
          Item	
  Details	
  
                                                                                                f10:	
  Submit	
  Order       	
              Personaliza+on          	
  
Intra-­‐Feature	
  Structure
                                            	
•  Call	
  dependency	
  graph	
  obtained	
  by	
  dynamic	
  
   analysis	
                                        1

                                                                 156:

                                                                   153:

                                                                 162:
                          179:                     92:
                                                                  164:


                     314:                                        166:
   97:                                             111:
                                                                 168:
           87:

    86:             88:
                                                                   172:
   187:                          311:       297:
                                                                   174:
   185:
                                                                 176:
    159:
                                                                  178:




                                                          182:

                                                            188:
Sub-­‐Feature	
  Structure
                                          	
•  Frequent	
  call	
  sequences	
  of	
  modules	
  obtained	
  
   by	
  sequen+al	
  pa^ern	
  mining	
   Create	
  and	
  ini+alize	
  objects	
  
                                            AccountService()	
               DaoConfig.getDaoManager()	
  

        0	
       AccountBean()	
            CatalogService()	
  


                                           AccountBean(AccountService,	
  CatalogService)	
  




    Confirm	
  whether	
  the	
  user	
  is	
  authen+cated	
  
         0	
         AccountBean.isAuthen+cated()	
                 Account.getName()	
  
Overview	
  of	
  the	
  Proposed	
  Technique
                                                      	
              Preparing	
  Scenarios	
                                                                                      Structure	
  Visualiza6on	
                                                                    ✔	
                                                                      ✔	
✔	
                                                                         ✔	
                                                           Call	
  Pa^ern
                                                                                                                                                    	
Analyst	
                                                           R0:	
  Scenario-­‐
                  Scenarios	
                            Feature	
  Mapping   	


                                                                    ✔	
                                                                                                     Applying	
  FCA	
                                                                      ✔	
✔	
                                                                         ✔	
                                                  Feature-­‐Specific	
  Call	
  Graph	
  
                                                          R1:	
  Scenario-­‐                   Formal	
  
                                                         Module	
  Mapping   	
             Concept     	
  
                                                                                           	
  Analysis
                                                                                                      	
Subject	
       Dynamic	
            Execu+on	
  
                                                                    ✔	
System 	
       Analysis
                       	
              Traces	
                       ✔	
✔	
                                                                         ✔	

                                                       R2:	
  Scenario-­‐Call	
  
              Observing	
  Execu6on	
                Dependency	
  Mapping        	
                           Concept	
  Lace
                                                                                                                              	


                      Sequen+al	
                                   ✔	
                                                                      ✔	
✔	
                    Pa^ern	
  Mining	
                                   ✔	

                                                    R3:	
  Scenario-­‐Call	
  Pa^ern	
  
              Mining	
  Call	
  PaEerns	
                      Mapping
Conclusion
                                                                                               	
          Our'Goal:'Structured'Loca+on                                                                                               InterLFeature'Structure
•  Stepwise'explora+on'of'implementa+on'                                                                          •  Concept'lace'obtained'by'formal'concept'
   structure'of'features                                                                                             analysis
  Features
                                                                                                                  Feature'List'                                     f1:'Browse'Catalog'
                                                                                                                                                                    f4:'Browse'Product'
     Search'Catalog,'                                                                                             f1:'Browse'Catalog'                                      Details'
''''Browse'Categories,'                                                                                           f2:'Search'Catalog'
                                                                               InterMFeature'Structure'
                                               STRUCTURED%




    Sign%On%and%Off,'                                                                                              f3:'Browse'Categories'
                                                LOCATION




                                                                                                                  f4:'Browse'Product'Details'                                 f3:'Browse'                   f7:%Sign%On%and%
                ......




                                                                                              is'a'part'of        f5:'Browse'Item'Details'                                    Categories'                          Off%
                                                                                                                  f6:'Update'Shopping'Cart%
                                                                               IntraMFeature'Structure'
                                                                                                                  f7:%Sign%On%and%Off%
                                                                                              is'composed'of      f8:'Update'Account'
                                                                                                                  f9:'Update'Personaliza+on'
                                                                               SubMFeature'structure'             f10:'Submit'Order'
                                                                                              is'implemented'by                                                                           f6:'Update'           f8:'Update'Account '
                                                                                                                                                f2:'Search'    f5:'Browse'
                                                                                                                                                                                       Shopping'Cart  '              f9:'Update'
                                                                                      Modules'                                                   Catalog'     Item'Details'
Developer                                                                                                                                                                            f10:'Submit'Order  '         Personaliza+on '




                         IntraMFeature'Structure
•  Call'dependency'graph'obtained'by'dynamic'
   analysis
                                                                                                                  Future	
  Work	
  
                                                             1

                                                                                                        156:

                                                                                                          153:
                                                                                                                  •  Improving	
  the	
  scalability	
  
                                                                                                                  •  Evalua+ng	
  the	
  effec+veness	
  
                                                                                                        162:
                                 179:                                   92:
                                                                                                         164:


                            314:                                                                        166:
                                                                        111:




                                                                                                                     and	
  usability	
  
   97:
                                                                                                        168:
          87:

    86:                    88:
                                                                                                          172:
  187:                                  311:                     297:
                                                                                                          174:
   185:
                                                                                                        176:
   159:
                                                                                                         178:




                                                                                                 182:

                                                                                                   188:

                                                                                                         158:
Credit	
•  "Day	
  273	
  -­‐	
  Tiny	
  Trachodon"	
  by	
  puuikibeach	
  
    –  h^p://www.flickr.com/photos/puuikibeach/3768359322	
  
•  "That	
  explains	
  the	
  nasty	
  smell"	
  by	
  Kyknoord	
  
    –  h^p://www.flickr.com/photos/kyknoord/5341831715/

More Related Content

PDF
Toward Understanding How Developers Recognize Features in Source Code from De...
PDF
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
PDF
Visualizing Stakeholder Concerns with Anchored Map
PDF
iFL: An Interactive Environment for Understanding Feature Implementations
PDF
Guiding Identification of Missing Scenarios for Dynamic Feature Location
PDF
Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...
PDF
Understanding And Using Reflection
PDF
Aspect-Oriented Programming and Depedency Injection
Toward Understanding How Developers Recognize Features in Source Code from De...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Visualizing Stakeholder Concerns with Anchored Map
iFL: An Interactive Environment for Understanding Feature Implementations
Guiding Identification of Missing Scenarios for Dynamic Feature Location
Recording Finer-Grained Software Evolution with IDE: An Annotation-Based Appr...
Understanding And Using Reflection
Aspect-Oriented Programming and Depedency Injection

What's hot (19)

PDF
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
PPTX
Concept lattices: a representation space to structure software variability
PDF
Java swing 1
PPTX
Evolution of Patterns
PDF
Multi-dimensional exploration of API usage - ICPC13 - 21-05-13
PDF
Java Programming Assignment
PPS
Java session04
PDF
An Approach to Recover Feature Models From Object-Oriented Source Code
PPTX
GUI Programming in JAVA (Using Netbeans) - A Review
PPT
java swing programming
PDF
PPTX
Application package
PPT
Ppt chapter07
PDF
Automatic Migration of Legacy Java Method Implementations to Interfaces
PDF
Creation of a Test Bed Environment for Core Java Applications using White Box...
DOCX
Chapter 9 & chapter 10 solutions
DOCX
C# Unit 2 notes
PDF
Opal Hermes - towards representative benchmarks
PPT
Unit 5 cspc
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Concept lattices: a representation space to structure software variability
Java swing 1
Evolution of Patterns
Multi-dimensional exploration of API usage - ICPC13 - 21-05-13
Java Programming Assignment
Java session04
An Approach to Recover Feature Models From Object-Oriented Source Code
GUI Programming in JAVA (Using Netbeans) - A Review
java swing programming
Application package
Ppt chapter07
Automatic Migration of Legacy Java Method Implementations to Interfaces
Creation of a Test Bed Environment for Core Java Applications using White Box...
Chapter 9 & chapter 10 solutions
C# Unit 2 notes
Opal Hermes - towards representative benchmarks
Unit 5 cspc
Ad

Viewers also liked (13)

PDF
Modeling and Utilizing Security Knowledge for Eliciting Security Requirements
PDF
Understanding Source Code Differences by Separating Refactoring Effects
PDF
Class Responsibility Assignment as Fuzzy Constraint Satisfaction
PDF
Sentence-to-Code Traceability Recovery with Domain Ontologies
PDF
Refactoring Edit History of Source Code
PDF
Establishing Regulatory Compliance in Goal-Oriented Requirements Analysis
PDF
Detecting Occurrences of Refactoring with Heuristic Search
PDF
How Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQM
PDF
Terminology Matching of Requirements Specification Documents and Regulations ...
PDF
Historef: A Tool for Edit History Refactoring
PDF
Incremental Feature Location and Identification in Source Code
PDF
Feature Location for Multi-Layer System Based on Formal Concept Analysis
PDF
FOSE2010 ミニチュートリアル 「データマイニング技術を応用したソフトウェア構築・保守支援」
Modeling and Utilizing Security Knowledge for Eliciting Security Requirements
Understanding Source Code Differences by Separating Refactoring Effects
Class Responsibility Assignment as Fuzzy Constraint Satisfaction
Sentence-to-Code Traceability Recovery with Domain Ontologies
Refactoring Edit History of Source Code
Establishing Regulatory Compliance in Goal-Oriented Requirements Analysis
Detecting Occurrences of Refactoring with Heuristic Search
How Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQM
Terminology Matching of Requirements Specification Documents and Regulations ...
Historef: A Tool for Edit History Refactoring
Incremental Feature Location and Identification in Source Code
Feature Location for Multi-Layer System Based on Formal Concept Analysis
FOSE2010 ミニチュートリアル 「データマイニング技術を応用したソフトウェア構築・保守支援」
Ad

Similar to Toward Structured Location of Features (20)

PDF
Unit 04: From Requirements to the UX Model
PPTX
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
DOC
Onlineshopping
PPTX
PDF
Practical functional java script
PPTX
Java micro-services
PDF
Practical Functional Javascript
PPTX
Itinerary Analysis and Design
PPTX
Joomla Complex Component MVC Proposal
PPT
Siebel Case Study Presentation Senthil Kumar
PPTX
HBaseCon 2012 | Gap Inc Direct: Serving Apparel Catalog from HBase for Live W...
PDF
AEM (CQ) eCommerce Framework
PPTX
X commerce open stack beijing keynote - 2012-08-10 final
PDF
Software Requirement Specification on Online Purchasing System
PDF
Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...
PPT
Advantage CRM
ODP
Silverstripe Ecommerce
PDF
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
PPT
Final Academic Project
DOC
example of OMT TECHNIQUE (UML)
Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
Onlineshopping
Practical functional java script
Java micro-services
Practical Functional Javascript
Itinerary Analysis and Design
Joomla Complex Component MVC Proposal
Siebel Case Study Presentation Senthil Kumar
HBaseCon 2012 | Gap Inc Direct: Serving Apparel Catalog from HBase for Live W...
AEM (CQ) eCommerce Framework
X commerce open stack beijing keynote - 2012-08-10 final
Software Requirement Specification on Online Purchasing System
Cloudera Sessions - Clinic 3 - Advanced Steps - Fast-track Development for ET...
Advantage CRM
Silverstripe Ecommerce
S314011 - Developing Composite Applications for the Cloud with Apache Tuscany
Final Academic Project
example of OMT TECHNIQUE (UML)

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
August Patch Tuesday
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Encapsulation theory and applications.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Machine learning based COVID-19 study performance prediction
PPTX
A Presentation on Artificial Intelligence
PPTX
Spectroscopy.pptx food analysis technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
A comparative analysis of optical character recognition models for extracting...
Empathic Computing: Creating Shared Understanding
August Patch Tuesday
Reach Out and Touch Someone: Haptics and Empathic Computing
Encapsulation theory and applications.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Machine learning based COVID-19 study performance prediction
A Presentation on Artificial Intelligence
Spectroscopy.pptx food analysis technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Group 1 Presentation -Planning and Decision Making .pptx
Assigned Numbers - 2025 - Bluetooth® Document
NewMind AI Weekly Chronicles - August'25-Week II
Digital-Transformation-Roadmap-for-Companies.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
TLE Review Electricity (Electricity).pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
A comparative analysis of optical character recognition models for extracting...

Toward Structured Location of Features

  • 2. Feature  Loca+on •  Iden+fying  correspondence  between  features   and  modules  in  source  code   Features List  of  Relevant  Modules AccountBean.signon()   Search  Catalog,   AccountBean()   Sign  On  and  Off,   AccountService()   LOCATION FEATURE      Browse  Categories, CatalogService()   ...... Account.setPassword(String)   AccountBean(AccountService,  CatalogService)   DaoConfig.getDaoManager()     ......   CatalogService.getProductListByCategory(String)   Developer
  • 3. Mo+va+on •  AHer  features  are  located,  there  is  s+ll  a   cogni6ve  gap  between  features  and  modules   Rela+onships  Among  Modules List  of  Relevant  Modules a  caller  and  its  callee. AccountBean.signon()   AccountBean()   easier to understand at once? AccountService()   invoked  together  in  many   CatalogService()   0mes  based  on  a  call  pa6ern. Account.setPassword(String)   also  relevant  to   AccountBean(AccountService,  CatalogService)   ? "Browse  Categories". DaoConfig.getDaoManager()     ...... low priority?   CatalogService.getProductListByCategory(String)   Developer
  • 4. Our  Goal:  Structured  Loca+on •  Stepwise  explora+on  of  implementa+on   structure  of  features Features Search  Catalog,          Browse  Categories,   Inter-­‐Feature  Structure   STRUCTURED   Sign  On  and  Off,   LOCATION ...... is  a  part  of Intra-­‐Feature  Structure   is  composed  of Sub-­‐Feature  structure   is  implemented  by Developer Modules  
  • 5. Example:    JPetStore •  Virtual  e-­‐commerce  system   –  Reference  applica+on  of  Java  EE   Feature  List   f1:  Browse  Catalog   f2:  Search  Catalog   f3:  Browse  Categories   f4:  Browse  Product  Details   f5:  Browse  Item  Details   f6:  Update  Shopping  Cart   f7:  Sign  On  and  Off   f8:  Update  Account   f9:  Update  Personaliza+on   f10:  Submit  Order  
  • 6. Inter-­‐Feature  Structure •  Concept  lace  obtained  by  formal  concept   analysis Feature  List   f1:  Browse  Catalog   f4:  Browse  Product   f1:  Browse  Catalog   Details   f2:  Search  Catalog   f3:  Browse  Categories   f4:  Browse  Product  Details   f3:  Browse   f7:  Sign  On  and   f5:  Browse  Item  Details   Categories   Off   f6:  Update  Shopping  Cart   f7:  Sign  On  and  Off   f8:  Update  Account   f9:  Update  Personaliza+on   f10:  Submit  Order   f6:  Update   f8:  Update  Account   f2:  Search   f5:  Browse   Shopping  Cart   f9:  Update   Catalog   Item  Details   f10:  Submit  Order   Personaliza+on  
  • 7. Intra-­‐Feature  Structure •  Call  dependency  graph  obtained  by  dynamic   analysis 1 156: 153: 162: 179: 92: 164: 314: 166: 97: 111: 168: 87: 86: 88: 172: 187: 311: 297: 174: 185: 176: 159: 178: 182: 188:
  • 8. Sub-­‐Feature  Structure •  Frequent  call  sequences  of  modules  obtained   by  sequen+al  pa^ern  mining Create  and  ini+alize  objects   AccountService()   DaoConfig.getDaoManager()   0   AccountBean()   CatalogService()   AccountBean(AccountService,  CatalogService)   Confirm  whether  the  user  is  authen+cated   0   AccountBean.isAuthen+cated()   Account.getName()  
  • 9. Overview  of  the  Proposed  Technique Preparing  Scenarios Structure  Visualiza6on ✔ ✔ ✔ ✔ Call  Pa^ern Analyst R0:  Scenario-­‐ Scenarios Feature  Mapping ✔ Applying  FCA ✔ ✔ ✔ Feature-­‐Specific  Call  Graph   R1:  Scenario-­‐ Formal   Module  Mapping Concept    Analysis Subject   Dynamic   Execu+on   ✔ System   Analysis Traces ✔ ✔ ✔ R2:  Scenario-­‐Call   Observing  Execu6on Dependency  Mapping Concept  Lace Sequen+al   ✔ ✔ ✔ Pa^ern  Mining ✔ R3:  Scenario-­‐Call  Pa^ern   Mining  Call  PaEerns Mapping
  • 10. Conclusion Our'Goal:'Structured'Loca+on InterLFeature'Structure •  Stepwise'explora+on'of'implementa+on' •  Concept'lace'obtained'by'formal'concept' structure'of'features analysis Features Feature'List' f1:'Browse'Catalog' f4:'Browse'Product' Search'Catalog,' f1:'Browse'Catalog' Details' ''''Browse'Categories,' f2:'Search'Catalog' InterMFeature'Structure' STRUCTURED% Sign%On%and%Off,' f3:'Browse'Categories' LOCATION f4:'Browse'Product'Details' f3:'Browse' f7:%Sign%On%and% ...... is'a'part'of f5:'Browse'Item'Details' Categories' Off% f6:'Update'Shopping'Cart% IntraMFeature'Structure' f7:%Sign%On%and%Off% is'composed'of f8:'Update'Account' f9:'Update'Personaliza+on' SubMFeature'structure' f10:'Submit'Order' is'implemented'by f6:'Update' f8:'Update'Account ' f2:'Search' f5:'Browse' Shopping'Cart ' f9:'Update' Modules' Catalog' Item'Details' Developer f10:'Submit'Order ' Personaliza+on ' IntraMFeature'Structure •  Call'dependency'graph'obtained'by'dynamic' analysis Future  Work   1 156: 153: •  Improving  the  scalability   •  Evalua+ng  the  effec+veness   162: 179: 92: 164: 314: 166: 111: and  usability   97: 168: 87: 86: 88: 172: 187: 311: 297: 174: 185: 176: 159: 178: 182: 188: 158:
  • 11. Credit •  "Day  273  -­‐  Tiny  Trachodon"  by  puuikibeach   –  h^p://www.flickr.com/photos/puuikibeach/3768359322   •  "That  explains  the  nasty  smell"  by  Kyknoord   –  h^p://www.flickr.com/photos/kyknoord/5341831715/