SlideShare a Scribd company logo
1 of 42
Context-­‐Aware	
  So.ware	
  
Engineering	
  and	
  Maintenance:	
  
                                    	
  
     The	
  FastFix	
  Approach	
  



   Dr.	
  Walid	
  Maalej	
  	
  
   TU	
  München,	
  Germany	
  
Summary	
  of	
  the	
  Talk	
  


                 1	
  
                           We	
  model	
  context	
  as	
  a	
  set	
  of	
  events	
  including	
  the	
  interacIon	
  of	
  
                           users	
  with	
  the	
  applica?ons	
  and	
  the	
  concerned	
  arIfacts	
  


                 2	
  
                           We	
  dis?nguish	
  between	
  short	
  term	
  context	
  (work	
  sessions,	
  
                           intenIons,	
  problems)	
  and	
  long	
  term	
  context	
  (user	
  experience)	
  


                 3	
  
                           Our	
  research	
  is	
  mo?vated	
  by	
  so.ware	
  engineering	
  work,	
  but	
  can	
  
                           be	
  easily	
  extended	
  to	
  general	
  knowledge	
  work	
  




Maalej,	
  June.	
  2011	
                                  FastFix	
  Context	
  Approach	
  	
                                  2	
  
Outline	
  

                     1	
       MoIvaIon	
  


                     2	
       Context	
  Model	
  


                     3	
       ApplicaIons	
  


                     4	
       Research	
  Challenges	
  


Maalej,	
  June.	
  2011	
                FastFix	
  Context	
  Approach	
  	
     3	
  
For	
  Companies:	
  Reduce	
  So.ware	
  Maintance	
  Costs
                                                            	
  

        (Schach,	
  2008):	
  Most	
  of	
  the	
  effort	
  and	
  cost	
  is	
  spent	
  on	
  post-­‐delivery	
  
        maintenance	
  based	
  on	
  various	
  data	
  sources	
  


               Average	
  cost	
  1976	
  -­‐1981	
  	
                                  Average	
  cost	
  1992	
  -­‐	
  1998	
  

                               33%
                                                                                                     25%
                                                                                                                       Development	
  
        67%                                  Development	
  
                                                                                                                       Maintenance	
  
                                             Maintenance	
                          75%




        More	
  than	
  90%	
  of	
  companies	
  resources	
  dedicated	
  to	
  soPware	
  
        maintenance	
  (Erlikh,	
  2000,	
  IT	
  Pro)	
  

Maalej,	
  June.	
  2011	
                          FastFix	
  Context	
  Approach	
  	
                                              4	
  
For Users: Avoid Annoying Software Errors




                                                                        ReacIon	
  



Maalej,	
  June.	
  2011	
     FastFix	
  Context	
  Approach	
  	
                   5
FastFix:	
  Monitoring	
  Context	
  for	
  Remote	
  
                          So.ware	
  Maintenance      	
  

                    	
  U	
  ser	
  
                             User	
  
                        	
  User	
                 	
  A	
  pplica?on	
  
                                                            Applica?on	
  
                                                       	
  Applica?on	
                   	
  FastFix	
  Client	
                      FastFix	
  Server	
  
                                  1:	
  interact	
  
                                                                              2:	
  monitor	
  

                                                                           3:	
  iden?fy	
  	
  
                                                                                    errors	
  
                                4	
  op?onal:	
  ask	
  for	
  	
  feedback	
  	
  

                                                                     5:	
  preprocess	
  
                                                                                                           6:	
  securely	
  report	
  	
  

                                                                                                           7:	
  replicate	
  errors	
  
                                                                                                                8:	
  correlate	
  
                                                                                                                        events	
  

                                                                                                                      9:	
  generate	
  
                                                                                                                               patch	
  
                                                                                                           10:	
  update	
  
                                                                        11:	
  self-­‐heal	
  
                               12	
  op?onal:	
  inform	
  



Maalej,	
  June.	
  2011	
                                                          17.06.2011	
                                                               6
Outline	
  

                     1	
       MoIvaIon	
  


                     2	
       Context	
  Model	
  


                     3	
       ApplicaIons	
  


                     4	
       Research	
  Challenges	
  


Maalej,	
  June.	
  2011	
                FastFix	
  Context	
  Approach	
  	
     7	
  
Sources	
  of	
  Context	
  InformaIon	
  in	
  FastFix	
  


                                               Context




                               User        Application                         Environment




Maalej,	
  June.	
  2011	
            FastFix	
  Context	
  Approach	
  	
                   8
A	
  Context	
  Aware	
  Model	
  of	
  Knowledge	
  Work	
  

                                                                                             Environment	
  
                               Work	
  

                                                                                             Applica?on	
  

    Change	
                                   Context	
  
                          Performed in                                                           User	
  



         Short-­‐term	
  Context	
             Long-­‐term	
  Context	
                                        Interac?on	
  

                                                                                                                       concerns

   Inten?on	
                    Problem	
                   Experience	
                                        Ar?fact	
  



Maalej,	
  June.	
  2011	
                          FastFix	
  Context	
  Approach	
  	
                                        9
Structure	
  of	
  Context	
  Events
                                                                   	
  


                                                     ContextEvent




                                                                                            Semantic
                        Timestamp                         Duration
                                                                                           Information


                                  	
  <pre:e1	
  	
  	
  rdf:type	
  	
  	
  int:Read>	
  
                                  	
  <pre:e1	
  	
  	
  int:hasTimeStamp	
  	
  	
  12222222200>	
  
                  Example	
       	
  <pre:e1	
  	
  	
  int:hasDura?on	
  	
  	
  200>	
  
                                  	
  <pre:e1	
  	
  	
  int:concerns	
  	
  	
  /myProject/isItWorking.java>	
  	
  
                                  	
  </myProject/isItWorking.java	
  	
  	
  rdf:type	
  	
  	
  TestCase>	
  

Maalej,	
  June.	
  2011	
                        FastFix	
  Context	
  Approach	
  	
                                  10
A	
  Scratch	
  of	
  Context-­‐Aware	
  Tools
                                                                            	
  

                                                           Addi?onal	
  	
  
                                                           feedback	
                          RecommendaIon	
  Tool	
  
   Interac?on	
  	
  
                                      interact	
                                                               trigger	
  
     Ontoloy	
  
                                                                                                 Context	
  Observer	
  
                                                                                                                       problem
                                                                                                                      problem
                                                                                                                      Problem	
  
                                               ApplicaIon	
  	
  
                                                sensors	
  
                                                                                         ElicitaIon	
   events	
   Session-­‐
                                                                                                                    izaIon	
  

Execu?on	
                        OS	
  	
       ExecuIon	
  Env.	
  
Ontology	
                      sensors	
           sensors	
  
                                                                                                              update	
  

                                                                                                    User	
  Profile	
  

