SlideShare a Scribd company logo
Marco D’Ambros           Michele Lanza        Romain robbes
university of Lugano   university of Lugano   University of chile
    switzerland            switzerland               chile
Neo




      neo
Neo         Neo’s girlfriend




      neo
Neo         Neo’s girlfriend



                         commit 2.0

      neo
Neo         Neo’s girlfriend



                         commit 2.0   pharo ide

      neo
Neo         Neo’s girlfriend
                                           eclipse ide

                         commit 2.0   pharo ide

      neo
neo
Deve
      lop
         er
neo
Deve
                    lop
                       er
              neo




documenting
  changes
neo




                Deve
                    lop
                       er
              neo




documenting
  changes
eam
                            Development t


                            neo




                Deve
                    lop
                       er
              neo




documenting
  changes
eam
                            Development t


                            neo




                Deve
                    lop
                       er
              neo                  communication
                                      means




documenting
  changes
eam
                                          Development t

      rcher
Resea                                     neo




                              Deve
                                  lop
                                     er
                            neo                  communication
                                                    means




              documenting
                changes
eam
                                           Development t

      rcher
Resea                                      neo




   Mining
 software                      Deve
                                   lop
repositories                          er
                             neo                  communication
                                                     means




               documenting
                 changes
developers often do not have time and resources to write detailed commit comments




                                          Deve
                                              lop
                                                 er
                                        neo
developers often do not have time and resources to write detailed commit comments




                                  time pressure




                                          Deve
                                              lop
                                                  er
                                        neo
developers often do not have time and resources to write detailed commit comments




                                  time pressure




                                          Deve
                                              lop
                                                  er
                                        neo

     boss pressure
developers often do not have time and resources to write detailed commit comments




                                  time pressure




                                          Deve
                                              lop
                                                  er
                                        neo

     boss pressure                                            deadline pressure
developers often do not have time and resources to write detailed commit comments




                                  time pressure


                                                               Let's just
                                         i don't have the
                                                              write "Added
                                          time for many
                                                                context
                                             details
                                                                 menu"


                                          Deve
                                              lop
                                                   er
                                        neo

     boss pressure                                            deadline pressure
large commits are difficult to document and often commit comments are left blank




                         more than 4,800
                       commits involve more
                          than 10 files*

                         more than 5,300
                       commit comments are
                          left blank**




 *   data source: gcc software project (gcc.gnu.org)
**   data source: vuze software project (www.vuze.com)
non-descriptive comments make developers’ lives harder




                                 “Next”         “Arg”




                                                   “changes”*
                  “bugabugabuga”


                                            now, how am i
                                             suppose to
                          Deve
                              lop         understand these
                                    er
                        neo                   changes?




*   real commit comments committed in vuze (www.vuze.com) in 2010
non-descriptive comments make developers’ lives harder




                                 “Next”         “Arg”




                                                   “changes”*
                  “bugabugabuga”


                                            now, how am i
                                             suppose to
                          Deve
                              lop         understand these
                                    er
                        neo                   changes?


                                                                 mister
                                                             programmerson




*   real commit comments committed in vuze (www.vuze.com) in 2010
non-descriptive comments make developers’ lives harder




                                 “Next”         “Arg”




                                                   “changes”*
                  “bugabugabuga”


                                            now, how am i
                                             suppose to
                          Deve
                              lop         understand these
                                    er
                        neo                   changes?


                                                                 mister
                                                             programmerson



                                                   yes??




*   real commit comments committed in vuze (www.vuze.com) in 2010
but there is an alternative...




                                   are you sure that you want to use
                                    svn to document your changes?



                           well, i don’t
                             know...



                 Deve
                     lop
                        er
               neo
but there is an alternative...




                                   are you sure that you want to use
                                    svn to document your changes?



                           well, i don’t
                             know...


                                                     mr.
                 Deve                          programmerson,
                     lop                        now you have a
                        er
               neo                                 choice



                                           take the blue pill to
                                            continue using svn




                                               take the red pill to
                                               switch to commit 2.0
I go for
      commit 2.0...
      but what is it?




         commit 2.0
   is an ide enhancement
   which enriches commit
