SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Of Changes and their History:Ideas for New IDEs Harald Gall University of Zurich Department of Informatics http://seal.ifi.uzh.ch
"The study of products is vastly more important than the study of production, even for understanding production and its methods." Karl Popper
On the study of products...
… for understanding production Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In VISSOFT 2007
Goals & Questions What can an IDE learn about Software and its structure  Change impact and propagation  Developer contributions and efforts Team structure and social networks Change smells, trends and hot spots Faults and defects
Features of Modern IDEs
Visual Studio Team System 2010 “Focusing on an integrated set of tools that make it easy to collect data about your software development projects and enabletransparency, promote collaboration and provide the information necessary to make the rightdecisions at the right time” source: http://blogs.msdn.com/bharry/
Some Rosario features Improvedwork item tracking capabilities that make it easier to track and understand work and perform impact analysis and other traceability functions. Newproject scheduling featuresthat enable better coordination between project management and the rest of the organization.   Dashboards and cross project reports that provide roll up of status across diverse projects. A simplified data warehouse and reporting experience that makes it easier to build custom reports. A TFS based test case management system that enables you to track all of your test cases, relate them to requirements and plans, track progress and perform impact analysis. source: http://blogs.msdn.com/bharry/
Some cool scripting things you can do with Powershell and TFS Get a list of all files that changed between two versions Get-TfsItemHistory $/orcas -r -includeitems -version 575800~576111 | select-tfsitem | %{$_.path} Get-TfsItemHistory $/orcas -r -includeitems -version LBeta1~LBeta2 | select-tfsitem | %{$_.path} Show files in a given shelveset that I have local changes pended against Get-TfsPendingChange -shelvesetTfptReview | Get-TfsPendingChange Show files that are locked in a source tree Get-TfsPendingChange $/orcas -r -user * | where {$_.IsLock} Delete shelvesets older than 90 days 	Get-TfsShelveset | where { $_.CreationDate -le [DateTime]::Now.AddDays(-90) } | Remove-TfsShelveset source: http://blogs.msdn.com/bharry/
IBM’s Jazz “Jazz is an IBM Rational project to build a scalable, extensible team collaboration platform for integrating work across the phases of the development lifecycle.” http://jazz.net/
IBM’s Rational Team Concert Integrated Work Item Management:Automatically creates and tracks progress of individual work items in accordance with team process and project rules.  Integrated Source Control: Provides essential software version control, workspace management and parallel development support to individuals and teams. Integrated Build Management:Schedule and execute software build processes. Team Awareness & Collaboration: Provides project-integrated presence and messaging http://www-01.ibm.com/software/awdtools/rtc/express/features/
The latest and greatest in IDEs work items source control build management team awareness & collaboration test management data warehouse & reporting project scheduling
But what about ... all the data already in the software archives? all the release histories? all the types of changes? all the dependencies?
Mining Software Archives ... Code base Which entities co-evolve/co-change? Do code and comments co-evolve? Bugs and Changes Who should fix this bug? How long will it take to fix this bug? Predicting bugs from cached bug history When do changes induce fixes? Project and Process Project memory for software development Software Expertise Identifying expertise from changes and bug reports
Change Analyses & Visualizations
Release History Database Research tools ,[object Object]
softChange, German
 Kenyon, Bevan et al.
 Mondrian, Girba et al.