Maalej,	
  June.	
  2011	
                            FastFix	
  Context	
  Approach	
  	
                                       11
Ontologies	
  Define	
  the	
  SemanIcs	
  of	
  So.ware	
  
                          Engineering	
  Work 	
  
                                                                  concerns	
  
                               	
  Interac?on	
                                                             Ar?fact	
  


                 has	
  type	
                                                                                      has	
  type	
  


                                                    Change	
                                          Tool	
                  Class	
  
                       Read	
  
                               Other	
  
                          interac?on	
  and	
                                                              Other	
  ar?fact	
  
          Test	
                                            Use	
                         Model	
             types	
                 Email	
  
                           ac?vity	
  types	
  

                     Debug	
                 Specify	
                                            Request	
            Method	
  




                                                                                                                            Ref:	
  [Maalej,	
  MSR’10]	
  
Maalej,	
  June.	
  2011	
                                   FastFix	
  Context	
  Approach	
  	
                                                   12	
  
Type	
  Inference	
  for	
  InteracIons	
  &	
  ArIfacts
                                                                      	
  

                                         concerns	
                                         member	
  of	
  
                event	
                                          SayHello	
                                       HelloWord	
  

                       rdf:type	
                                        rdf:type	
                                         rdf:type	
  

               Create	
  
                                                                  Method	
                                             Class	
  
               Method	
  



                                                                                           concerns	
  
                                                                   event	
                                     HelloWord	
  

                               rdf:type	
                                  rdf:type	
                                    rdf:type	
  

                                                                 Browse	
  
                                  Report	
  bug	
                                                              Bug	
  Report	
  
                                                                  Web	
  




Maalej,	
  June.	
  2011	
                              FastFix	
  Context	
  Approach	
  	
                                               13
Short Term

    Developer’s	
  Work:	
  From	
  InteracIons	
  to	
  IntenIons
                                                                 	
  
                                                                                                                                            Assist	
  Colleague	
  on	
  
                                                                                                                                                         ?	
  
                                                                                                                                           Reusing	
  Component	
  C      	
  

                                                                                                                                         Fix	
  Table	
  Rendering	
  Bug	
  
                                                                                                                                                           ?	
           	
  
  InteracIon	
                                                                                      Current	
  
  Granularity	
                                                                                     IntenIon	
                           Task	
  T1:	
  Implement	
  XML	
  
                                                                                                                                                         Export
                                                                                                                                                              	
  




     Session	
           Work	
  Session	
  1	
              Work	
  Session	
  2	
           Work	
  Session	
  3	
                    Work	
  Session	
  4	
                   …	
  


  Seman?c	
  	
   Read Reuse
                        	
                    Impl.
                                                  	
         Read	
  Bug	
                              Seek   	
           Debug	
   Impl. Test	
   Close	
  
                                                                                                                                     	
           	
  
                                                                                  …	
       Chat
                                                                                               	
                     …	
                                                    …	
  
interac?on	
   Task Lib
                     	
      	
               Class
                                                  	
          Report   	
                               Info	
               App Met App Bug
                                                                                                                                	
                          	
        	
  
                                                                                                                                          h  	
  
Interac?on	
          Use	
   Download	
   Edit	
   Copy	
   Paste	
   Open	
   	
  
                             	
         Scroll	
      Edit	
   	
   Import	
  
                                                      Open	
   Add	
  
                                                      	
                                Edit	
                                 Add	
              Step	
  into	
   Step	
  into	
  
 with	
  tools	
                                                             Run ..Read Search .. ...
                                                                                   	
   	
   Write 	
   	
   	
   	
   	
  
                                                                                                 Scroll
                                                                                                 	
   	
  
                     Tool	
  T1Library	
  L ist Classpath Method	
  X	
   Method	
  b
                                  	
   Task	
  Method	
  a T	
  	
   URL	
   b URL
                                               L 	
   Task	
   	
   Class	
   	
  
                                               	
          URL
                                                           	
           	
                 	
        	
                     Breakpoint Method	
  x Method	
  y
                                                                                                                                          	
                     	
                	
  

                                                                                                                                                                             Time	
  
  Maalej,	
  June.	
  2011	
                                          FastFix	
  Context	
  Approach	
  	
                                                                   14
AggregaIon	
  and	
  Filtering	
  of	
  Context
                                                                       	
                                                   Long Term


                                (Simplified	
  Formula)       	
  

       Experience	
  with	
  a	
         The	
  more	
  frequent	
  we	
                         The	
  longer	
  we	
  use	
  an	
  
       par?cular	
  ar?fact	
         interact	
  with	
  an	
  ar?fact,	
  the	
                  ar?fact,	
  the	
  more	
  
                                       more	
  experience	
  we	
  have	
                         experience	
  we	
  have	
  
                                                    with	
  it	
                                           with	
  it	
  



                                              Frequency	
                                           DuraIon	
  
                                                                                                           	
  
    Experience	
  
                                                                                       Age	
  
                                                                                          	
  

                                                             The	
  older	
  the	
  interac?on	
  with	
  the	
  
                                                              ar?fact,	
  the	
  less	
  experience	
  we	
  
                                                                              have	
  with	
  it	
  
                                                                                                           Ref:	
  [Maalej,	
  RSSE	
  2010]	
  

Maalej,	
  June.	
  2011	
                    FastFix	
  Context	
  Approach	
  	
                                                    15	
  
Long Term


                               Experience	
  Meta	
  Model
                                                         	
  




Maalej,	
  June.	
  2011	
             FastFix	
  Context	
  Approach	
  	
         16	
  
FastFix	
  Model	
  for	
  Context	
  ElicitaIon	
  




Maalej,	
  June.	
  2011	
                FastFix	
  Context	
  Approach	
  	
     17
Outline	
  

                     1	
       MoIvaIon	
  


                     2	
       Context	
  Model	
  


                     3	
       ApplicaIons	
  


                     4	
       Research	
  Challenges	
  


Maalej,	
  June.	
  2011	
                FastFix	
  Context	
  Approach	
  	
     18	
  
ApplicaIons	
  of	
  Context-­‐Awareness
                                                                  	
  
                                          Traceability and Tool Integration
                               (Semi) automatic linking of development artefacts and tool
                                                     functionalities


             Information Allocation                                               Personal Productivity Management
             Filtering of search results and                                      Control and optimization of
             extension of queries (semantic search)                               development time and space


       Knowledge Sharing                                                                         Awareness Creation
       A proactive capturing and                           Context                               Dissemination of status and
       sharing of experiences                               Aware                                priority information
                                                        Development
                                                       Infrastructures

                 Uses of context of assist developers in these tasks and increase productivity




Maalej,	
  June.	
  2011	
               Context-­‐Aware	
  Development	
  Infrastructures	
                             19
