27
Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler , Manuel Gerster, Michael Gebhart, Roland Steinegger, Sebastian Abeck

Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Developing a Quality Report for Software

Maintainability Assessment: An Exploratory

Survey

SOFTENG 2016

Pascal Giessler, Manuel Gerster, Michael Gebhart, Roland Steinegger,

Sebastian Abeck

Page 2: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Who we are…

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 2

Page 3: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

iteratec areas of expertise

We feel at home in many areas

IT ManagementConsulting

The most simple andeffective way to align

business and IT

Implementation ofIT projects

Precision thinkingleading to appropriate

IT solutions

Technology Consulting

Competency that leads tosustainable solutions

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Slide 3

Collaboration withUniversities

Supportingknowledge exchange,

publishing results

Page 4: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Agile methodology since 1996

iteratec stands for iterative software technologies

A lack of focus at the start

of the project as well as

changes in the general

constraints and the

acquisition of knowledge

during the project lead to:

„Moving Target“

iteratively enhance the

evolving versions until the

desired project outcome is

achieved

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Slide 4

Page 5: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

The considered problem…

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 5

Page 6: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Software product usually satisfy one or business/user needs

BUT, requirements can change over time due to changing:

Market conditions

Customer behaviour

Business strategy/ orientation

As a result, software modifications have to be made fast with low costs

Important: Design and develop software products with maintainability in mind

Unclear: How to analyse and assess the maintainabilty of a software product?

There is no uniform set of quality metrics

There are no common quality indicators

Goal: Analysis and assessment of maintainability of software component

Problem

Changing requirements or new demands over time

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 6

Page 7: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Collection of functionality for students

for supporting their life on the campus

of the university

Examples

Find a free working place for

students

Determine the route to a certain

room (lecture hall, library etc.)

Smart Campus is designed in a

service-oriented way

Collection of RESTful web services

User Interface is developed as mobile web application

Goal: Designing a quality report for SmartCampus to derive its maintainability characteristic

Context and Environment

SmartCampus

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 7

Page 8: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

SmartCampus – InfoService (IS)

Architectural design

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 8

InformationFacade

<<component>>BarrierService

Entity

Task

Utility

<<component>>ClientApplication

<<component>>E-MailService

PRÄSENTATIONSSCHICHT

Businesslayer

Data Layer

InfrastructureData

AIData UserData LoggingDataBarrierData TicketDataSubscriptionData

<<component>>AcessibilityInfo

Service

<<component>>SocialNetwork

Application

Serv

ice

Layer

Fu

ncti

on

al

Layer

<<component>>UserProfile

Service

AuthFacade

<<component>>Authentication

Service

<<component>>Shibboleth

IdentityProvider

<<component>>MORADA

<<component>>DataImport

ExportService

<<component>>Infrastructure

Service

SubscriptionFacade

<<component>>Notification

Service

<<component>>Subscription

Service

TicketFacade

<<component>>TicketService

FriendFacade

<<component>>FriendService

BookingFacade

<<component>>BookingService

<<component>>LoggingService

<<component>>Authorization

Service

<<component>>SharePointApplication

Werden von allen Fassaden-Dienstenverwendet, was der Übersichtlichkeithalber nicht skizziert wurde.

<<component>>SensorService

FriendData BookingData

Page 9: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Approach: Conducted explorative study with to answer the following research questions:

RQ1: Is quality assessment considered to be important in research and industry?

RQ2: Is maintainability considered to be important in research and industry?

RQ3: Which information should be part of a quality report for the purpose of software

maintainability assessment?

RQ4: How important are the given quality report properties?

Developing a quality report for software maintainability assessment

Research Questions

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 9

25

60

1

Research

18

2

3

1

3

Industry

Only Germanycompanies and

institutions

Page 10: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Our study design and the study population…

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 10

Page 11: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Study design

Umfrage Online (German only)

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 11

1. Wie wichtig ist Ihnen die Entwicklung von qualitativ hochwertiger Software?

Entwicklung eines Qualitätsberichts

sehr wichtig wichtig bedingt wichtig weniger wichtig unwichtig

2. Wie wichtig ist Ihnen eine Qualitätsbewertung von bestehender Software (z. B. zur Identifikation vonVerbesserungsmöglichkeiten)?

sehr wichtig wichtig bedingt wichtig weniger wichtig unwichtig

3. Welche Techniken setzt Ihr Unternehmen/Ihre Institution zur Software-Qualitätssicherung ein?

Konformitätsprüfungen

Reviews / Audits

Software-Metriken

Software-Tests

Verwendung bestimmter Vorgehensmodelle

Weitere Techniken:

Falls Ihr Unternehmen/Ihre Institution keine Software-Qualitätssicherung durchführt oder hierfür keine bestimmten Techniken einsetzt, bitte im Feld "WeitereTechniken" folgende Eintragung vornehmen: "KEINE".

4. Werden in Ihrem Unternehmen/Ihrer Institution die im Rahmen der Software-Qualitätssicherung gewonnenen Ergebnissein Form eines Berichtes dokumentiert?

ja nein weiß nicht

5. Haben Sie im Rahmen der Software-Qualitätssicherung (z. B. Review, Audit) bereits einen Qualitätsbericht (*) gelesenoder selbst erstellt?

(*) Zusammenfassung der Ergebnisse einer Qualitätsanalyse in Form eines Dashboards. Ermöglicht es einer Expertin/einem Experten, eine zuverlässige Aussageüber die Qualität der Software zu treffen.

ja nein

