SlideShare a Scribd company logo
1 of 9
Meta-Level Runtime Feature Awareness
                          for Java [short]
            Andrzej Olszak, Martin Rytter, Bo Nørregaard Jørgensen
                                       {ao, mlrj, bnj}@mmmi.sdu.dk
Motivating metaphor

                               Awareness of
Animals               Humans   own behavior
                                   a.k.a.
                               Self-targeted
                                 dynamic
                                 analysis
Is your software a frog?
 Feature   location
  Mapping  features to code
  Traceability links used by programmers



                                 Program

                       Runtime
   User                                Source code
                        events




                  Specifications
                                                     Programmer
                   of features
Is your software a frog?
 Feature   location
  Mapping  features to code
  Traceability links used by programmers



                                 Program

                       Runtime
   User                                Source code
                        events




                                           Runtime feature awareness:
                  Specifications           The ability of a program to
                                                          Programmer
                   of features             recognize and act upon executions
                                           of its own features
JAwareness
 Feature location + exposure of results to traced
  program
 Feature entry points are starting points of features
Feature-aware error reporting
 Reproducing   errors from error messages is hard
 Print errors with names of features that caused them
 Writing custom logger of System.err handler
Feature-aware program usage statistics
 Understand   how end-users use the program
 Prioritize development efforts, improve usability
 Listener + annotations – no probe methods needed
Feature-aware program adaptation
 Adjust  to user’s actions as they occur at runtime
 Intelligent ‘tip of the day’, dynamically adaptable UI’s
Summary
 Usage of reverse engineering information at runtime
 by program themselves
  Making  programs recognize and act upon executions of
   their own features




 Proof-of-conceptimplementations at:
 http://www.featureous.org/jawareness/

More Related Content

Similar to Meta level runtime feature awareness for java

Java Programming Basics Infographic.pdf
Java Programming Basics  Infographic.pdfJava Programming Basics  Infographic.pdf
Java Programming Basics Infographic.pdfcybersuccessseo
 
Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization mentoresd
 
Overall 23 11_2007_hdp
Overall 23 11_2007_hdpOverall 23 11_2007_hdp
Overall 23 11_2007_hdpMohd Arif
 
Tech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewTech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewMichal Juhas
 
Java Programming Projects
Java Programming ProjectsJava Programming Projects
Java Programming ProjectsPhdtopiccom
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testingVikrant Chauhan
 
Mobile camera based text detection and translation
Mobile camera based text detection and translationMobile camera based text detection and translation
Mobile camera based text detection and translationVivek Bharadwaj
 
Capítulo 3 Programas de Aplicacion
Capítulo 3 Programas de AplicacionCapítulo 3 Programas de Aplicacion
Capítulo 3 Programas de Aplicacionzihat
 
Discovering Computers: Chapter 03
Discovering Computers: Chapter 03Discovering Computers: Chapter 03
Discovering Computers: Chapter 03Anna Stirling
 
仕様決定、部品化、ディレクションがなぜ重要か
仕様決定、部品化、ディレクションがなぜ重要か仕様決定、部品化、ディレクションがなぜ重要か
仕様決定、部品化、ディレクションがなぜ重要かKohei Otsuka
 
java Training in Ranchi
java Training in Ranchijava Training in Ranchi
java Training in Ranchisanjaydeo12
 
Managing variability in software applications - scandev12
Managing variability in software applications - scandev12Managing variability in software applications - scandev12
Managing variability in software applications - scandev12Stephan Hochdörfer
 
Features of Java Programming Language | The Knowledge Academy
Features of Java Programming Language | The Knowledge Academy Features of Java Programming Language | The Knowledge Academy
Features of Java Programming Language | The Knowledge Academy The Knowledge Academy
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
OGCE MSI Presentation
OGCE MSI PresentationOGCE MSI Presentation
OGCE MSI Presentationmarpierc
 
Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Agora Group
 

Similar to Meta level runtime feature awareness for java (20)

