Marco D’Ambros           Michele Lanza        Romain robbes
university of Lugano   university of Lugano   University of ch...
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  ...
neo
Deve
      lop
         er
neo
Deve
                    lop
                       er
              neo




documenting
  changes
neo




                Deve
                    lop
                       er
              neo




documenting
  changes
eam
                            Development t


                            neo




                Deve
                 ...
eam
                            Development t


                            neo




                Deve
                 ...
eam
                                          Development t

      rcher
Resea                                     neo



...
eam
                                           Development t

      rcher
Resea                                      neo

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




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




                                  ti...
developers often do not have time and resources to write detailed commit comments




                                  ti...
developers often do not have time and resources to write detailed commit comments




                                  ti...
developers often do not have time and resources to write detailed commit comments




                                  ti...
large commits are difficult to document and often commit comments are left blank




                         more than 4,...
non-descriptive comments make developers’ lives harder




                                 “Next”         “Arg”




     ...
non-descriptive comments make developers’ lives harder




                                 “Next”         “Arg”




     ...
non-descriptive comments make developers’ lives harder




                                 “Next”         “Arg”




     ...
but there is an alternative...




                                   are you sure that you want to use
                  ...
but there is an alternative...




                                   are you sure that you want to use
                  ...
I go for
      commit 2.0...
      but what is it?




         commit 2.0
   is an ide enhancement
   which enriches comm...
I go for
             commit 2.0...
             but what is it?




              commit 2.0
        is an ide enhancemen...
I go for
             commit 2.0...
             but what is it?




              commit 2.0
        is an ide enhancemen...
how does it
         work?




       SCM
repository
how does it
         work?




       SCM
repository
how does it
         work?




       SCM
repository




                      when the developer clicks the
             ...
how does it
         work?




       SCM
repository




                      when the developer clicks the
             ...
how does it
         work?




                                                           the developer can
              ...
finally, commit 2.0
                         publishes the code on
                        the scm repository and
        ...
finally, commit 2.0
                         publishes the code on
                        the scm repository and
        ...
SCM
                    repository



           code




                              finally, commit 2.0
              ...
SCM
                    repository



           code



                         Visualization




                      ...
the coarse grained
                                           view shows all the
can you tell me
                         ...
I see... let me
                                                        guess the color scheme:
      The fine grained vie...
it looks fancy, but
can you show me an
     example?




                           sure, here you
                       ...
in the
   fine grained view
 on the right you can
  see which methods
    were added and
modified to perform ui
    change...
wow... is this
            real?
                              absolutely!
                            you can find it at:...
commit
                                                   2.0 was originally
         wow... is this                      ...
commit
                                                   2.0 was originally
         wow... is this                      ...
Deve
      lop
         er
neo
is
    this really the
  end of the commit        actually no...
      2.0 story?       we plan to conduct a
             ...
Commit 2.0 - Enriching commit comments with visualization
Commit 2.0 - Enriching commit comments with visualization
Upcoming SlideShare
Loading in …5
×

Commit 2.0 - Enriching commit comments with visualization

3,428 views
3,368 views

Published on

The real story of how Neo Programmerson took the red pill and switch to the Commit 2.0 world

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

No Downloads
Views
Total views
3,428
On SlideShare
0
From Embeds
0
Number of Embeds
774
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide



























































  • Commit 2.0 - Enriching commit comments with visualization

    1. 1. Marco D’Ambros Michele Lanza Romain robbes university of Lugano university of Lugano University of chile switzerland switzerland chile
    2. 2. Neo neo
    3. 3. Neo Neo’s girlfriend neo
    4. 4. Neo Neo’s girlfriend commit 2.0 neo
    5. 5. Neo Neo’s girlfriend commit 2.0 pharo ide neo
    6. 6. Neo Neo’s girlfriend eclipse ide commit 2.0 pharo ide neo
    7. 7. neo
    8. 8. Deve lop er neo
    9. 9. Deve lop er neo documenting changes
    10. 10. neo Deve lop er neo documenting changes
    11. 11. eam Development t neo Deve lop er neo documenting changes
    12. 12. eam Development t neo Deve lop er neo communication means documenting changes
    13. 13. eam Development t rcher Resea neo Deve lop er neo communication means documenting changes
    14. 14. eam Development t rcher Resea neo Mining software Deve lop repositories er neo communication means documenting changes
    15. 15. developers often do not have time and resources to write detailed commit comments Deve lop er neo
    16. 16. developers often do not have time and resources to write detailed commit comments time pressure Deve lop er neo
    17. 17. developers often do not have time and resources to write detailed commit comments time pressure Deve lop er neo boss pressure
    18. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 29. how does it work? SCM repository
    30. 30. how does it work? SCM repository
    31. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 45. Deve lop er neo
    46. 46. 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...

    ×