comments with visualization,       IDE
   providing a context to
changes and a better means
 to communicate. it is built
                                                      Developer
                                Commit 2.0
 on top of the ide and does
  not change the standard
     commit mechanism
                                Code            Viz



                               SCM repository
I go for
             commit 2.0...
             but what is it?




              commit 2.0
        is an ide enhancement
        which enriches commit
     comments with visualization,       IDE
        providing a context to
     changes and a better means
      to communicate. it is built
                                                           Developer
                                     Commit 2.0
      on top of the ide and does
       not change the standard
          commit mechanism
                                     Code            Viz



                                    SCM repository




it is hot here...
 let me remove
    the jacket
I go for
             commit 2.0...
             but what is it?




              commit 2.0
        is an ide enhancement
        which enriches commit
     comments with visualization,       IDE
        providing a context to
     changes and a better means
      to communicate. it is built
                                                           Developer
                                     Commit 2.0
      on top of the ide and does
       not change the standard
          commit mechanism
                                     Code            Viz



                                    SCM repository




it is hot here...
 let me remove
    the jacket
how does it
         work?




       SCM
repository
how does it
         work?




       SCM
repository
how does it
         work?




       SCM
repository




                      when the developer clicks the
                        commit button, commit 2.0
                      creates a visualization of the
                     changes between his version and
                      the one in the SCM repository
how does it
         work?




       SCM
repository




                      when the developer clicks the
                        commit button, commit 2.0
                      creates a visualization of the
                     changes between his version and
                      the one in the SCM repository
how does it
         work?




                                                           the developer can
                                                            interact with and
                                                       annotate the visualization
                                                             to document the
                                                          performed changes


       SCM
repository




                      when the developer clicks the
                        commit button, commit 2.0
                      creates a visualization of the
                     changes between his version and
                      the one in the SCM repository
finally, commit 2.0
                         publishes the code on
                        the scm repository and
                              the annotated
                        visualization on a blog.

                        the blog is used because
                            no scm supports
                              visualization



           Refactored
Added a
            the class
listener
finally, commit 2.0
                         publishes the code on
                        the scm repository and
                              the annotated
                        visualization on a blog.

                        the blog is used because
                            no scm supports
                              visualization



           Refactored
Added a
            the class
listener
SCM
                    repository



           code




                              finally, commit 2.0
                            publishes the code on
                           the scm repository and
                                 the annotated
                           visualization on a blog.

                           the blog is used because
                               no scm supports
                                 visualization



            Refactored
Added a
             the class
listener
SCM
                    repository



           code



                         Visualization




                               finally, commit 2.0
                             publishes the code on
                            the scm repository and
                                  the annotated
                            visualization on a blog.

                           the blog is used because
                               no scm supports
                                 visualization



            Refactored
Added a
             the class
listener




                                                       Posterous blog
the coarse grained
                                           view shows all the
can you tell me
                                          packages in a system
more about the
                                           and, within each of
visualizations?
                                         them, all the classes
                                            belonging to the
                                                 package




                             # methods
                    Class
                                           the size of the
                                             classes is
                                          proportional to
                  # attributes             the number of
                                         attributes (width)
                                            and methods
                                               (height)




                   package
I see... let me
                                                        guess the color scheme:
      The fine grained view
    represents classes and
                                                                      Addition
   inheritance relationships.
     For each class the view                                          deletion
     shows all the methods
          the class has                                          modification

                                                             indirect changes

                                                        and you use lighter color
  the height of
                                                           for the containers
   methods is                                     ce
                                              an
proportional to                            it
                                         r
                                  he
 the number of
 lines of code,                 in                                      op  er
while the width is                                                Devel          neo
      fixed
                                     Method



                                              of code
                                              # lines




                           Class
it looks fancy, but
can you show me an
     example?




                           sure, here you
                         can see a coarse
                      grained view where the
                       user fixed a bug and
                           enriched some
                       entities. you can see
                        which classes are
                          involved in each
                              change
in the
   fine grained view
 on the right you can
  see which methods
    were added and
modified to perform ui
    changes and to
     improve name
      completion
