SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
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...

Weitere ähnliche Inhalte

Kürzlich hochgeladen

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 WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 RobisonAnna Loughnan Colquhoun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Empfohlen

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.pdfmarketingartwork
 
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 2024Neil 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 2024Albert 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 InsightsKurio // 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 2024Search 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 summarySpeakerHub
 
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 IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit 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 managementMindGenius
 
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 WorkGetSmarter
 

Empfohlen (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...

Hinweis der Redaktion