Organize	
  Work	
  by	
  Using	
  Task	
  Context	
  
                                    (IntenIons)        	
  
                    Fix Bug In XML Export                              Prepare My Talk at Powerset




                    Process Bank Transactions                          Experiment the iPhone SDK


                          •  You don’t have to predefine tasks
                          •  Your tasks are discovered automatically during the actual work
Maalej,	
  June.	
  2011	
            Context-­‐Aware	
  Development	
  Infrastructures	
            20
Tracing	
  Related	
  ArIfacts	
  from	
  IntenIon	
  Details	
  
                                                                  	
  
                           (in	
  MacIntent)   	
  




Maalej,	
  June.	
  2011	
     FastFix	
  Context	
  Approach	
  	
     21
SemanIc	
  Search	
  for	
  Distributed	
  InformaIon	
  
                                                               	
  
                          (in	
  WinIntent)    	
  




Maalej,	
  June.	
  2011	
     FastFix	
  Context	
  Approach	
  	
     22
MacIntent:	
  AutomaIcally	
  Generated	
  Commit	
  
                            Message    	
  




Maalej,	
  June.	
  2011	
     FastFix	
  Context	
  Approach	
  	
     23
FastFix	
  Error	
  Handling	
  
                                                                         Strategies      	
  
                                     Recommend
                                     error report

                                                     Generate
                      Recordable symptoms           error report
                                                                                                                                                 FastFix	
  focus	
  
                                                                   Replicate
                                                                     fault

                                                                                   Show
Error complexity




                      Reproducible error                                         context
                                                                               information
                                                                                             Recommend
                                                                                              causes to
                                                                                              engineer
                                                                                                          Inform user
                      Known causes                                                                           about
                                                                                                          error causes
                                                                                                                         Recommend
                                                                                                                          solution to
                                                                                                                           engineer

                                                                                                                                        Recommend
                      Known solution                                                                                                     fix to user

                                                                                                                                                      Generate
                                                                                                                                                       Patch


                      Automatically resolvable                                                                                                                   Self-heal


                   Maalej,	
  June.	
  2011	
                                     Strategy complexity
Detect	
  and	
  Describe	
  Error	
  SituaIons	
  
                                                  FastFix Error Reporting


                                    The application MOSKitt quit unexpectedly.
                                    FastFix will send an error report to the maintenance
                                    center that includes information necessary to fix the
                                    problem as soon as possible. Your personal data will
                                    not be contained in the report.
                                    Once a fix for the problem is identified it will be
                                    automatically sent to you.




                                    Steps to reproduce:
                                    1. Open MOSKitt
                                    2. Import data file (file data obfuscated)
                                    3. Click button named “btn_Transform”


                                                                                      Send




Maalej,	
  June.	
  2011	
                   FastFix	
  Context	
  Approach	
  	
            25
Context	
  Augmented	
  Fault	
  ReplicaIon	
  
                                                                    GUI Replay                                            Context




                                        MOSKitt User Interface:                                                            Graphical Context View:

                                                                                                                                          User Application   Both
                                                                                                                            Granularity
                                                                                                                               level

                                                                                                                                    +          A1

                                                                                                                                               B1

                                                                                                                                               C1             C2
                                                                                                                                    -
                                                                                                                          Search:                             Graphic Text



                                                                                 Fault Replay

                               Use these elements to control the fault replay.




                                   Back                    Play            Forward Stop                     Step In        Step Out


Maalej,	
  June.	
  2011	
                                                       FastFix	
  Context	
  Approach	
  	
                                                        26
Context	
  Augmented	
  Debugging	
  




                                                                                                                  Condition      Position
                                                                                                             CPU Load > 75 %      Line 4
                                                                                                          User Type = Beginner   Line 159
                                                                                                                     NONE        Line 13
                           Context View:
                                     Granularity       User Application Both
                                        level


                                         + +




                                                            A1



                                                           B1
      Fault Replay
    Use these elements to control the fault replay.
                                                           C1            C2
                                          --




        Back                    Play            Forward Stop                   Step In      Step Out

Maalej,	
  June.	
  2011	
                                                      FastFix	
  Context	
  Approach	
  	
                        27
Error	
  Cause	
  and	
  Error	
  SoluIon	
  RecommendaIon	
  
                                                             	
  




                                Unhandled Exception in MOSKitt (Automatic Report)

                                                          FastFix component




                                Similar Error Reports Recommendation (FastFix)
                                                          Unhandled Exception, org.moskitt.transform,
                                                          btn_Transform
                               FastFix recommends the following similar error reports:

                               1. Ticket #123: Unhandled Exception in MOSKitt (Automatic Report) - 95% - ASSIGNED
                               2. Ticket #47: Moskitt crashed while I was importing a model - 67% - CLOSED (FIXED)
                               3. Ticket #98: Unhandled exception - 65% - ASSIGNED



                                                                                                        FastFix Error Report Recommendation

                                Error Cause Recommendation (FastFix)

                               Cause                                                                    Probability
                               Third party component failure                                                98%             Show solution...
                               Usability failure                                                            45%             Show solution...
                               Configuration error                                                           12%             Show solution...

Maalej,	
  June.	
  2011	
                                               FastFix	
  Context	
  Approach	
  	
                                  28
                                                                                                        FastFix Error Cause Recommendation
Error	
  Cause	
  and	
  Error	
  SoluIon	
  RecommendaIon	
  
                                                             	
                 Control




                                                                             System behavior of method1:




                                Error Cause Detected in method1


                                  Self-Heal: Auto-Create Control Objective
                                  Import Control Objective




                                                                               Objectives


                                                                             Self-Healing Control Objective
                                                                                  preventing method5:

                                                                                                                5
                                                                                            Any event but method1




Maalej,	
  June.	
  2011	
     FastFix	
  Context	
  Approach	
  	
                                                 29
Outline	
  

                     1	
       MoIvaIon	
  


                     2	
       Conceptual	
  Model	
  


                     3	
       ApplicaIons	
  


                     4	
       Research	
  Challenges	
  


Maalej,	
  June.	
  2011	
                FastFix	
  Context	
  Approach	
  	
     30	
  