6. Welche Informationen waren Bestandteil dieses Qualitätsberichts?

Development of our study in three phases

Planning and preparation

Initial sketch for the survey

Pretest and improvement

23 different questions

8 open questions

12 closed questions

3 partially closes questions

Page 12: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Study population

Size of companies/ institutions

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 12

Size of companies and institutions of therespondents by the number of employees

1-10 11-50 51-250

251-1000 1001-10.000 10.001-100.000

> 100.000

Number of years that respondents areworking in the domain

<1 1-3 3-5 5-8 8-10

Page 13: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

The result of the conducted study…

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 13

Page 14: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Research Question 1

Is quality assessment considered to be important (research/ industry)?

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 14

0

5

10

15

20

25

30

35

40

very important important partly important less important unimportant

#R

esp

on

se

s

Research Industry

Page 15: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Research Question 2

Is maintainability considered to be important in research and industry?

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 15

0

5

10

15

20

25

30

35

40

45

very important important partly important less important unimportant

#R

esp

on

se

s

Research Industry

Page 16: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Research Question 3 (1)

Which information should be part of a quality report [...]?

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 16

0 10 20 30 40 50 60 70 80

Used technologies

Application of best practices

Test coverage

Complicance with conventions

Understandability ofdocumentation

Quality of Comments

Frequency

Industry: n = 23; Resarch: n = 60

Industry

Research

Page 17: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Research Question 3 (2)

Which information should be part of a quality report [...]?

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 17

0 10 20 30 40 50 60 70 80

Cyclomatic complexity

Number of developers

Comment ratio

Number of packages

Degree of coupling

Abstraction of softwarearchitecture (UML)

Application of design patterns

Functional naming

Completeness of documentation

Clone ratio

Frequency

Industry

Research

Page 18: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Research Question 4

How important are the given quality report properties?

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 18

0

5

10

15

20

25

30

35

Very important (1) Important (2) Partly important (3) Less important (4) Unimportant (5) Not evaluated

Fre

qu

en

cy

Research

Industry

0

5

10

15

20

25

30

35

Very important (1) Important (2) Partly important (3) Less important (4) Unimportant (5) Not evaluated

Fre

qu

en

cy

Research

Industry

Configurability

Consistency

Page 19: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Research Question 4

How important are the given quality report properties?

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 19

0

5

10

15

20

25

30

35

40

45

Very important (1) Important (2) Partly important (3) Less important (4) Unimportant (5) Not evaluated

Fre

qu

en

cy

Research

Industry

0

10

20

30

40

50

60

Very important (1) Important (2) Partly important (3) Less important (4) Unimportant (5) Not evaluated

Fre

qu

en

cy

Research

Industry

Correctness

Traceability

Page 20: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Research Question 4

How important are the given quality report properties?

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 20

0

5

10

15

20

25

30

35

40

45

50

Very important (1) Important (2) Partly important (3) Less important (4) Unimportant (5) Not evaluated

Fre

qu

en

cy

Research

Industry

0

5

10

15

20

25

30

35

40

Very important (1) Important (2) Partly important (3) Less important (4) Unimportant (5) Not evaluated

Fre

qu

en

cy

Research

Industry

Structuredness

clarity

Page 21: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Research Question 4

How important are the given quality report properties?

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 21

0

5

10

15

20

25

30

35

Very important (1) Important (2) Partly important (3) Less important (4) Unimportant (5) Not evaluated

Fre

qu

en

cy

Research

Industry

0

5

10

15

20

25

30

35

40

45

50

Very important (1) Important (2) Partly important (3) Less important (4) Unimportant (5) Not evaluated

Fre

qu

en

cy

Research

Industry

Understandability

Completeness

Page 22: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

The derived quality report…

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 22

Page 23: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Excerpt of our quality report

Compliance with convention

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 23

Amount of compliance violation. (NOCCV) i

256

Ratio on compliance violation (ROCCV) i

0.14

Most frequent compliance violation (MFCCV) i

No Rule Severity # Count

1 Control structures should use curly braces Blocker 41

2 Magic numbers should not be used Blocker 31

3 Mutable members should not be stored or returned directly Critical 37

4 Exception handlers should preserve the original exception Critical 5

5 Short Variable Major 25

6 Empty Line Separator Major 11

7 Missing Constructor Major 24

8 Member variable visibility should be specified Major 15

9 String literals should be placed on the left side when checking for equality Major 14

10 Uncommented Empty Constructor Major 13

Page 24: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Conclusion and Outlook…

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 24

Page 25: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Conclusion

Quality assessment is considered to be important in research and practice

Goal: Identification of areas of improvements

Software maintainability is very important for respondents from research and industry

There is no uniform set of quality metrics and indicators for a certain quality report

Not all of them can be measured automatically e.g. due to the lack of domain knowledge

All quality report properties are considered as very important or important

Correctness, traceability and understandability (most important)

Outlook

Categorization of the identified metrics and indicators

Identification of additional metrics and indicators of each category

Examination of several tools for static code analysis

Hybrid approach that combines automatic and manual analysis

Generation of a tool-based quality report

Conclusion and Outlook

Quality report for software maintainability assessment

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 25

Page 26: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Automation

QA82 Analyzer

© iteratec | 17.01.2016 Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey Seite 26

Page 27: Developing a Quality Report for Software Mai...Developing a Quality Report for Software Maintainability Assessment: An Exploratory Survey SOFTENG 2016 Pascal Giessler, Manuel Gerster,

Thank you for your attention

Pascal Giessler

[email protected]