wow... is this
            real?
                              absolutely!
                            you can find it at:
                           commit20.inf.usi.ch
  Deve
      lop
            er            for the supported ide
neo
                                ask them
commit
                                                   2.0 was originally
         wow... is this                           created for the pharo
            real?                                     smalltalk ide
                              absolutely!
                            you can find it at:
                           commit20.inf.usi.ch
  Deve
      lop
            er            for the supported ide
neo
                                ask them
commit
                                                   2.0 was originally
         wow... is this                           created for the pharo
            real?                                     smalltalk ide           commit
                              absolutely!                                   2.0 is also
                            you can find it at:                           available for
                           commit20.inf.usi.ch                             eclipse. ask
  Deve                                                                     for a demo!
      lop
            er            for the supported ide
neo
                                ask them
Deve
      lop
         er
neo
is
    this really the
  end of the commit        actually no...
      2.0 story?       we plan to conduct a
                      user study to evaluate
                         commit 2.0 and to
                        improve scm to add
                           image support
  Deve
      lop
          er
neo




                                      to be continued...

More Related Content

Recently uploaded

By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 

Recently uploaded (20)

By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 

Featured

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
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
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
Neil Kimberley
 
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)
contently
 
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
Albert Qian
 
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)
 
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
Search Engine Journal
 
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
SpeakerHub
 
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
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
Tessa Mero
 
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
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
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
MindGenius
 
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...
RachelPearson36
 
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...
Applitools
 
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
GetSmarter
 
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
Project for Public Spaces & National Center for Biking and Walking
 

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
 