Challenges	
  of	
  Context	
  Awareness	
  
                                                      Efficient	
  InstrumentaIon	
  
                                                       How	
  can	
  heterogeneous	
                       Privacy	
  ProtecIon	
  
             Context	
  Modeling	
                       tools	
  be	
  efficiently	
  
                                                                                                    How	
  can	
  we	
  protect	
  users’	
  
    How	
  can	
  we	
  model	
  abstract	
                  instrumented?    	
  
                                                                                                     privacy	
  while	
  collec?ng	
  
    no?on	
  of	
  context	
  to	
  support	
  
                                                                                                   sensi?ve	
  informa?on?	
  What	
  
     unique	
  scenarios?	
  What	
  is	
  
                                                            Major	
  research	
                     are	
  acceptable	
  trade-­‐offs?	
  	
  
        part	
  of	
  the	
  context?  	
  
                                                             challenges	
  on	
  
                                                                  context-­‐
       Context	
  RepresentaIon	
  
                               	
                                                                  AggregaIon	
  and	
  Processing	
  
                                                                                                                                  	
  
                                                                awareness
                                                                        	
  
   Can	
  we	
  efficiently	
  represent	
                                                               How	
  can	
  we	
  aggregate	
  
    data	
  and	
  knowledge	
  	
  and	
                      Context	
  
                                                                       	
                          context	
  for	
  different	
  levels	
  of	
  
     enable	
  reasoning	
  and	
  	
                       SessionizaIon	
  
                                                                            	
                     granularity?	
  Can	
  we	
  measure	
  
    seman?c	
  interpreta?on?           	
                                                            and	
  compare	
  subjec?ve	
  
                                                    How	
  can	
  we	
  “package”	
  
                                                                                    	
  
                                                                                                      context	
  like	
  experience?    	
  
                                                  context	
  events?	
  How	
  can	
  a	
  
                                                  context	
  switch	
  be	
  detected?    	
  
                                                                                                                       [Maalej,	
  Roadmap	
  2010]	
  
Maalej,	
  June.	
  2011	
                                FastFix	
  Context	
  Approach	
  	
                                                31	
  
For	
  more	
  informaIon	
  
1.  W	
  Maalej,	
  Inten?on-­‐Based	
  Tool	
  Integra?on	
  
    of	
  SoPware	
  Engineering	
  Tools,	
  Dr.	
  Hut	
  Verlag	
  
    2010	
  (available	
  at	
  amazon.de)	
  	
  

2.  W	
  Maalej	
  ,	
  Task	
  First	
  or	
  Context	
  First?	
  Tool	
  
    Integra?on	
  Revisited.	
  In	
  Proceedings	
  of	
  the	
  
    24th	
  IEEE/ACM	
  Interna?onal	
  Conference	
  on	
  
    Automated	
  SoPware	
  Engineering,	
  2009	
  

3.  W.	
  Maalej	
  and	
  H-­‐J	
  Happel,	
  Can	
  Development	
  
    Work	
  Describe	
  Itself?	
  In	
  Proceeding	
  of	
  6th	
  
    IEEE	
  Interna?onal	
  Conference	
  on	
  Mining	
  
    SoPware	
  Repositories,	
  2010	
  	
  

4.  W	
  Maalej	
  et	
  al.	
  When	
  Users	
  Become	
  
    Collaborators,	
  In	
  OOPSLA	
  2009	
  
Maalej,	
  June.	
  2011	
                           FastFix	
  Context	
  Approach	
  	
     32
Related	
  Projects	
  




Maalej,	
  June.	
  2011	
        FastFix	
  Context	
  Approach	
  	
     33
Summary	
  of	
  the	
  Talk	
  


                 1	
  
                           We	
  model	
  context	
  as	
  a	
  set	
  of	
  events	
  including	
  the	
  interacIon	
  of	
  
                           users	
  with	
  the	
  applica?ons	
  and	
  the	
  concerned	
  arIfacts	
  


                 2	
  
                           We	
  dis?nguish	
  between	
  short	
  term	
  context	
  (work	
  sessions,	
  
                           intenIons,	
  problems)	
  and	
  long	
  term	
  context	
  (user	
  experience)	
  


                 3	
  
                           Our	
  research	
  is	
  mo?vated	
  by	
  so.ware	
  engineering	
  work,	
  but	
  can	
  
                           be	
  easily	
  extended	
  to	
  general	
  knowledge	
  work	
  




Maalej,	
  June.	
  2011	
                                  FastFix	
  Context	
  Approach	
  	
                                  34	
  
Contact

                                 Dr.	
  Walid	
  Maalej	
  	
  
                                         TUM	
  
                               maalejw@cs.tum.edu	
  




Maalej,	
  June.	
  2011	
                          FastFix	
  Context	
  Approach	
  	
     35
Backups	
  




Maalej,	
  June.	
  2011	
                   FastFix	
  Context	
  Approach	
  	
     36
Today’s	
  Challenges	
  of	
  So.ware	
  Projects	
  
                                  Daily Change"
                                  •  Change in design, requirements
                                     and project settings"
                                  •  Knowledge ages 

                                                                           2              Information Overload
                                     quickly"
                                      1                                                   •  Immense information
    “Multiple” Distribution!
                                                                                             sources"
    •  Outsourcing, offshoring,
                                                 Four dynamic                             •  Diverse and complex
       open source, multi-                       and increasing                              technologies, frameworks
       organizational projects"                      factors                                 and requirements"
    •  Problems in coordination,
                                                                                      3
       knowledge sharing "
    •  Problems in efficiency "               4
                                                          High Competition!
                                          •  Short “time to market”"
                                          •  Highest productivity, flexibility and
                                             quality is required

Maalej,	
  June.	
  2011	
                   FastFix	
  Context	
  Approach	
  	
                                       37
Advantages	
  of	
  Using	
  SemanIc	
  Web	
  
                                   Technologies         	
  
           Informa?on	
  mapping	
  
                 Ontologies	
  facilitate	
  seman?c	
  mapping	
  of	
  heterogeneous	
  informa?on	
  	
  
                 Logical	
  constructs	
  defining	
  synonyms,	
  homonyms,	
  composites,	
  specializa?on	
  
                  …	
  
           Advanced	
  querying	
  
                 Inclusion	
  of	
  seman?cs,	
  inference-­‐ability,	
  and	
  powerful	
  querying	
  constraints	
  
           Informal	
  evolu?on	
  of	
  knowledge	
  
                 Post-­‐structuring	
  of	
  informa?on	
  
           Unified	
  resource	
  iden?fica?on	
  
                 URIs	
  have	
  a	
  global	
  scope	
  
                 URIs	
  support	
  mul?ple	
  versions	
  and	
  representa?ons	
  of	
  a	
  resource	
  
           Defacto	
  Standards	
  
                  Largely	
  adopted	
  by	
  the	
  industry	
  




Maalej,	
  June.	
  2011	
                                    FastFix	
  Context	
  Approach	
  	
                         38
Short Term


                                    What	
  is	
  Context?	
  
                                         Used Artifacts




             Developer’s                                                         Changed
                                           Work Session
             Interactions                                                        Artifacts




                                         Read Artifacts


                   Context is the set of all events and information, which can be
                   observed or interpreted during knowledge work, except those
                   events and pieces of information that constitute the change

Maalej,	
  June.	
  2011	
              FastFix	
  Context	
  Approach	
  	
                      39
What	
  are	
  IntenIons?	
  




                                                                   cause	
  

                                                                                 Inten?on	
  



                                   An	
  inten?on	
  is	
  a	
  context	
  object	
  that	
  describes:	
  
                                         The	
  conscious	
  striving	
  towards	
  a	
  work	
  goal	
  
                                         The	
  goal	
  itself,	
  being	
  the	
  output	
  of	
  the	
  work	
  
                                   Inten?ons	
  underlay	
  a	
  causal	
  model	
  


Maalej,	
  June.	
  2011	
                                       FastFix	
  Context	
  Approach	
  	
                 40
Shared	
  SemanIcs	
  to	
  Annotate	
  Context:	
  
                            Developers’	
  InteracIons     	
  




Maalej,	
  June.	
  2011	
          FastFix	
  Context	
  Approach	
  	
     41
Shared	
  SemanIcs	
  to	
  Annotate	
  Context
                                                                  	
  
                               Developers’	
  ArIfacts 	
  




Maalej,	
  June.	
  2011	
           FastFix	
  Context	
  Approach	
  	
     42

More Related Content

Viewers also liked

10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders
Walid Maalej
 
Invited Talk at TU Graz
Invited Talk at TU GrazInvited Talk at TU Graz
Invited Talk at TU Graz
Walid Maalej
 
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Walid Maalej
 
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
Walid Maalej
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
Siddharth Ayer
 

Viewers also liked (11)

On the Socialness of Software
On the Socialness of SoftwareOn the Socialness of Software
On the Socialness of Software
 
User centric design (ucd)
User centric design (ucd)User centric design (ucd)
User centric design (ucd)
 
Debs 2010 context tutorial
Debs 2010 context tutorialDebs 2010 context tutorial
Debs 2010 context tutorial
 
10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders
 
Msr14 tutorial 4upload
Msr14 tutorial 4uploadMsr14 tutorial 4upload
Msr14 tutorial 4upload
 
Invited Talk at TU Graz
Invited Talk at TU GrazInvited Talk at TU Graz
Invited Talk at TU Graz
 
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
 
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
Us and Them — A Study of Privacy Requirements Across North America, Asia, and...
 
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
 
Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!
 
Software Engineering - Ch8
Software Engineering - Ch8Software Engineering - Ch8
Software Engineering - Ch8
 

Similar to Context aware software engineering and maintenance: the FastFix approach

MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
Luca Berardinelli
 
SAP TOP TEN ENTERPRISE MOBILITY 2013
SAP TOP TEN ENTERPRISE MOBILITY 2013SAP TOP TEN ENTERPRISE MOBILITY 2013
SAP TOP TEN ENTERPRISE MOBILITY 2013
Riccardo Bellesia
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availability
Frank Gielen
 
Pal gov.tutorial1.session8.national student registry
Pal gov.tutorial1.session8.national student registryPal gov.tutorial1.session8.national student registry
Pal gov.tutorial1.session8.national student registry
Mustafa Jarrar
 
CGAP & Grameen Foundation AppLab Case Study Part 1
CGAP & Grameen Foundation AppLab Case Study Part 1CGAP & Grameen Foundation AppLab Case Study Part 1
CGAP & Grameen Foundation AppLab Case Study Part 1
CGAP
 
TAPUniversity - Use Case Driven Vendor Selection
TAPUniversity - Use Case Driven Vendor SelectionTAPUniversity - Use Case Driven Vendor Selection
TAPUniversity - Use Case Driven Vendor Selection
Dave Kohrell
 
Day 1 p4 - application lifecycle management
Day 1   p4  - application lifecycle managementDay 1   p4  - application lifecycle management
Day 1 p4 - application lifecycle management
Lilian Schaffer
 

Similar to Context aware software engineering and maintenance: the FastFix approach (20)

Managing elasticity across Multi-cloud providers
Managing elasticity across Multi-cloud providersManaging elasticity across Multi-cloud providers
Managing elasticity across Multi-cloud providers
 
Embedded service oriented monitoring, diagnostics and control: towards the as...
Embedded service oriented monitoring, diagnostics and control: towards the as...Embedded service oriented monitoring, diagnostics and control: towards the as...
Embedded service oriented monitoring, diagnostics and control: towards the as...
 
MICE: Monitoring and modelIing the Context Evolution
MICE: Monitoring and modelIing the Context EvolutionMICE: Monitoring and modelIing the Context Evolution
MICE: Monitoring and modelIing the Context Evolution
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
 
SAP TOP TEN ENTERPRISE MOBILITY 2013
SAP TOP TEN ENTERPRISE MOBILITY 2013SAP TOP TEN ENTERPRISE MOBILITY 2013
SAP TOP TEN ENTERPRISE MOBILITY 2013
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availability
 
Which Work-Item Updates Need Your Response?
Which Work-Item Updates Need Your Response?Which Work-Item Updates Need Your Response?
Which Work-Item Updates Need Your Response?
 
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
 
Serenity Project: Security in Software Enginering
Serenity Project: Security in Software EngineringSerenity Project: Security in Software Enginering
Serenity Project: Security in Software Enginering
 
Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach? Metrics Monitoring Is So Critical - What's Your Best Approach?
Metrics Monitoring Is So Critical - What's Your Best Approach?
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuse
 
Proactive cloud service assurance framework for fault remediation in cloud en...
Proactive cloud service assurance framework for fault remediation in cloud en...Proactive cloud service assurance framework for fault remediation in cloud en...
Proactive cloud service assurance framework for fault remediation in cloud en...
 
App Mod 03: Monoliths to microservices with java ee and spring boot
App Mod 03: Monoliths to microservices with java ee and spring bootApp Mod 03: Monoliths to microservices with java ee and spring boot
App Mod 03: Monoliths to microservices with java ee and spring boot
 
Pal gov.tutorial1.session8.national student registry
Pal gov.tutorial1.session8.national student registryPal gov.tutorial1.session8.national student registry
Pal gov.tutorial1.session8.national student registry
 
White Paper: Branch Management and Atomic Merge in a Continuous Integration E...
White Paper: Branch Management and Atomic Merge in a Continuous Integration E...White Paper: Branch Management and Atomic Merge in a Continuous Integration E...
White Paper: Branch Management and Atomic Merge in a Continuous Integration E...
 
Learning from Human Repairs Through the Exploitation of Software Repositories
Learning from Human Repairs Through the Exploitation of Software Repositories Learning from Human Repairs Through the Exploitation of Software Repositories
Learning from Human Repairs Through the Exploitation of Software Repositories
 
A Resource Oriented Framework for Context-Aware Enterprise Applications
A Resource Oriented Framework for Context-Aware Enterprise ApplicationsA Resource Oriented Framework for Context-Aware Enterprise Applications
A Resource Oriented Framework for Context-Aware Enterprise Applications
 
