Context aware software engineering and maintenance: the FastFix approach

2,784 views
2,630 views

Published on

Context consists of all events which can be observed or interpreted. In knowledge work it includes the actions of the user, the reaction of the applications, and the artifacts concerned. In this talk, we introduce the FastFix approach to context-awareness in software engineering and maintenance. We show how context enables remote software maintenance, as well as a systematic involvement of end users in software evolution. We also discuss other applications of context including personal productivity management and knowledge sharing amongst developers. The main research challenges include the modeling, sensing, sessionization, aggregation, and comparison of context, as well as the protection of the user's privacy.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,784
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Context aware software engineering and maintenance: the FastFix approach

  1. 1. Context-­‐Aware  So.ware  Engineering  and  Maintenance:     The  FastFix  Approach   Dr.  Walid  Maalej     TU  München,  Germany  
  2. 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. 3. Outline   1   MoIvaIon   2   Context  Model   3   ApplicaIons   4   Research  Challenges  Maalej,  June.  2011   FastFix  Context  Approach     3  
  4. 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. 5. For Users: Avoid Annoying Software Errors ReacIon  Maalej,  June.  2011   FastFix  Context  Approach     5
  6. 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. 7. Outline   1   MoIvaIon   2   Context  Model   3   ApplicaIons   4   Research  Challenges  Maalej,  June.  2011   FastFix  Context  Approach     7  
  8. 8. Sources  of  Context  InformaIon  in  FastFix   Context User Application EnvironmentMaalej,  June.  2011   FastFix  Context  Approach     8
  9. 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. 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. 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. 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. 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. 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. 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. 16. Long Term Experience  Meta  Model  Maalej,  June.  2011   FastFix  Context  Approach     16  
  17. 17. FastFix  Model  for  Context  ElicitaIon  Maalej,  June.  2011   FastFix  Context  Approach     17
  18. 18. Outline   1   MoIvaIon   2   Context  Model   3   ApplicaIons   4   Research  Challenges  Maalej,  June.  2011   FastFix  Context  Approach     18  
  19. 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 productivityMaalej,  June.  2011   Context-­‐Aware  Development  Infrastructures   19
  20. 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 workMaalej,  June.  2011   Context-­‐Aware  Development  Infrastructures   20
  21. 21. Tracing  Related  ArIfacts  from  IntenIon  Details     (in  MacIntent)  Maalej,  June.  2011   FastFix  Context  Approach     21
  22. 22. SemanIc  Search  for  Distributed  InformaIon     (in  WinIntent)  Maalej,  June.  2011   FastFix  Context  Approach     22
  23. 23. MacIntent:  AutomaIcally  Generated  Commit   Message  Maalej,  June.  2011   FastFix  Context  Approach     23
  24. 24. FastFix  Error  Handling   Strategies   Recommend error report Generate Recordable symptoms error report FastFix  focus   Replicate fault ShowError 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. 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” SendMaalej,  June.  2011   FastFix  Context  Approach     25
  26. 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 OutMaalej,  June.  2011   FastFix  Context  Approach     26
  27. 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 OutMaalej,  June.  2011   FastFix  Context  Approach     27
  28. 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. 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 method1Maalej,  June.  2011   FastFix  Context  Approach     29
  30. 30. Outline   1   MoIvaIon   2   Conceptual  Model   3   ApplicaIons   4   Research  Challenges  Maalej,  June.  2011   FastFix  Context  Approach     30  
  31. 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. 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. 33. Related  Projects  Maalej,  June.  2011   FastFix  Context  Approach     33
  34. 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. 35. Contact Dr.  Walid  Maalej     TUM   maalejw@cs.tum.edu  Maalej,  June.  2011   FastFix  Context  Approach     35
  36. 36. Backups  Maalej,  June.  2011   FastFix  Context  Approach     36
  37. 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 requiredMaalej,  June.  2011   FastFix  Context  Approach     37
  38. 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. 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 changeMaalej,  June.  2011   FastFix  Context  Approach     39
  40. 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. 41. Shared  SemanIcs  to  Annotate  Context:   Developers’  InteracIons  Maalej,  June.  2011   FastFix  Context  Approach     41
  42. 42. Shared  SemanIcs  to  Annotate  Context   Developers’  ArIfacts  Maalej,  June.  2011   FastFix  Context  Approach     42

×