SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
The Future of

Programming Environments
        Andreas Zeller
         Saarland University
Programming Environments
A Tool Set
Tools evolve
Tools integrate
Tools work together
Tools work together
Models   Specs   Code      Traces      Profiles   Tests




e-mail   Bugs    Effort   Navigation   Changes   Chats
Models   Specs   Code      Traces      Profiles   Tests




e-mail   Bugs    Effort   Navigation   Changes   Chats
Bugs   Changes
Map bugs to
       code locations




Bugs                    Changes
Eclipse Bugs
Eclipse Imports
                                        71% of all components importing compiler
                                               show a post-release defect

     import    org.eclipse.jdt.internal.compiler.lookup.*;
     import    org.eclipse.jdt.internal.compiler.*;
     import    org.eclipse.jdt.internal.compiler.ast.*;
     import    org.eclipse.jdt.internal.compiler.util.*;
     ...
     import    org.eclipse.pde.core.*;
     import    org.eclipse.jface.wizard.*;
     import    org.eclipse.ui.*;


                                                   14% of all components importing ui
                                                      show a post-release defect

Joint work with Adrian Schröter • Tom Zimmermann
Eclipse Imports
                   Correlation with failure
import   org.eclipse.jdt.internal.compiler.lookup.*;
import   org.eclipse.jdt.internal.compiler.*;
import   org.eclipse.jdt.internal.compiler.ast.*;
import   org.eclipse.jdt.internal.compiler.util.*;
...
import   org.eclipse.pde.core.*;
import   org.eclipse.jface.wizard.*;
import   org.eclipse.ui.*;



                   Correlation with success
Prediction
                         defect         no defect

                top 5%

                                  10%
~300 Packages




                            90%
Software Archives
• contain full record of project history
• maintained via programming environments
• automatic maintenance and access
• freely accessible in open source projects

      Bugs                        Changes
Models   Specs   Code      Traces      Profiles   Tests




e-mail   Bugs    Effort   Navigation   Changes   Chats
Models   Specs       Code      Traces      Profiles   Tests




                  “Which modules
                 should I test most?”



e-mail   Bugs        Effort   Navigation   Changes   Chats
Models   Specs        Code      Traces      Profiles   Tests




                 “How long will it take
                   to fix this bug?”



e-mail   Bugs         Effort   Navigation   Changes   Chats
Models   Specs       Code      Traces      Profiles   Tests




                 “This requirement is
                        risky”



e-mail   Bugs        Effort   Navigation   Changes   Chats
Models   Specs   Code      Traces      Profiles   Tests




e-mail   Bugs    Effort   Navigation   Changes   Chats
Eclipse Bugs
Studies


                                                   Make this
                                                   Actionable!




     Rosenberg, L. and Hyatt, L. “Developing An Effective Metrics Program”
European Space Agency Software Assurance Symposium, Netherlands, March, 1996
“Road
map”!
Assistance


Future environments will
 • mine patterns from program + process
 • apply rules to make predictions
 • provide assistance in all development decisions
 • adapt advice to project history
Wikis
                                                               Joy of Use
                Participation                        Usability
                      Social Software
Recommendation
                                                            Simplicity
                                           Perpetual Beta
                        Collaboration




                Empirical SE 2.0
                                                               Trust

                                                                Economy
        Remixability                                                   The Long Tail
   DataDriven
Challenges
Models   Specs   Code      Traces      Profiles   Tests




                 Program Data



                 Process Data



e-mail   Bugs    Effort   Navigation   Changes   Chats
Models   Specs     Code      Traces      Profiles   Tests



  Deductive Reasoning

                                 Inductive Reasoning




e-mail    Bugs     Effort   Navigation   Changes   Chats
Models   Specs   Code      Traces      Profiles   Tests




e-mail   Bugs    Effort   Navigation   Changes   Chats
Models   Specs   Code      Traces      Profiles   Tests




e-mail   Bugs    Effort   Navigation   Changes   Chats
Summary

Más contenido relacionado

Más de CISPA Helmholtz Center for Information Security

Más de CISPA Helmholtz Center for Information Security (15)

On Impact in Software Engineering Research (Dagstuhl 2020)
On Impact in Software Engineering Research (Dagstuhl 2020)On Impact in Software Engineering Research (Dagstuhl 2020)
On Impact in Software Engineering Research (Dagstuhl 2020)
 
Fast and Effective Fuzz Testing (Facebook TAV 2019)
Fast and Effective Fuzz Testing (Facebook TAV 2019)Fast and Effective Fuzz Testing (Facebook TAV 2019)
Fast and Effective Fuzz Testing (Facebook TAV 2019)
 
Software-Tests automatisch erzeugen: Frische Ansätze für Forschung, Praxis un...
Software-Tests automatisch erzeugen: Frische Ansätze für Forschung, Praxis un...Software-Tests automatisch erzeugen: Frische Ansätze für Forschung, Praxis un...
Software-Tests automatisch erzeugen: Frische Ansätze für Forschung, Praxis un...
 
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
 
