Clustering and RecommendingCollections of Code Relevant to Tasks       Seonah Lee and Sungwon Kang             September 2...
Introduction           Task Relevance   Proposed Approach   Evaluation   Conclusion  While performing software evolution ...
introduction               Task Relevance          Proposed Approach Evaluation Conclusion    Q: How to automatically rec...
introduction               Task Relevance            Proposed Approach Evaluation Conclusion    Task Relevance         W...
introduction               Task Relevance              Proposed Approach Evaluation Conclusion    Two Principles to mine ...
introduction Task Relevance                              Proposed Approach Evaluation Conclusion    To cluster collection...
introduction Task Relevance                                Proposed Approach Evaluation Conclusion    To recommend collec...
introduction Task Relevance   Proposed Approach                                                  Evaluation   Conclusion ...
introduction Task Relevance       Proposed Approach                                                        Evaluation   Co...
introduction Task Relevance   Proposed Approach   Evaluation                                                              ...
Upcoming SlideShare
Loading in …5
×

ERA - Clustering and Recommending Collections of Code Relevant to Task

532 views
502 views

Published on

Paper: Clustering and Recommending Collections of Code Relevant to Task

Authors: Seonah Lee and Sungwon Kang

Session: Early Research Achievements Track Session 3: Managing and Supporting Software Maintenance Activities

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
532
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ERA - Clustering and Recommending Collections of Code Relevant to Task

  1. 1. Clustering and RecommendingCollections of Code Relevant to Tasks Seonah Lee and Sungwon Kang September 28, 2011
  2. 2. Introduction Task Relevance Proposed Approach Evaluation Conclusion  While performing software evolution tasks,  Programmers seek for pieces of code which may related to a required change [Letovsky 1986] [Ko 2005]  When reaching an impasse, programmers ask other programmers [Cherubini 2007]  Asking another programmer causes communication overheads which decrease team productivity [Brooks 1974], [McConnel 2004]ICSM ERA 2011 2
  3. 3. introduction Task Relevance Proposed Approach Evaluation Conclusion  Q: How to automatically recommend pieces of code relevant to tasks?  Count the frequencies  Determine associations of pieces of code over a between pieces of code period of time  ROSE  Mylyn  [Zimmermann 2004]  [Kersten 2006]  TeamTrack  [DeLine 2005] Limited to recommending Required a programmer‘s co-changed / co-visited manual indication of a task pieces of code 3
  4. 4. introduction Task Relevance Proposed Approach Evaluation Conclusion  Task Relevance  Whether a code element is needed by a programmer who performs the evolution task  Four degrees of the task relevance of a code element  [S] is needed to change  [H] is needed to understand  [M] can be useful for understanding the context  [L] exists in the same file that contains [S][H]&[M] code elements: i.e., methods, fields, classes … ICSM ERA 2011 4
  5. 5. introduction Task Relevance Proposed Approach Evaluation Conclusion  Two Principles to mine collections of code relevant to tasks  Relevance by Frequency  The code elements that programmers frequently visited are likely to be highly relevant to the tasks of the programmers  Relevance by Context  If a code element of a navigation sequence is highly relevant to a task, it is likely that the other code elements in the same navigation sequence are relevant to the same task ICSM ERA 2011 5
  6. 6. introduction Task Relevance Proposed Approach Evaluation Conclusion  To cluster collections of code relevant to tasks  We consider visit frequency of code elements and navigation sequences of code elements Interaction Traces Recommendation Segmentation Micro-clustering Collections of code elements Macro-clustering ICSM ERA 2011 6
  7. 7. introduction Task Relevance Proposed Approach Evaluation Conclusion  To recommend collections of code relevant to tasks, we retrieve a collection that contains the greatest number of elements that a programmer has recently visited. a, b, c, a, b, d, b, d … {c, d} (a, b, c), (a, b, d), (b, d… { (a, 2), (b, 2), (c, 1) , (d, 1)} { (b, 5), (a, 3), (d,3), (c, 2)} { (a, 2), (b, 2) …} { (e, 2), (f, 4), (c, 2), (g, 1) }  {(b, 2), (d, 2) …} ICSM ERA 2011 7
  8. 8. introduction Task Relevance Proposed Approach Evaluation Conclusion  Simulate code recommendations with Experimental Data  The interaction traces where twelve programmers performed four different tasks [Safer 2007]  Training Set: 8 traces, Test Set: 4 traces  Compare the state-of-art approach, TeamTracks  Four degrees of the task relevance  [S]: 23, [H]: 22, [M]: 21, [L] :20ICSM ERA 2011 8
  9. 9. introduction Task Relevance Proposed Approach Evaluation Conclusion EXAMPLE: RECOMMENDATION RESULTS Rank 1st 2nd 3rd 4th 5th 6th 7th 8th 9th 10thIdeal CG S2a H2b H2c H2d H2e H2f M2g M2h M2i M2j NavClus H2b H2d S2a H2c L2s M2o M2k M2m L2x L2y V.Team- - S2a - - - H2b - H2d - - Tracks E.Team- H2b H2c L2s Tracks Cumulative Gain (CG)  Sum the degrees of task relevance of the recommended elements by nth rankICSM ERA 2011 9
  10. 10. introduction Task Relevance Proposed Approach Evaluation Conclusion  We proposed NavClus, a novel approach that clusters collections of code that could be relevant to a programmer’s given task  We demonstrated that NavClus recommends code elements relevant to tasks with high task relevancyICSM ERA 2011 10

×