Your SlideShare is downloading. ×
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria

523
views

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 …

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
523
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. The KnowledgeableSoftware EngineerUniv.-Prof. Dr. Martin PinzgerProfessor of Software EngineeringSoftware Engineering Research GroupUniversity of Klagenfurt
  • 2. Software systems2500 million
  • 3. Mobile applications (apps)31,000 million
  • 4. Software in your car4Software is everywhere!
  • 5. Fact: Many software systems are large5How many lines of code?10 MLOC = 14 meters
  • 6. Fact: Software systems are complex6
  • 7. Challenge: Understanding software systems7Martin?Andreas?
  • 8. Perspective of software developers8Difficult to comprehend dependencies
  • 9. A solution: DA4Java visualization9NbBundleTesttestExistingR.()testNonE.()main()NbBundlegetMessage()
  • 10. Install from: http://serg.aau.at/bin/view/MartinPinzger/DA4Java
  • 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. Applying the idea to spreadsheets12
  • 13. 1350% form the basis for decisionsSpreadsheets are business criticalErrors often lead to financial losssee: http://www.eusprig.org/horror-stories.htm
  • 14. Interviewed 27 prof. spreadsheet users14What annoys you?What makes you happy?
  • 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. End ResultSolution: Breviz spreadsheet visualization16exam Richard Griffin lab Richard Griffinoverall Richard GriffinAVERAGE
  • 17. Breviz: Global View17
  • 18. Breviz: Formula View18
  • 19. Evaluation with spreadsheet usersInterviews with 27 usersCase studies with 9 spreadsheets19
  • 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. Upload your spreadsheet at: http://app.infotron.nl21
  • 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. Growth and changes of Mozilla231998
  • 24. Implications of Lehmans’ Laws24Maintenance75%Initial development25%Maintenance costs increase60% is spent on understandingDevelopers perform “quick fixes”Number of bugs increases
  • 25. Challenge: Evolving software systems25Martin?Andreas?
  • 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. 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. Approach28ChangeLogsBugs RegressionAnalysisMeasuringContributionsCount post-releasefailure reports
  • 29. Developer contributions29AlicePrinter.dllSystem.dllBobChange Logs Build System4234:Alice4:Alice,5:Bob
  • 30. Developer contribution network30AliceBobDanEricFuGoHinabcWindows binary (*.dll)DeveloperWhich binary is failure-prone?
  • 31. Network centrality measures31AliceBobDanEricFuGoHinabcFreeman degreeAliceBobDanEricFuGoHinabcAliceBobDanEricFuGoHinabcBonacich’s powerClosenessAliceBobDanEricFuGoHinabc
  • 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. What can we learn from that?Reorganize contributions? (Yes)Increase testing effort for central binaries? (Yes)Redesign central binaries? (Maybe)33AliceBobDanEricFuGoHinabc5462 4625 74
  • 34. The knowledgeable software engineer34Martin AndreasKnowledgeRepository
  • 35. Strong collaborations35
  • 36. Software Engineering Research Group36http://serg.aau.at martin.pinzger@aau.at