CGAP & Grameen Foundation AppLab Case Study Part 1
CGAP & Grameen Foundation AppLab Case Study Part 1CGAP & Grameen Foundation AppLab Case Study Part 1
CGAP & Grameen Foundation AppLab Case Study Part 1
 
TAPUniversity - Use Case Driven Vendor Selection
TAPUniversity - Use Case Driven Vendor SelectionTAPUniversity - Use Case Driven Vendor Selection
TAPUniversity - Use Case Driven Vendor Selection
 
Day 1 p4 - application lifecycle management
Day 1   p4  - application lifecycle managementDay 1   p4  - application lifecycle management
Day 1 p4 - application lifecycle management
 

More from Walid Maalej

05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit
Walid Maalej
 
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
Walid Maalej
 
08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation
Walid Maalej
 
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
Walid Maalej
 
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
Walid Maalej
 
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
Walid Maalej
 
07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge
Walid Maalej
 
14 Reasoning on Requirements Knowledge to Support Creativity
14 Reasoning on Requirements Knowledge to Support Creativity14 Reasoning on Requirements Knowledge to Support Creativity
14 Reasoning on Requirements Knowledge to Support Creativity
Walid Maalej
 
03 How to Keep Domain Requirements Models Reasonably Sized
03 How to Keep Domain Requirements Models Reasonably Sized03 How to Keep Domain Requirements Models Reasonably Sized
03 How to Keep Domain Requirements Models Reasonably Sized
Walid Maalej
 
00 Opening: Why MaRK
00 Opening: Why MaRK00 Opening: Why MaRK
00 Opening: Why MaRK
Walid Maalej
 
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
Walid Maalej
 
09 On Presuppositions in Requirements
09 On Presuppositions in Requirements09 On Presuppositions in Requirements
09 On Presuppositions in Requirements
Walid Maalej
 
Team Weaver Demo Camp June 08
Team Weaver Demo Camp June 08Team Weaver Demo Camp June 08
Team Weaver Demo Camp June 08
Walid Maalej
 
Potential And Challenges of Recommendation Systems for Software Development
Potential And Challenges of Recommendation Systems for Software DevelopmentPotential And Challenges of Recommendation Systems for Software Development
Potential And Challenges of Recommendation Systems for Software Development
Walid Maalej
 

More from Walid Maalej (17)

How Can Software Engineering Support AI
How Can Software Engineering Support AIHow Can Software Engineering Support AI
How Can Software Engineering Support AI
 
Can Development Work Describe Itself?
Can Development Work Describe Itself?Can Development Work Describe Itself?
Can Development Work Describe Itself?
 
05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit
 
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
 
08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation
 
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
11 Towards a Research Agenda for Recommendation Systems in Requirements Engin...
 
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
 
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
 
07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge
 
14 Reasoning on Requirements Knowledge to Support Creativity
14 Reasoning on Requirements Knowledge to Support Creativity14 Reasoning on Requirements Knowledge to Support Creativity
14 Reasoning on Requirements Knowledge to Support Creativity
 
03 How to Keep Domain Requirements Models Reasonably Sized
03 How to Keep Domain Requirements Models Reasonably Sized03 How to Keep Domain Requirements Models Reasonably Sized
03 How to Keep Domain Requirements Models Reasonably Sized
 
00 Opening: Why MaRK
00 Opening: Why MaRK00 Opening: Why MaRK
00 Opening: Why MaRK
 
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
 
09 On Presuppositions in Requirements
09 On Presuppositions in Requirements09 On Presuppositions in Requirements
09 On Presuppositions in Requirements
 
From Work To Word
From Work To WordFrom Work To Word
From Work To Word
 
Team Weaver Demo Camp June 08
Team Weaver Demo Camp June 08Team Weaver Demo Camp June 08
Team Weaver Demo Camp June 08
 
Potential And Challenges of Recommendation Systems for Software Development
Potential And Challenges of Recommendation Systems for Software DevelopmentPotential And Challenges of Recommendation Systems for Software Development
Potential And Challenges of Recommendation Systems for Software Development
 

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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

Context aware software engineering and maintenance: the FastFix approach

  • 1. Context-­‐Aware  So.ware   Engineering  and  Maintenance:     The  FastFix  Approach   Dr.  Walid  Maalej     TU  München,  Germany  
  • 2. Summary  of  the  Talk   1   We  model  context  as  a  set  of  events  including  the  interacIon  of   users  with  the  applica?ons  and  the  concerned  arIfacts   2   We  dis?nguish  between  short  term  context  (work  sessions,   intenIons,  problems)  and  long  term  context  (user  experience)   3   Our  research  is  mo?vated  by  so.ware  engineering  work,  but  can   be  easily  extended  to  general  knowledge  work   Maalej,  June.  2011   FastFix  Context  Approach     2  
  • 3. Outline   1   MoIvaIon   2   Context  Model   3   ApplicaIons   4   Research  Challenges   Maalej,  June.  2011   FastFix  Context  Approach     3  
  • 4. For  Companies:  Reduce  So.ware  Maintance  Costs   (Schach,  2008):  Most  of  the  effort  and  cost  is  spent  on  post-­‐delivery   maintenance  based  on  various  data  sources   Average  cost  1976  -­‐1981     Average  cost  1992  -­‐  1998   33% 25% Development   67% Development   Maintenance   Maintenance   75% More  than  90%  of  companies  resources  dedicated  to  soPware   maintenance  (Erlikh,  2000,  IT  Pro)   Maalej,  June.  2011   FastFix  Context  Approach     4  
  • 5. For Users: Avoid Annoying Software Errors ReacIon   Maalej,  June.  2011   FastFix  Context  Approach     5
  • 6. FastFix:  Monitoring  Context  for  Remote   So.ware  Maintenance    U  ser   User    User    A  pplica?on   Applica?on    Applica?on    FastFix  Client   FastFix  Server   1:  interact   2:  monitor   3:  iden?fy     errors   4  op?onal:  ask  for    feedback     5:  preprocess   6:  securely  report     7:  replicate  errors   8:  correlate   events   9:  generate   patch   10:  update   11:  self-­‐heal   12  op?onal:  inform   Maalej,  June.  2011   17.06.2011   6
  • 7. Outline   1   MoIvaIon   2   Context  Model   3   ApplicaIons   4   Research  Challenges   Maalej,  June.  2011   FastFix  Context  Approach     7  
  • 8. Sources  of  Context  InformaIon  in  FastFix   Context User Application Environment Maalej,  June.  2011   FastFix  Context  Approach     8
  • 9. A  Context  Aware  Model  of  Knowledge  Work   Environment   Work   Applica?on   Change   Context   Performed in User   Short-­‐term  Context   Long-­‐term  Context   Interac?on   concerns Inten?on   Problem   Experience   Ar?fact   Maalej,  June.  2011   FastFix  Context  Approach     9
  • 10. Structure  of  Context  Events   ContextEvent Semantic Timestamp Duration Information  <pre:e1      rdf:type      int:Read>    <pre:e1      int:hasTimeStamp      12222222200>   Example    <pre:e1      int:hasDura?on      200>    <pre:e1      int:concerns      /myProject/isItWorking.java>      </myProject/isItWorking.java      rdf:type      TestCase>   Maalej,  June.  2011   FastFix  Context  Approach     10
  • 11. A  Scratch  of  Context-­‐Aware  Tools   Addi?onal     feedback   RecommendaIon  Tool   Interac?on     interact   trigger   Ontoloy   Context  Observer   problem problem Problem   ApplicaIon     sensors   ElicitaIon   events   Session-­‐ izaIon   Execu?on   OS     ExecuIon  Env.   Ontology   sensors   sensors   update   User  Profile   Maalej,  June.  2011   FastFix  Context  Approach     11
  • 12. Ontologies  Define  the  SemanIcs  of  So.ware   Engineering  Work   concerns    Interac?on   Ar?fact   has  type   has  type   Change   Tool   Class   Read   Other   interac?on  and   Other  ar?fact   Test   Use   Model   types   Email   ac?vity  types   Debug   Specify   Request   Method   Ref:  [Maalej,  MSR’10]   Maalej,  June.  2011   FastFix  Context  Approach     12  
  • 13. Type  Inference  for  InteracIons  &  ArIfacts   concerns   member  of   event   SayHello   HelloWord   rdf:type   rdf:type   rdf:type   Create   Method   Class   Method   concerns   event   HelloWord   rdf:type   rdf:type   rdf:type   Browse   Report  bug   Bug  Report   Web   Maalej,  June.  2011   FastFix  Context  Approach     13
  • 14. Short Term Developer’s  Work:  From  InteracIons  to  IntenIons   Assist  Colleague  on   ?   Reusing  Component  C   Fix  Table  Rendering  Bug   ?     InteracIon   Current   Granularity   IntenIon   Task  T1:  Implement  XML   Export   Session   Work  Session  1   Work  Session  2   Work  Session  3   Work  Session  4   …   Seman?c     Read Reuse   Impl.   Read  Bug   Seek   Debug   Impl. Test   Close       …   Chat   …   …   interac?on   Task Lib     Class   Report   Info   App Met App Bug       h   Interac?on   Use   Download   Edit   Copy   Paste   Open       Scroll   Edit     Import   Open   Add     Edit   Add   Step  into   Step  into   with  tools   Run ..Read Search .. ...     Write           Scroll     Tool  T1Library  L ist Classpath Method  X   Method  b   Task  Method  a T     URL   b URL L   Task     Class       URL         Breakpoint Method  x Method  y       Time   Maalej,  June.  2011   FastFix  Context  Approach     14
  • 15. AggregaIon  and  Filtering  of  Context   Long Term (Simplified  Formula)   Experience  with  a   The  more  frequent  we   The  longer  we  use  an   par?cular  ar?fact   interact  with  an  ar?fact,  the   ar?fact,  the  more   more  experience  we  have   experience  we  have   with  it   with  it   Frequency   DuraIon     Experience   Age     The  older  the  interac?on  with  the   ar?fact,  the  less  experience  we   have  with  it   Ref:  [Maalej,  RSSE  2010]   Maalej,  June.  2011   FastFix  Context  Approach     15  
  • 16. Long Term Experience  Meta  Model   Maalej,  June.  2011   FastFix  Context  Approach     16  
  • 17. FastFix  Model  for  Context  ElicitaIon   Maalej,  June.  2011   FastFix  Context  Approach     17
  • 18. Outline   1   MoIvaIon   2   Context  Model   3   ApplicaIons   4   Research  Challenges   Maalej,  June.  2011   FastFix  Context  Approach     18  
  • 19. ApplicaIons  of  Context-­‐Awareness   Traceability and Tool Integration (Semi) automatic linking of development artefacts and tool functionalities Information Allocation Personal Productivity Management Filtering of search results and Control and optimization of extension of queries (semantic search) development time and space Knowledge Sharing Awareness Creation A proactive capturing and Context Dissemination of status and sharing of experiences Aware priority information Development Infrastructures Uses of context of assist developers in these tasks and increase productivity Maalej,  June.  2011   Context-­‐Aware  Development  Infrastructures   19
  • 20. Organize  Work  by  Using  Task  Context   (IntenIons)   Fix Bug In XML Export Prepare My Talk at Powerset Process Bank Transactions Experiment the iPhone SDK •  You don’t have to predefine tasks •  Your tasks are discovered automatically during the actual work Maalej,  June.  2011   Context-­‐Aware  Development  Infrastructures   20
  • 21. Tracing  Related  ArIfacts  from  IntenIon  Details     (in  MacIntent)   Maalej,  June.  2011   FastFix  Context  Approach     21
  • 22. SemanIc  Search  for  Distributed  InformaIon     (in  WinIntent)   Maalej,  June.  2011   FastFix  Context  Approach     22
  • 23. MacIntent:  AutomaIcally  Generated  Commit   Message   Maalej,  June.  2011   FastFix  Context  Approach     23
  • 24. FastFix  Error  Handling   Strategies   Recommend error report Generate Recordable symptoms error report FastFix  focus   Replicate fault Show Error complexity Reproducible error context information Recommend causes to engineer Inform user Known causes about error causes Recommend solution to engineer Recommend Known solution fix to user Generate Patch Automatically resolvable Self-heal Maalej,  June.  2011   Strategy complexity
  • 25. Detect  and  Describe  Error  SituaIons   FastFix Error Reporting The application MOSKitt quit unexpectedly. FastFix will send an error report to the maintenance center that includes information necessary to fix the problem as soon as possible. Your personal data will not be contained in the report. Once a fix for the problem is identified it will be automatically sent to you. Steps to reproduce: 1. Open MOSKitt 2. Import data file (file data obfuscated) 3. Click button named “btn_Transform” Send Maalej,  June.  2011   FastFix  Context  Approach     25
  • 26. Context  Augmented  Fault  ReplicaIon   GUI Replay Context MOSKitt User Interface: Graphical Context View: User Application Both Granularity level + A1 B1 C1 C2 - Search: Graphic Text Fault Replay Use these elements to control the fault replay. Back Play Forward Stop Step In Step Out Maalej,  June.  2011   FastFix  Context  Approach     26
  • 27. Context  Augmented  Debugging   Condition Position CPU Load > 75 % Line 4 User Type = Beginner Line 159 NONE Line 13 Context View: Granularity User Application Both level + + A1 B1 Fault Replay Use these elements to control the fault replay. C1 C2 -- Back Play Forward Stop Step In Step Out Maalej,  June.  2011   FastFix  Context  Approach     27
  • 28. Error  Cause  and  Error  SoluIon  RecommendaIon     Unhandled Exception in MOSKitt (Automatic Report) FastFix component Similar Error Reports Recommendation (FastFix) Unhandled Exception, org.moskitt.transform, btn_Transform FastFix recommends the following similar error reports: 1. Ticket #123: Unhandled Exception in MOSKitt (Automatic Report) - 95% - ASSIGNED 2. Ticket #47: Moskitt crashed while I was importing a model - 67% - CLOSED (FIXED) 3. Ticket #98: Unhandled exception - 65% - ASSIGNED FastFix Error Report Recommendation Error Cause Recommendation (FastFix) Cause Probability Third party component failure 98% Show solution... Usability failure 45% Show solution... Configuration error 12% Show solution... Maalej,  June.  2011   FastFix  Context  Approach     28 FastFix Error Cause Recommendation
  • 29. Error  Cause  and  Error  SoluIon  RecommendaIon     Control System behavior of method1: Error Cause Detected in method1 Self-Heal: Auto-Create Control Objective Import Control Objective Objectives Self-Healing Control Objective preventing method5: 5 Any event but method1 Maalej,  June.  2011   FastFix  Context  Approach     29
  • 30. Outline   1   MoIvaIon   2   Conceptual  Model   3   ApplicaIons   4   Research  Challenges   Maalej,  June.  2011   FastFix  Context  Approach     30  
  • 31. Challenges  of  Context  Awareness   Efficient  InstrumentaIon   How  can  heterogeneous   Privacy  ProtecIon   Context  Modeling   tools  be  efficiently   How  can  we  protect  users’   How  can  we  model  abstract   instrumented?   privacy  while  collec?ng   no?on  of  context  to  support   sensi?ve  informa?on?  What   unique  scenarios?  What  is   Major  research   are  acceptable  trade-­‐offs?     part  of  the  context?   challenges  on   context-­‐ Context  RepresentaIon     AggregaIon  and  Processing     awareness   Can  we  efficiently  represent   How  can  we  aggregate   data  and  knowledge    and   Context     context  for  different  levels  of   enable  reasoning  and     SessionizaIon     granularity?  Can  we  measure   seman?c  interpreta?on?   and  compare  subjec?ve   How  can  we  “package”     context  like  experience?   context  events?  How  can  a   context  switch  be  detected?   [Maalej,  Roadmap  2010]   Maalej,  June.  2011   FastFix  Context  Approach     31  
  • 32. For  more  informaIon   1.  W  Maalej,  Inten?on-­‐Based  Tool  Integra?on   of  SoPware  Engineering  Tools,  Dr.  Hut  Verlag   2010  (available  at  amazon.de)     2.  W  Maalej  ,  Task  First  or  Context  First?  Tool   Integra?on  Revisited.  In  Proceedings  of  the   24th  IEEE/ACM  Interna?onal  Conference  on   Automated  SoPware  Engineering,  2009   3.  W.  Maalej  and  H-­‐J  Happel,  Can  Development   Work  Describe  Itself?  In  Proceeding  of  6th   IEEE  Interna?onal  Conference  on  Mining   SoPware  Repositories,  2010     4.  W  Maalej  et  al.  When  Users  Become   Collaborators,  In  OOPSLA  2009   Maalej,  June.  2011   FastFix  Context  Approach     32
  • 33. Related  Projects   Maalej,  June.  2011   FastFix  Context  Approach     33
  • 34. Summary  of  the  Talk   1   We  model  context  as  a  set  of  events  including  the  interacIon  of   users  with  the  applica?ons  and  the  concerned  arIfacts   2   We  dis?nguish  between  short  term  context  (work  sessions,   intenIons,  problems)  and  long  term  context  (user  experience)   3   Our  research  is  mo?vated  by  so.ware  engineering  work,  but  can   be  easily  extended  to  general  knowledge  work   Maalej,  June.  2011   FastFix  Context  Approach     34  
  • 35. Contact Dr.  Walid  Maalej     TUM   maalejw@cs.tum.edu   Maalej,  June.  2011   FastFix  Context  Approach     35
  • 36. Backups   Maalej,  June.  2011   FastFix  Context  Approach     36
  • 37. Today’s  Challenges  of  So.ware  Projects   Daily Change" •  Change in design, requirements and project settings" •  Knowledge ages 
 2 Information Overload quickly" 1 •  Immense information “Multiple” Distribution! sources" •  Outsourcing, offshoring, Four dynamic •  Diverse and complex open source, multi- and increasing technologies, frameworks organizational projects" factors and requirements" •  Problems in coordination, 3 knowledge sharing " •  Problems in efficiency " 4 High Competition! •  Short “time to market”" •  Highest productivity, flexibility and quality is required Maalej,  June.  2011   FastFix  Context  Approach     37
  • 38. Advantages  of  Using  SemanIc  Web   Technologies     Informa?on  mapping     Ontologies  facilitate  seman?c  mapping  of  heterogeneous  informa?on       Logical  constructs  defining  synonyms,  homonyms,  composites,  specializa?on   …     Advanced  querying     Inclusion  of  seman?cs,  inference-­‐ability,  and  powerful  querying  constraints     Informal  evolu?on  of  knowledge     Post-­‐structuring  of  informa?on     Unified  resource  iden?fica?on     URIs  have  a  global  scope     URIs  support  mul?ple  versions  and  representa?ons  of  a  resource     Defacto  Standards     Largely  adopted  by  the  industry   Maalej,  June.  2011   FastFix  Context  Approach     38
  • 39. Short Term What  is  Context?   Used Artifacts Developer’s Changed Work Session Interactions Artifacts Read Artifacts Context is the set of all events and information, which can be observed or interpreted during knowledge work, except those events and pieces of information that constitute the change Maalej,  June.  2011   FastFix  Context  Approach     39
  • 40. What  are  IntenIons?   cause   Inten?on     An  inten?on  is  a  context  object  that  describes:     The  conscious  striving  towards  a  work  goal     The  goal  itself,  being  the  output  of  the  work     Inten?ons  underlay  a  causal  model   Maalej,  June.  2011   FastFix  Context  Approach     40
  • 41. Shared  SemanIcs  to  Annotate  Context:   Developers’  InteracIons   Maalej,  June.  2011   FastFix  Context  Approach     41
  • 42. Shared  SemanIcs  to  Annotate  Context   Developers’  ArIfacts   Maalej,  June.  2011   FastFix  Context  Approach     42