The KnowledgeableSoftware EngineerUniv.-Prof. Dr. Martin PinzgerProfessor of Software EngineeringSoftware Engineering Rese...
Software systems2500 million
Mobile applications (apps)31,000 million
Software in your car4Software is everywhere!
Fact: Many software systems are large5How many lines of code?10 MLOC = 14 meters
Fact: Software systems are complex6
Challenge: Understanding software systems7Martin?Andreas?
Perspective of software developers8Difficult to comprehend dependencies
A solution: DA4Java visualization9NbBundleTesttestExistingR.()testNonE.()main()NbBundlegetMessage()
Install from: http://serg.aau.at/bin/view/MartinPinzger/DA4Java
Initial evaluation of DA4JavaPros/cons+ DA4Java reduces clutter/information overload+ Good input for discussing dependenci...
Applying the idea to spreadsheets12
1350% form the basis for decisionsSpreadsheets are business criticalErrors often lead to financial losssee: http://www.eusp...
Interviewed 27 prof. spreadsheet users14What annoys you?What makes you happy?
15Support for understanding is missingHow are the different worksheets related? (44%)Where do formulas refer to? (38%)What...
End ResultSolution: Breviz spreadsheet visualization16exam Richard Griffin lab Richard Griffinoverall Richard GriffinAVERAGE
Breviz: Global View17
Breviz: Formula View18
Evaluation with spreadsheet usersInterviews with 27 usersCase studies with 9 spreadsheets19
20ResultsDoes the visualization help to understand large, complexspreadsheets?Answers“This really helps me to understand w...
Upload your spreadsheet at: http://app.infotron.nl21
Fact: Software systems evolveLehmans’ Laws of software evolution1. Continuing changeA program that is used in a real-world...
Growth and changes of Mozilla231998
Implications of Lehmans’ Laws24Maintenance75%Initial development25%Maintenance costs increase60% is spent on understanding...
Challenge: Evolving software systems25Martin?Andreas?
A solution: Business intelligence for SE26SourceCodeBugsTasksEmailsKnowledgeRepositoryData MiningIdentify bottlenecks in t...
Identifying failure-prone binariesReleased in January, 2007> 4 years of developmentSeveral thousand developersSeveral thou...
Approach28ChangeLogsBugs RegressionAnalysisMeasuringContributionsCount post-releasefailure reports
Developer contributions29AlicePrinter.dllSystem.dllBobChange Logs Build System4234:Alice4:Alice,5:Bob
Developer contribution network30AliceBobDanEricFuGoHinabcWindows binary (*.dll)DeveloperWhich binary is failure-prone?
Network centrality measures31AliceBobDanEricFuGoHinabcFreeman degreeAliceBobDanEricFuGoHinabcAliceBobDanEricFuGoHinabcBona...
Larger fragmentation - more failures32402001.000.900.800.700.600.50402001.000.900.800.700.600.50402001.000.900.800.700.600...
What can we learn from that?Reorganize contributions? (Yes)Increase testing effort for central binaries? (Yes)Redesign cen...
The knowledgeable software engineer34Martin AndreasKnowledgeRepository
Strong collaborations35
Software Engineering Research Group36http://serg.aau.at martin.pinzger@aau.at
Upcoming SlideShare
Loading in...5
×

Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria

558

Published on

Slides of my inauguration lecture at the University of Klagenfurt in Austria. In this talk I outline several challenges of evolving software systems and present several ideas and findings from my research to address them. In particular, I show how we can use the history of software projects to identify critical parts of a software system and how we can use visualization techniques to help software engineers to understand the implementation of large, complex software systems including large spreadsheets.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
558
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria

  1. 1. The KnowledgeableSoftware EngineerUniv.-Prof. Dr. Martin PinzgerProfessor of Software EngineeringSoftware Engineering Research GroupUniversity of Klagenfurt
  2. 2. Software systems2500 million
  3. 3. Mobile applications (apps)31,000 million
  4. 4. Software in your car4Software is everywhere!
  5. 5. Fact: Many software systems are large5How many lines of code?10 MLOC = 14 meters
  6. 6. Fact: Software systems are complex6
  7. 7. Challenge: Understanding software systems7Martin?Andreas?
  8. 8. Perspective of software developers8Difficult to comprehend dependencies
  9. 9. A solution: DA4Java visualization9NbBundleTesttestExistingR.()testNonE.()main()NbBundlegetMessage()
  10. 10. Install from: http://serg.aau.at/bin/view/MartinPinzger/DA4Java
  11. 11. Initial evaluation of DA4JavaPros/cons+ DA4Java reduces clutter/information overload+ Good input for discussing dependencies- Performance, graph can still get very complexTodoAdd information about changesUser studies to evaluate the approachUse the approach in different domains11
  12. 12. Applying the idea to spreadsheets12
  13. 13. 1350% form the basis for decisionsSpreadsheets are business criticalErrors often lead to financial losssee: http://www.eusprig.org/horror-stories.htm
  14. 14. Interviewed 27 prof. spreadsheet users14What annoys you?What makes you happy?
  15. 15. 15Support for understanding is missingHow are the different worksheets related? (44%)Where do formulas refer to? (38%)What cells are meant for input? (22%)What cells contain output? (22%)
  16. 16. End ResultSolution: Breviz spreadsheet visualization16exam Richard Griffin lab Richard Griffinoverall Richard GriffinAVERAGE
  17. 17. Breviz: Global View17
  18. 18. Breviz: Formula View18
  19. 19. Evaluation with spreadsheet usersInterviews with 27 usersCase studies with 9 spreadsheets19
  20. 20. 20ResultsDoes the visualization help to understand large, complexspreadsheets?Answers“This really helps me to understand what [worksheet] is what.”“The global view reveals the idea (design) behind the spreadsheet.”“The different levels allow to show and filter details.”Whats more ...?
  21. 21. Upload your spreadsheet at: http://app.infotron.nl21
  22. 22. Fact: Software systems evolveLehmans’ Laws of software evolution1. Continuing changeA program that is used in a real-world environment must change2. Increasing complexityAs a program evolves, it becomes more complex22
  23. 23. Growth and changes of Mozilla231998
  24. 24. Implications of Lehmans’ Laws24Maintenance75%Initial development25%Maintenance costs increase60% is spent on understandingDevelopers perform “quick fixes”Number of bugs increases
  25. 25. Challenge: Evolving software systems25Martin?Andreas?
  26. 26. A solution: Business intelligence for SE26SourceCodeBugsTasksEmailsKnowledgeRepositoryData MiningIdentify bottlenecks in the team workTo understand the effects of source codechanges on the designTo identify failure prone-entities thatneed more testing
  27. 27. Identifying failure-prone binariesReleased in January, 2007> 4 years of developmentSeveral thousand developersSeveral thousand binaries (*.exe, *.dll)Several millions of commits27RQ: Is fragmentation of contributions relatedwith the number of post-release failures?
  28. 28. Approach28ChangeLogsBugs RegressionAnalysisMeasuringContributionsCount post-releasefailure reports
  29. 29. Developer contributions29AlicePrinter.dllSystem.dllBobChange Logs Build System4234:Alice4:Alice,5:Bob
  30. 30. Developer contribution network30AliceBobDanEricFuGoHinabcWindows binary (*.dll)DeveloperWhich binary is failure-prone?
  31. 31. Network centrality measures31AliceBobDanEricFuGoHinabcFreeman degreeAliceBobDanEricFuGoHinabcAliceBobDanEricFuGoHinabcBonacich’s powerClosenessAliceBobDanEricFuGoHinabc
  32. 32. Larger fragmentation - more failures32402001.000.900.800.700.600.50402001.000.900.800.700.600.50402001.000.900.800.700.600.50R-Square Pearson SpearmanLinear regression of 50 random splits#Failures = b0 + b1*Closeness + b2*#Authors + b3*#Commits
  33. 33. What can we learn from that?Reorganize contributions? (Yes)Increase testing effort for central binaries? (Yes)Redesign central binaries? (Maybe)33AliceBobDanEricFuGoHinabc5462 4625 74
  34. 34. The knowledgeable software engineer34Martin AndreasKnowledgeRepository
  35. 35. Strong collaborations35
  36. 36. Software Engineering Research Group36http://serg.aau.at martin.pinzger@aau.at
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×