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

Weitere ähnliche Inhalte

Mehr von CISPA Helmholtz Center for Information Security

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...
CISPA Helmholtz Center for Information Security
 
Seeding Bugs To Find Bugs
Seeding Bugs To Find BugsSeeding Bugs To Find Bugs

Mehr von 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?
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

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...
 
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...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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
 
[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
 
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)
 
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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

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.