SlideShare a Scribd company logo
1 of 78
History Slicing:
Assisting Code-Evolution tasks
Francisco Servant, James A. Jones
University of California, Irvine
Supported by NSF Award CCF-1116943 and Google
SpiderLab
History Slice
The subset of the history of the program
that corresponds to a set of lines of interest
History Slicing
The process followed to obtain a history slice
Current revision control tools
Solution:
Current revision control tools
Snippet 1
1.288 Oct 02 2004
1.282 Sep 24 2004
1.271 Aug 28 2004
1.266 Aug 20 2004
1.232 May 18 2004
1.220 May 16 2004
1.156 Aug 04 2003
1.98 May 22 2002
1.70 Mar 17 2002
1.64 Feb 20 2002
1.59 Oct 17 2001
1.48 Jun 28 2001
1.1 Apr 19 1999
Snippet 2
1.265 Jun 06 2007
1.262 Jun 04 2007
1.231 Oct 28 2004
1.217 Sep 27 2004
1.212 Sep 23 2004
1.203 Sep 01 2004
1.190 Sep 04 2004
1.184 Jul 28 2004
1.88 Apr 08 2002
1.60 Jan 22 2001
1.48 Oct 20 2000
1.1 Apr 19 1999
Solution:
Current revision control tools
Snippet 1
1.288 Oct 02 2004
1.282 Sep 24 2004
1.271 Aug 28 2004
1.266 Aug 20 2004
1.232 May 18 2004
1.220 May 16 2004
1.156 Aug 04 2003
1.98 May 22 2002
1.70 Mar 17 2002
1.64 Feb 20 2002
1.59 Oct 17 2001
1.48 Jun 28 2001
1.1 Apr 19 1999
Snippet 2
1.265 Jun 06 2007
1.262 Jun 04 2007
1.231 Oct 28 2004
1.217 Sep 27 2004
1.212 Sep 23 2004
1.203 Sep 01 2004
1.190 Sep 04 2004
1.184 Jul 28 2004
1.88 Apr 08 2002
1.60 Jan 22 2001
1.48 Oct 20 2000
1.1 Apr 19 1999
Total time spent:
26 minutes
History Slicing with current revision control tools
involves:
 Manual navigation of the dimension of history
 Manual navigation of the dimension of the program
 Manual representation of the history slice
 A tedious and error-prone process
Current revision control tools
Automated History Slicing: CHRONOS
 History Slicing with CHRONOS provides:
 Automatic processing of the dimension of history
 Automatic processing of the dimension of the program
 Automatic representation of the history slice that
supports its comprehension
 An efficient process
Implementation
CHRONOS
Evaluation
Experiment 1
Quantitative experiment to
measure the effort savings
provided by History Slicing
Experiment 2
User study to observe the
practical benefit of such savings
Related Work
 Mechanisms to trace code history through revisions
 Evolution models, e.g. [Girba et al. 2006], [Zimmermann et al. 2006]
 Line-mapping techniques, e.g. [Chen et al. 2001], [Hunt 2002], [Maletic
2004], [Apiwattanapong 2007], [Canfora et al. 2007], [Dig et al. 2007],
[Williams and Spacco 2008], [Reiss 2008], [Duley et al. 2010]
 Interfaces to visualize code history
 System level, e.g. [Lanza and Ducasse 2002], [Girba et al. 2005],
[Ripley et al. 2007]
 File level, e.g. CVS, Subversion, Git
 Method level, e.g. [Hassan and Holt 2004], [Holmes and Begel 2008]
 Line level, last change only, e.g. [Bradley and Murphy 2011]
History Slicing: Assisting Code-Evolution Tasks
History Slicing: Assisting Code-Evolution Tasks
History Slicing: Assisting Code-Evolution Tasks
History Slicing: Assisting Code-Evolution Tasks
History Slicing: Assisting Code-Evolution Tasks
History Slicing: Assisting Code-Evolution Tasks
History Slicing: Assisting Code-Evolution Tasks

More Related Content

Recently uploaded

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
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

History Slicing: Assisting Code-Evolution Tasks

  • 1. History Slicing: Assisting Code-Evolution tasks Francisco Servant, James A. Jones University of California, Irvine Supported by NSF Award CCF-1116943 and Google SpiderLab
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. History Slice The subset of the history of the program that corresponds to a set of lines of interest History Slicing The process followed to obtain a history slice
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Solution: Current revision control tools Snippet 1 1.288 Oct 02 2004 1.282 Sep 24 2004 1.271 Aug 28 2004 1.266 Aug 20 2004 1.232 May 18 2004 1.220 May 16 2004 1.156 Aug 04 2003 1.98 May 22 2002 1.70 Mar 17 2002 1.64 Feb 20 2002 1.59 Oct 17 2001 1.48 Jun 28 2001 1.1 Apr 19 1999 Snippet 2 1.265 Jun 06 2007 1.262 Jun 04 2007 1.231 Oct 28 2004 1.217 Sep 27 2004 1.212 Sep 23 2004 1.203 Sep 01 2004 1.190 Sep 04 2004 1.184 Jul 28 2004 1.88 Apr 08 2002 1.60 Jan 22 2001 1.48 Oct 20 2000 1.1 Apr 19 1999
  • 33. Solution: Current revision control tools Snippet 1 1.288 Oct 02 2004 1.282 Sep 24 2004 1.271 Aug 28 2004 1.266 Aug 20 2004 1.232 May 18 2004 1.220 May 16 2004 1.156 Aug 04 2003 1.98 May 22 2002 1.70 Mar 17 2002 1.64 Feb 20 2002 1.59 Oct 17 2001 1.48 Jun 28 2001 1.1 Apr 19 1999 Snippet 2 1.265 Jun 06 2007 1.262 Jun 04 2007 1.231 Oct 28 2004 1.217 Sep 27 2004 1.212 Sep 23 2004 1.203 Sep 01 2004 1.190 Sep 04 2004 1.184 Jul 28 2004 1.88 Apr 08 2002 1.60 Jan 22 2001 1.48 Oct 20 2000 1.1 Apr 19 1999 Total time spent: 26 minutes
  • 34. History Slicing with current revision control tools involves: Manual navigation of the dimension of history Manual navigation of the dimension of the program Manual representation of the history slice A tedious and error-prone process Current revision control tools
  • 35. Automated History Slicing: CHRONOS History Slicing with CHRONOS provides: Automatic processing of the dimension of history Automatic processing of the dimension of the program Automatic representation of the history slice that supports its comprehension An efficient process
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Evaluation Experiment 1 Quantitative experiment to measure the effort savings provided by History Slicing Experiment 2 User study to observe the practical benefit of such savings
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71. Related Work Mechanisms to trace code history through revisions Evolution models, e.g. [Girba et al. 2006], [Zimmermann et al. 2006] Line-mapping techniques, e.g. [Chen et al. 2001], [Hunt 2002], [Maletic 2004], [Apiwattanapong 2007], [Canfora et al. 2007], [Dig et al. 2007], [Williams and Spacco 2008], [Reiss 2008], [Duley et al. 2010] Interfaces to visualize code history System level, e.g. [Lanza and Ducasse 2002], [Girba et al. 2005], [Ripley et al. 2007] File level, e.g. CVS, Subversion, Git Method level, e.g. [Hassan and Holt 2004], [Holmes and Begel 2008] Line level, last change only, e.g. [Bradley and Murphy 2011]