On Impact in Software Engineering Research
On Impact in Software Engineering ResearchOn Impact in Software Engineering Research
On Impact in Software Engineering Research
 
Twelve tips on how to prepare an ERC grant proposal
Twelve tips on how to prepare an ERC grant proposalTwelve tips on how to prepare an ERC grant proposal
Twelve tips on how to prepare an ERC grant proposal
 
Getting your work funded
Getting your work fundedGetting your work funded
Getting your work funded
 
Learning from 6,000 projects mining specifications in the large
Learning from 6,000 projects   mining specifications in the largeLearning from 6,000 projects   mining specifications in the large
Learning from 6,000 projects mining specifications in the large
 
Debugging Debugging
Debugging DebuggingDebugging Debugging
Debugging Debugging
 
Seeding Bugs To Find Bugs
Seeding Bugs To Find BugsSeeding Bugs To Find Bugs
Seeding Bugs To Find Bugs
 
Mining Processes
Mining ProcessesMining Processes
Mining Processes
 
Mining Programs
Mining ProgramsMining Programs
Mining Programs
 
Getting your paper accepted (at ISSTA 2008)
Getting your paper accepted (at ISSTA 2008)Getting your paper accepted (at ISSTA 2008)
Getting your paper accepted (at ISSTA 2008)
 
Woher kommen Software-Fehler?
Woher kommen Software-Fehler?Woher kommen Software-Fehler?
Woher kommen Software-Fehler?
 
Do Bugs Reside in Complex Code?
Do Bugs Reside in Complex Code?Do Bugs Reside in Complex Code?
Do Bugs Reside in Complex Code?
 

Último

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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Último (20)

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...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Future of Programming Environments

  • 1. The Future of Programming Environments Andreas Zeller Saarland University
  • 8. Models Specs Code Traces Profiles Tests e-mail Bugs Effort Navigation Changes Chats
  • 9. Models Specs Code Traces Profiles Tests e-mail Bugs Effort Navigation Changes Chats
  • 10. Bugs Changes
  • 11. Map bugs to code locations Bugs Changes
  • 13. Eclipse Imports 71% of all components importing compiler show a post-release defect import org.eclipse.jdt.internal.compiler.lookup.*; import org.eclipse.jdt.internal.compiler.*; import org.eclipse.jdt.internal.compiler.ast.*; import org.eclipse.jdt.internal.compiler.util.*; ... import org.eclipse.pde.core.*; import org.eclipse.jface.wizard.*; import org.eclipse.ui.*; 14% of all components importing ui show a post-release defect Joint work with Adrian Schröter • Tom Zimmermann
  • 14. Eclipse Imports Correlation with failure import org.eclipse.jdt.internal.compiler.lookup.*; import org.eclipse.jdt.internal.compiler.*; import org.eclipse.jdt.internal.compiler.ast.*; import org.eclipse.jdt.internal.compiler.util.*; ... import org.eclipse.pde.core.*; import org.eclipse.jface.wizard.*; import org.eclipse.ui.*; Correlation with success
  • 15. Prediction defect no defect top 5% 10% ~300 Packages 90%
  • 16. Software Archives • contain full record of project history • maintained via programming environments • automatic maintenance and access • freely accessible in open source projects Bugs Changes
  • 17. Models Specs Code Traces Profiles Tests e-mail Bugs Effort Navigation Changes Chats
  • 18. Models Specs Code Traces Profiles Tests “Which modules should I test most?” e-mail Bugs Effort Navigation Changes Chats
  • 19. Models Specs Code Traces Profiles Tests “How long will it take to fix this bug?” e-mail Bugs Effort Navigation Changes Chats
  • 20. Models Specs Code Traces Profiles Tests “This requirement is risky” e-mail Bugs Effort Navigation Changes Chats
  • 21. Models Specs Code Traces Profiles Tests e-mail Bugs Effort Navigation Changes Chats
  • 22.
  • 23.
  • 25. Studies Make this Actionable! Rosenberg, L. and Hyatt, L. “Developing An Effective Metrics Program” European Space Agency Software Assurance Symposium, Netherlands, March, 1996
  • 27. Assistance Future environments will • mine patterns from program + process • apply rules to make predictions • provide assistance in all development decisions • adapt advice to project history
  • 28. Wikis Joy of Use Participation Usability Social Software Recommendation Simplicity Perpetual Beta Collaboration Empirical SE 2.0 Trust Economy Remixability The Long Tail DataDriven
  • 30. Models Specs Code Traces Profiles Tests Program Data Process Data e-mail Bugs Effort Navigation Changes Chats
  • 31. Models Specs Code Traces Profiles Tests Deductive Reasoning Inductive Reasoning e-mail Bugs Effort Navigation Changes Chats
  • 32. Models Specs Code Traces Profiles Tests e-mail Bugs Effort Navigation Changes Chats
  • 33. Models Specs Code Traces Profiles Tests e-mail Bugs Effort Navigation Changes Chats
  • 34.