Java Programming Basics Infographic.pdf
Java Programming Basics  Infographic.pdfJava Programming Basics  Infographic.pdf
Java Programming Basics Infographic.pdf
 
Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization Profiling Multicore Systems to Maximize Core Utilization
Profiling Multicore Systems to Maximize Core Utilization
 
Overall 23 11_2007_hdp
Overall 23 11_2007_hdpOverall 23 11_2007_hdp
Overall 23 11_2007_hdp
 
Tech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet PreviewTech Mind Maps - Booklet Preview
Tech Mind Maps - Booklet Preview
 
Java Programming Projects
Java Programming ProjectsJava Programming Projects
Java Programming Projects
 
Exclusive Cover Focus
Exclusive Cover FocusExclusive Cover Focus
Exclusive Cover Focus
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testing
 
Mobile camera based text detection and translation
Mobile camera based text detection and translationMobile camera based text detection and translation
Mobile camera based text detection and translation
 
Capítulo 3 Programas de Aplicacion
Capítulo 3 Programas de AplicacionCapítulo 3 Programas de Aplicacion
Capítulo 3 Programas de Aplicacion
 
Discovering Computers: Chapter 03
Discovering Computers: Chapter 03Discovering Computers: Chapter 03
Discovering Computers: Chapter 03
 
仕様決定、部品化、ディレクションがなぜ重要か
仕様決定、部品化、ディレクションがなぜ重要か仕様決定、部品化、ディレクションがなぜ重要か
仕様決定、部品化、ディレクションがなぜ重要か
 
java Training in Ranchi
java Training in Ranchijava Training in Ranchi
java Training in Ranchi
 
Managing variability in software applications - scandev12
Managing variability in software applications - scandev12Managing variability in software applications - scandev12
Managing variability in software applications - scandev12
 
Features of Java Programming Language | The Knowledge Academy
Features of Java Programming Language | The Knowledge Academy Features of Java Programming Language | The Knowledge Academy
Features of Java Programming Language | The Knowledge Academy
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
Resume
ResumeResume
Resume
 
OGCE MSI Presentation
OGCE MSI PresentationOGCE MSI Presentation
OGCE MSI Presentation
 
Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012Android. behind the scenes_programatica 2012
Android. behind the scenes_programatica 2012
 
Applicaton Software
Applicaton SoftwareApplicaton Software
Applicaton Software
 
Core java slides
Core java slidesCore java slides
Core java slides
 

Meta level runtime feature awareness for java

  • 1. Meta-Level Runtime Feature Awareness for Java [short] Andrzej Olszak, Martin Rytter, Bo Nørregaard Jørgensen {ao, mlrj, bnj}@mmmi.sdu.dk
  • 2. Motivating metaphor Awareness of Animals Humans own behavior a.k.a. Self-targeted dynamic analysis
  • 3. Is your software a frog?  Feature location  Mapping features to code  Traceability links used by programmers Program Runtime User Source code events Specifications Programmer of features
  • 4. Is your software a frog?  Feature location  Mapping features to code  Traceability links used by programmers Program Runtime User Source code events Runtime feature awareness: Specifications The ability of a program to Programmer of features recognize and act upon executions of its own features
  • 5. JAwareness  Feature location + exposure of results to traced program  Feature entry points are starting points of features
  • 6. Feature-aware error reporting  Reproducing errors from error messages is hard  Print errors with names of features that caused them  Writing custom logger of System.err handler
  • 7. Feature-aware program usage statistics  Understand how end-users use the program  Prioritize development efforts, improve usability  Listener + annotations – no probe methods needed
  • 8. Feature-aware program adaptation  Adjust to user’s actions as they occur at runtime  Intelligent ‘tip of the day’, dynamically adaptable UI’s
  • 9. Summary  Usage of reverse engineering information at runtime by program themselves  Making programs recognize and act upon executions of their own features  Proof-of-conceptimplementations at: http://www.featureous.org/jawareness/