SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
The Knowledgeable
Software Engineer
Univ.-Prof. Dr. Martin Pinzger
Professor of Software Engineering
Software Engineering Research Group
University of Klagenfurt
Software systems
2
500 million
Mobile applications (apps)
3
1,000 million
Software in your car
4
Software is everywhere!
Fact: Many software systems are large
5
How many lines of code?
10 MLOC = 14 meters
Fact: Software systems are complex
6
Challenge: Understanding software systems
7
Martin
?
Andreas
?
Perspective of software developers
8
Difficult to comprehend dependencies
A solution: DA4Java visualization
9
NbBundleTest
testExistingR.()
testNonE.()
main()
NbBundle
getMessage()
Install from: http://serg.aau.at/bin/view/MartinPinzger/DA4Java
Initial evaluation of DA4Java
Pros/cons
+ DA4Java reduces clutter/information overload
+ Good input for discussing dependencies
- Performance, graph can still get very complex
Todo
Add information about changes
User studies to evaluate the approach
Use the approach in different domains
11
Applying the idea to spreadsheets
12
13
50% form the basis for decisions
Spreadsheets are business critical
Errors often lead to financial loss
see: http://www.eusprig.org/horror-stories.htm
Interviewed 27 prof. spreadsheet users
14
What annoys you?
What makes you happy?
15
Support for understanding is missing
How are the different worksheets related? (44%)
Where do formulas refer to? (38%)
What cells are meant for input? (22%)
What cells contain output? (22%)
End Result
Solution: Breviz spreadsheet visualization
16
exam Richard Griffin lab Richard Griffin
overall Richard Griffin
AVERAGE
Breviz: Global View
17
Breviz: Formula View
18
Evaluation with spreadsheet users
Interviews with 27 users
Case studies with 9 spreadsheets
19
20
Results
Does the visualization help to understand large, complex
spreadsheets?
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 ...?
Upload your spreadsheet at: http://app.infotron.nl
21
Fact: Software systems evolve
Lehmans’ Laws of software evolution
1. Continuing change
A program that is used in a real-world environment must change
2. Increasing complexity
As a program evolves, it becomes more complex
22
Growth and changes of Mozilla
231998
Implications of Lehmans’ Laws
24
Maintenance
75%
Initial development
25%
Maintenance costs increase
60% is spent on understanding
Developers perform “quick fixes”
Number of bugs increases
Challenge: Evolving software systems
25
Martin
?
Andreas
?
A solution: Business intelligence for SE
26
Source
Code
Bugs
Tasks
Emails
Knowledge
Repository
Data Mining
Identify bottlenecks in the team work
To understand the effects of source code
changes on the design
To identify failure prone-entities that
need more testing
Identifying failure-prone binaries
Released in January, 2007
> 4 years of development
Several thousand developers
Several thousand binaries (*.exe, *.dll)
Several millions of commits
27
RQ: Is fragmentation of contributions related
with the number of post-release failures?
Approach
28
Change
Logs
Bugs Regression
Analysis
Measuring
Contributions
Count post-release
failure reports
Developer contributions
29
Alice
Printer.dll
System.dll
Bob
Change Logs Build System
4
2
3
4:Alice
4:Alice,
5:Bob
Developer contribution network
30
Alice
Bob
Dan
Eric
Fu
Go
Hin
ab
c
Windows binary (*.dll)
Developer
Which binary is failure-prone?
Network centrality measures
31
Alice
Bob
Dan
Eric
Fu
Go
Hin
ab
c
Freeman degree
Alice
Bob
Dan
Eric
Fu
Go
Hin
ab
c
Alice
Bob
Dan
Eric
Fu
Go
Hin
ab
c
Bonacich’s powerCloseness
Alice
Bob
Dan
Eric
Fu
Go
Hin
ab
c
Larger fragmentation - more failures
32
40200
1.00
0.90
0.80
0.70
0.60
0.50
40200
1.00
0.90
0.80
0.70
0.60
0.50
40200
1.00
0.90
0.80
0.70
0.60
0.50
R-Square Pearson Spearman
Linear regression of 50 random splits
#Failures = b0 + b1*Closeness + b2*#Authors + b3*#Commits
What can we learn from that?
Reorganize contributions? (Yes)
Increase testing effort for central binaries? (Yes)
Redesign central binaries? (Maybe)
33
Alice
Bob
Dan
Eric
Fu
Go
Hin
ab
c
5
4
6
2 4
6
2
5 7
4
The knowledgeable software engineer
34
Martin Andreas
Knowledge
Repository
Strong collaborations
35
Software Engineering Research Group
36http://serg.aau.at martin.pinzger@aau.at

Mais conteúdo relacionado

Mais procurados

Software metrics
Software metricsSoftware metrics
Software metrics
Ione Donosa
 
Veracode Corporate Overview - Print
Veracode Corporate Overview - PrintVeracode Corporate Overview - Print
Veracode Corporate Overview - Print
Andrew Kanikuru
 
Software engg. pressman_ch-2
Software engg. pressman_ch-2Software engg. pressman_ch-2
Software engg. pressman_ch-2
Dhairya Joshi
 