Commit 2.0 - Enriching commit comments with visualization

  • 1. Marco D’Ambros Michele Lanza Romain robbes university of Lugano university of Lugano University of chile switzerland switzerland chile
  • 2. Neo neo
  • 3. Neo Neo’s girlfriend neo
  • 4. Neo Neo’s girlfriend commit 2.0 neo
  • 5. Neo Neo’s girlfriend commit 2.0 pharo ide neo
  • 6. Neo Neo’s girlfriend eclipse ide commit 2.0 pharo ide neo
  • 7. neo
  • 8. Deve lop er neo
  • 9. Deve lop er neo documenting changes
  • 10. neo Deve lop er neo documenting changes
  • 11. eam Development t neo Deve lop er neo documenting changes
  • 12. eam Development t neo Deve lop er neo communication means documenting changes
  • 13. eam Development t rcher Resea neo Deve lop er neo communication means documenting changes
  • 14. eam Development t rcher Resea neo Mining software Deve lop repositories er neo communication means documenting changes
  • 15. developers often do not have time and resources to write detailed commit comments Deve lop er neo
  • 16. developers often do not have time and resources to write detailed commit comments time pressure Deve lop er neo
  • 17. developers often do not have time and resources to write detailed commit comments time pressure Deve lop er neo boss pressure
  • 18. developers often do not have time and resources to write detailed commit comments time pressure Deve lop er neo boss pressure deadline pressure
  • 19. developers often do not have time and resources to write detailed commit comments time pressure Let's just i don't have the write "Added time for many context details menu" Deve lop er neo boss pressure deadline pressure
  • 20. large commits are difficult to document and often commit comments are left blank more than 4,800 commits involve more than 10 files* more than 5,300 commit comments are left blank** * data source: gcc software project (gcc.gnu.org) ** data source: vuze software project (www.vuze.com)
  • 21. non-descriptive comments make developers’ lives harder “Next” “Arg” “changes”* “bugabugabuga” now, how am i suppose to Deve lop understand these er neo changes? * real commit comments committed in vuze (www.vuze.com) in 2010
  • 22. non-descriptive comments make developers’ lives harder “Next” “Arg” “changes”* “bugabugabuga” now, how am i suppose to Deve lop understand these er neo changes? mister programmerson * real commit comments committed in vuze (www.vuze.com) in 2010
  • 23. non-descriptive comments make developers’ lives harder “Next” “Arg” “changes”* “bugabugabuga” now, how am i suppose to Deve lop understand these er neo changes? mister programmerson yes?? * real commit comments committed in vuze (www.vuze.com) in 2010
  • 24. but there is an alternative... are you sure that you want to use svn to document your changes? well, i don’t know... Deve lop er neo
  • 25. but there is an alternative... are you sure that you want to use svn to document your changes? well, i don’t know... mr. Deve programmerson, lop now you have a er neo choice take the blue pill to continue using svn take the red pill to switch to commit 2.0
  • 26. I go for commit 2.0... but what is it? commit 2.0 is an ide enhancement which enriches commit comments with visualization, IDE providing a context to changes and a better means to communicate. it is built Developer Commit 2.0 on top of the ide and does not change the standard commit mechanism Code Viz SCM repository
  • 27. I go for commit 2.0... but what is it? commit 2.0 is an ide enhancement which enriches commit comments with visualization, IDE providing a context to changes and a better means to communicate. it is built Developer Commit 2.0 on top of the ide and does not change the standard commit mechanism Code Viz SCM repository it is hot here... let me remove the jacket
  • 28. I go for commit 2.0... but what is it? commit 2.0 is an ide enhancement which enriches commit comments with visualization, IDE providing a context to changes and a better means to communicate. it is built Developer Commit 2.0 on top of the ide and does not change the standard commit mechanism Code Viz SCM repository it is hot here... let me remove the jacket
  • 29. how does it work? SCM repository
  • 30. how does it work? SCM repository
  • 31. how does it work? SCM repository when the developer clicks the commit button, commit 2.0 creates a visualization of the changes between his version and the one in the SCM repository
  • 32. how does it work? SCM repository when the developer clicks the commit button, commit 2.0 creates a visualization of the changes between his version and the one in the SCM repository
  • 33. how does it work? the developer can interact with and annotate the visualization to document the performed changes SCM repository when the developer clicks the commit button, commit 2.0 creates a visualization of the changes between his version and the one in the SCM repository
  • 34. finally, commit 2.0 publishes the code on the scm repository and the annotated visualization on a blog. the blog is used because no scm supports visualization Refactored Added a the class listener
  • 35. finally, commit 2.0 publishes the code on the scm repository and the annotated visualization on a blog. the blog is used because no scm supports visualization Refactored Added a the class listener
  • 36. SCM repository code finally, commit 2.0 publishes the code on the scm repository and the annotated visualization on a blog. the blog is used because no scm supports visualization Refactored Added a the class listener
  • 37. SCM repository code Visualization finally, commit 2.0 publishes the code on the scm repository and the annotated visualization on a blog. the blog is used because no scm supports visualization Refactored Added a the class listener Posterous blog
  • 38. the coarse grained view shows all the can you tell me packages in a system more about the and, within each of visualizations? them, all the classes belonging to the package # methods Class the size of the classes is proportional to # attributes the number of attributes (width) and methods (height) package
  • 39. I see... let me guess the color scheme: The fine grained view represents classes and Addition inheritance relationships. For each class the view deletion shows all the methods the class has modification indirect changes and you use lighter color the height of for the containers methods is ce an proportional to it r he the number of lines of code, in op er while the width is Devel neo fixed Method of code # lines Class
  • 40. it looks fancy, but can you show me an example? sure, here you can see a coarse grained view where the user fixed a bug and enriched some entities. you can see which classes are involved in each change
  • 41. in the fine grained view on the right you can see which methods were added and modified to perform ui changes and to improve name completion
  • 42. wow... is this real? absolutely! you can find it at: commit20.inf.usi.ch Deve lop er for the supported ide neo ask them
  • 43. commit 2.0 was originally wow... is this created for the pharo real? smalltalk ide absolutely! you can find it at: commit20.inf.usi.ch Deve lop er for the supported ide neo ask them
  • 44. commit 2.0 was originally wow... is this created for the pharo real? smalltalk ide commit absolutely! 2.0 is also you can find it at: available for commit20.inf.usi.ch eclipse. ask Deve for a demo! lop er for the supported ide neo ask them
  • 45.
  • 46.
  • 47. Deve lop er neo
  • 48. is this really the end of the commit actually no... 2.0 story? we plan to conduct a user study to evaluate commit 2.0 and to improve scm to add image support Deve lop er neo to be continued...

Editor's Notes