Evolizer, Gall et al.,[object Object]
How many developers per entity?
How many bugs per entity?
Who should fix this bug? Apply machine learning algorithms to open bug repository Learn the kinds of reports that each developer resolves A classifier suggests developers who should resolve the actual bug Precision: 57% in Eclipse, 75% in Firefox Anvik, J., Hiew, L., and Murphy, G. C. 2006. Who should fix this bug?In Proceeding of the 28th international Conference on Software Engineering, May 20 - 28, 2006.
Who is the code owner?  CVS check-in analysis  combined with Formal Concept Analysis (FCA) ownership = 30% of revisions
Which entities co-evolve? Software Evolution Metrics Fan-in 	invoke 	access Change dependencies 	change couplings bugs, issues Fan-out invoke access Class/module metrics files, directories,  packages, ... global variables,  NOM, NOA, ... Martin Pinzger, Harald C. Gall, Michael Fischer, and Michele Lanza, Visualizing Multiple Evolution Metrics In Proceedings of the ACM Symposium on Software Visualization, 2005.
Mozilla Module DOM: 0.92 -> 1.7
Multiple Evolution Metrics Kiviat graph: 26 metrics  7 Mozilla modules 7 subsequent releases
CVS diff 1967,1970c1964,1965 <    if (d != null) { <        d.foo(); <        d.bar(); <    } --- >    d.foo(); >    d.bar(); CVS log: “lines: +2 -4” Change Analysis ,[object Object]
 2 Statement parent changes
 1 Statement delete
 Change significance?,[object Object]
Which changes are significant? Example from ArgoUML
What are the developer networks? Conway‘s law Inter-team collaboration Ownership changes Key personalities in social networks connectors vs. communicators gatekeepers, influencers, innovators, leaders and communicators as trendsetters Information for project manager vs. newcomer
Scenario: newcomer Kevin
Scenario: key person Rafael leaving
SNA Cockpit
Evolizer Our platform for harvesting and provisioning of software evolution data
Evolizer.org
Evolizer Tools ChangeDistiller: change types and significance ArchView: evolution metrics SNA Cockpit: developer networks CocoViz ChangeCommander: code and comments Code Clone Evolution
Ingredients for modern IDEs
Metaphors: Code City Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In VISSOFT 2007
Buildings of ArgoUML

Weitere ähnliche Inhalte

Andere mochten auch (17)

Lõikelilled ja lõikeroheline
Lõikelilled ja lõikerohelineLõikelilled ja lõikeroheline
Lõikelilled ja lõikeroheline
 
Potililled
PotililledPotililled
Potililled
 
Kõmsi kooli arengukava
Kõmsi kooli arengukavaKõmsi kooli arengukava
Kõmsi kooli arengukava
 
Richard
RichardRichard
Richard
 
Suvelilled
SuvelilledSuvelilled
Suvelilled
 
Actionable Software Engineering Research
Actionable Software Engineering ResearchActionable Software Engineering Research
Actionable Software Engineering Research
 
Kõmsi kooli õppekava
Kõmsi kooli õppekavaKõmsi kooli õppekava
Kõmsi kooli õppekava
 
Kaaro
KaaroKaaro
Kaaro
 
Henri
HenriHenri
Henri
 
Renee
ReneeRenee
Renee
 
Lasteaia kodukord
Lasteaia kodukordLasteaia kodukord
Lasteaia kodukord
 
Kõmsi kooli kodukord
Kõmsi kooli kodukordKõmsi kooli kodukord
Kõmsi kooli kodukord
 
Timo
TimoTimo
Timo
 
Merili
MeriliMerili
Merili
 
Kristiina
KristiinaKristiina
Kristiina
 
Lii
Lii Lii
Lii
 
Software Reuse: Challenges and Business Success
Software Reuse: Challenges and Business SuccessSoftware Reuse: Challenges and Business Success
Software Reuse: Challenges and Business Success
 

Ähnlich wie Of Changes and Their History

06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_design
Majong DevJfu
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
anilpmuvvala
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
anilpmuvvala
 
Open Engineering Framework
Open Engineering FrameworkOpen Engineering Framework
Open Engineering Framework
John Vogel
 

Ähnlich wie Of Changes and Their History (20)

Six Easy Pieces of Quantitatively Analyzing Open Source
Six Easy Pieces of Quantitatively Analyzing Open SourceSix Easy Pieces of Quantitatively Analyzing Open Source
Six Easy Pieces of Quantitatively Analyzing Open Source
 
Provisioning Toolchain Introduction for Velocity Online Conference (March 2010)
Provisioning Toolchain Introduction for Velocity Online Conference (March 2010)Provisioning Toolchain Introduction for Velocity Online Conference (March 2010)
Provisioning Toolchain Introduction for Velocity Online Conference (March 2010)
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
The path to an hybrid open source paradigm
The path to an hybrid open source paradigmThe path to an hybrid open source paradigm
The path to an hybrid open source paradigm
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
 
Msr2021 tutorial-di penta
Msr2021 tutorial-di pentaMsr2021 tutorial-di penta
Msr2021 tutorial-di penta
 
Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015Seminar VU Amsterdam 2015
Seminar VU Amsterdam 2015
 
06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_design
 
Hughes RDAP11 Data Publication Repositories
Hughes RDAP11 Data Publication RepositoriesHughes RDAP11 Data Publication Repositories
Hughes RDAP11 Data Publication Repositories
 
Linuxcon 2011 Crash Course in Open Source Cloud Computing
Linuxcon 2011   Crash Course in Open Source Cloud ComputingLinuxcon 2011   Crash Course in Open Source Cloud Computing
Linuxcon 2011 Crash Course in Open Source Cloud Computing
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
 
What_is_DevOps.pptx
What_is_DevOps.pptxWhat_is_DevOps.pptx
What_is_DevOps.pptx
 
Open Engineering Framework
Open Engineering FrameworkOpen Engineering Framework
Open Engineering Framework
 
Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and Challenges
 
Reproducibility: 10 Simple Rules
Reproducibility: 10 Simple RulesReproducibility: 10 Simple Rules
Reproducibility: 10 Simple Rules
 
Open Access Week 2017: Life Sciences and Open Sciences - worfkflows and tools
Open Access Week 2017: Life Sciences and Open Sciences - worfkflows and toolsOpen Access Week 2017: Life Sciences and Open Sciences - worfkflows and tools
Open Access Week 2017: Life Sciences and Open Sciences - worfkflows and tools
 
ECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM SolutionsECM and Open Source Software: A Disruptive Force in ECM Solutions
ECM and Open Source Software: A Disruptive Force in ECM Solutions
 

Kürzlich hochgeladen

Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
MateoGardella
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Kürzlich hochgeladen (20)

Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 

Of Changes and Their History

  • 1. Of Changes and their History:Ideas for New IDEs Harald Gall University of Zurich Department of Informatics http://seal.ifi.uzh.ch
  • 2. "The study of products is vastly more important than the study of production, even for understanding production and its methods." Karl Popper
  • 3. On the study of products...
  • 4. … for understanding production Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In VISSOFT 2007
  • 5. Goals & Questions What can an IDE learn about Software and its structure Change impact and propagation Developer contributions and efforts Team structure and social networks Change smells, trends and hot spots Faults and defects
  • 7. Visual Studio Team System 2010 “Focusing on an integrated set of tools that make it easy to collect data about your software development projects and enabletransparency, promote collaboration and provide the information necessary to make the rightdecisions at the right time” source: http://blogs.msdn.com/bharry/
  • 8. Some Rosario features Improvedwork item tracking capabilities that make it easier to track and understand work and perform impact analysis and other traceability functions. Newproject scheduling featuresthat enable better coordination between project management and the rest of the organization.  Dashboards and cross project reports that provide roll up of status across diverse projects. A simplified data warehouse and reporting experience that makes it easier to build custom reports. A TFS based test case management system that enables you to track all of your test cases, relate them to requirements and plans, track progress and perform impact analysis. source: http://blogs.msdn.com/bharry/
  • 9. Some cool scripting things you can do with Powershell and TFS Get a list of all files that changed between two versions Get-TfsItemHistory $/orcas -r -includeitems -version 575800~576111 | select-tfsitem | %{$_.path} Get-TfsItemHistory $/orcas -r -includeitems -version LBeta1~LBeta2 | select-tfsitem | %{$_.path} Show files in a given shelveset that I have local changes pended against Get-TfsPendingChange -shelvesetTfptReview | Get-TfsPendingChange Show files that are locked in a source tree Get-TfsPendingChange $/orcas -r -user * | where {$_.IsLock} Delete shelvesets older than 90 days Get-TfsShelveset | where { $_.CreationDate -le [DateTime]::Now.AddDays(-90) } | Remove-TfsShelveset source: http://blogs.msdn.com/bharry/
  • 10. IBM’s Jazz “Jazz is an IBM Rational project to build a scalable, extensible team collaboration platform for integrating work across the phases of the development lifecycle.” http://jazz.net/
  • 11. IBM’s Rational Team Concert Integrated Work Item Management:Automatically creates and tracks progress of individual work items in accordance with team process and project rules. Integrated Source Control: Provides essential software version control, workspace management and parallel development support to individuals and teams. Integrated Build Management:Schedule and execute software build processes. Team Awareness & Collaboration: Provides project-integrated presence and messaging http://www-01.ibm.com/software/awdtools/rtc/express/features/
  • 12. The latest and greatest in IDEs work items source control build management team awareness & collaboration test management data warehouse & reporting project scheduling
  • 13. But what about ... all the data already in the software archives? all the release histories? all the types of changes? all the dependencies?
  • 14. Mining Software Archives ... Code base Which entities co-evolve/co-change? Do code and comments co-evolve? Bugs and Changes Who should fix this bug? How long will it take to fix this bug? Predicting bugs from cached bug history When do changes induce fixes? Project and Process Project memory for software development Software Expertise Identifying expertise from changes and bug reports
  • 15. Change Analyses & Visualizations
  • 16.
  • 20.
  • 21. How many developers per entity?
  • 22. How many bugs per entity?
  • 23. Who should fix this bug? Apply machine learning algorithms to open bug repository Learn the kinds of reports that each developer resolves A classifier suggests developers who should resolve the actual bug Precision: 57% in Eclipse, 75% in Firefox Anvik, J., Hiew, L., and Murphy, G. C. 2006. Who should fix this bug?In Proceeding of the 28th international Conference on Software Engineering, May 20 - 28, 2006.
  • 24. Who is the code owner? CVS check-in analysis combined with Formal Concept Analysis (FCA) ownership = 30% of revisions
  • 25. Which entities co-evolve? Software Evolution Metrics Fan-in invoke access Change dependencies change couplings bugs, issues Fan-out invoke access Class/module metrics files, directories, packages, ... global variables, NOM, NOA, ... Martin Pinzger, Harald C. Gall, Michael Fischer, and Michele Lanza, Visualizing Multiple Evolution Metrics In Proceedings of the ACM Symposium on Software Visualization, 2005.
  • 26. Mozilla Module DOM: 0.92 -> 1.7
  • 27. Multiple Evolution Metrics Kiviat graph: 26 metrics 7 Mozilla modules 7 subsequent releases
  • 28.
  • 29. 2 Statement parent changes
  • 30. 1 Statement delete
  • 31.
  • 32. Which changes are significant? Example from ArgoUML
  • 33. What are the developer networks? Conway‘s law Inter-team collaboration Ownership changes Key personalities in social networks connectors vs. communicators gatekeepers, influencers, innovators, leaders and communicators as trendsetters Information for project manager vs. newcomer
  • 35. Scenario: key person Rafael leaving
  • 37. Evolizer Our platform for harvesting and provisioning of software evolution data
  • 39. Evolizer Tools ChangeDistiller: change types and significance ArchView: evolution metrics SNA Cockpit: developer networks CocoViz ChangeCommander: code and comments Code Clone Evolution
  • 41. Metaphors: Code City Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In VISSOFT 2007
  • 46. IDEAs: Integrated Development, Evolution and Analysis actively include change history and evolution analysis techniques have “tabular” project data and graphical views from the history provide role-based evolution for the user Data warehouses inside IDEs point into that direction…
  • 47. “More of that Jazz”

Hinweis der Redaktion

  1. Release named Rosario