Software dependencies, work dependencies and Failure Proneness
Software dependencies, work dependencies and Failure PronenessSoftware dependencies, work dependencies and Failure Proneness
Software dependencies, work dependencies and Failure Proneness
Muthukumaran Kasinathan
 
Developing software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth modelDeveloping software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth model
IAEME Publication
 

Mais procurados (19)

The State of Open Source Vulnerabilities Management
The State of Open Source Vulnerabilities ManagementThe State of Open Source Vulnerabilities Management
The State of Open Source Vulnerabilities Management
 
Unsustainable Regaining Control of Uncontrollable Apps
Unsustainable Regaining Control of Uncontrollable AppsUnsustainable Regaining Control of Uncontrollable Apps
Unsustainable Regaining Control of Uncontrollable Apps
 
9. risk-management
9. risk-management9. risk-management
9. risk-management
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Towards Omnia: a Monitoring Factory for Quality-Aware DevOps
Towards Omnia: a Monitoring Factory for Quality-Aware DevOpsTowards Omnia: a Monitoring Factory for Quality-Aware DevOps
Towards Omnia: a Monitoring Factory for Quality-Aware DevOps
 
Effects of Ownership on Software Quality
 Effects of Ownership on Software Quality Effects of Ownership on Software Quality
Effects of Ownership on Software Quality
 
Need Of security in DevOps
Need Of security in DevOpsNeed Of security in DevOps
Need Of security in DevOps
 
PERIL LIBRARY
PERIL LIBRARYPERIL LIBRARY
PERIL LIBRARY
 
Four things that are almost guaranteed to reduce the reliability of a softwa...
Four things that are almost guaranteed to reduce the reliability of a softwa...Four things that are almost guaranteed to reduce the reliability of a softwa...
Four things that are almost guaranteed to reduce the reliability of a softwa...
 
Veracode Corporate Overview - Print
Veracode Corporate Overview - PrintVeracode Corporate Overview - Print
Veracode Corporate Overview - Print
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
 
Accelerating Innovation with Software Supply Chain Management
Accelerating Innovation with Software Supply Chain ManagementAccelerating Innovation with Software Supply Chain Management
Accelerating Innovation with Software Supply Chain Management
 
Software engg. pressman_ch-2
Software engg. pressman_ch-2Software engg. pressman_ch-2
Software engg. pressman_ch-2
 
SE18_Lec 00_Course Outline
SE18_Lec 00_Course OutlineSE18_Lec 00_Course Outline
SE18_Lec 00_Course Outline
 
An Empirical Study of Adoption of Software Testing in Open Source Projects
An Empirical Study of Adoption of Software Testing in Open Source ProjectsAn Empirical Study of Adoption of Software Testing in Open Source Projects
An Empirical Study of Adoption of Software Testing in Open Source Projects
 
Veracode - Overview
Veracode - OverviewVeracode - Overview
Veracode - Overview
 
ICSM10c.ppt
ICSM10c.pptICSM10c.ppt
ICSM10c.ppt
 
Software dependencies, work dependencies and Failure Proneness
Software dependencies, work dependencies and Failure PronenessSoftware dependencies, work dependencies and Failure Proneness
Software dependencies, work dependencies and Failure Proneness
 
Developing software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth modelDeveloping software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth model
 

Semelhante a Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria

Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)
simon56
 

Semelhante a Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria (20)

The Knowledgeable Software Engineer
The Knowledgeable Software EngineerThe Knowledgeable Software Engineer
The Knowledgeable Software Engineer
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
Architecting for speed: How agile innovators accelerate growth through micros...
Architecting for speed: How agile innovators accelerate growth through micros...Architecting for speed: How agile innovators accelerate growth through micros...
Architecting for speed: How agile innovators accelerate growth through micros...
 
Architecting for speed - how agile innovators accelerate growth through micro...
Architecting for speed - how agile innovators accelerate growth through micro...Architecting for speed - how agile innovators accelerate growth through micro...
Architecting for speed - how agile innovators accelerate growth through micro...
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
Microservices: Why and When? - Alon Fliess, CodeValue - Cloud Native Day Tel ...
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Intro
IntroIntro
Intro
 
overview introduction to Software Engineering
overview introduction to Software Engineeringoverview introduction to Software Engineering
overview introduction to Software Engineering
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)
 
Managing Software Risk with CAST
Managing Software Risk with CASTManaging Software Risk with CAST
Managing Software Risk with CAST
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 

Mais de Martin Pinzger

A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
Martin Pinzger
 

Mais de Martin Pinzger (6)

A Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionA Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug Prediction
 
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
Analyzing Changes in Software Systems From ChangeDistiller to FMDiffAnalyzing Changes in Software Systems From ChangeDistiller to FMDiff
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
 
A tale of bug prediction in software development
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
 
Populating a Release History Database (ICSM 2013 MIP)
Populating a Release History Database (ICSM 2013 MIP)Populating a Release History Database (ICSM 2013 MIP)
Populating a Release History Database (ICSM 2013 MIP)
 
A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug prediction
 
Keynote HotSWUp 2012
Keynote HotSWUp 2012Keynote HotSWUp 2012
Keynote HotSWUp 2012
 

Último

Último (20)

AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria