“software kwaliteitenmetrieken, omnextsaas” · – code inspection is up to 20 times more...
TRANSCRIPT
![Page 1: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/1.jpg)
“Software kwaliteit en metrieken, Omnext Saas”
Dr. H. Vogt, presentatie Universiteit Urecht januari 2015
![Page 2: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/2.jpg)
1
Agenda
• Introductie
• Software kwaliteit: Millennium probleem
• Waarom software kwaliteit?
• Software kwaliteit en metrieken
– ISO 25010/9126
– Een aantal software metrieken
– IFSQ level 1,2,3
• Omnext Saas
• Kosten en Metrieken
![Page 3: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/3.jpg)
2
Introductie Dr. H. Vogt
• Informatica Universiteit Utrecht
• Promotie Universiteit Utrecht
– Hogere Orde Attributen Grammatica’s (parsers++)
• SERC (Software Engineering Research Centre)
– Finder 2000 Millennium Analyse tool
– Program Committee Working Conference Reverse Engineering
• Omnext
– Saas: Software Analysis As a Service
– Member of the NEN Normcommissie 381007 'Software and Systems
Engineering'
– Member of the NEN Werkgroep working on NPR5325 'Opleveren en
overdragen van software‘
– IFSQ level 1 en 2 gecertificeerd
![Page 4: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/4.jpg)
Omnext
![Page 5: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/5.jpg)
4
Millennium probleem
![Page 6: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/6.jpg)
5
Het probleem
• Ontbreken eeuwaanduiding in jaartallen
– 83 wordt gezien als 1983
– 00 wordt gezien als 1900, niet als 2000
• 1900 geen schrikkeljaar, 2000 wel
• 99 wordt door veel systemen niet als een
jaartal beschouwd, maar als een
standaardwaarde voor bijvoorbeeld een
foutmelding
![Page 7: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/7.jpg)
6
Voorbeeld
• Wie om vijf voor twaalf gaat bellen en om vijf
over twaalf ophangt zou rijk worden
• Het gesprek begint om 23.55 uur op 31
december van het jaar 1999 en eindigt om
00.05 uur van het jaar 1900
• Zonder doeltreffende maatregelen heeft dit
telefoongesprek een negatieve
telefoonrekening tot gevolg voor bijna een
eeuw bellen
![Page 8: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/8.jpg)
7
Will London's lights go out?
Will London's lights go out?
http://www.pa.press.net/tech/year230997.html
By Giles Turnbull, New Media Correspondent, PA
IF NO ACTION WAS TAKEN, BUT ALL HAVE TAKEN ACTIONS
• Banks closing for most of January 2000
• Telephone lines only operating properly 75 percent of the time.
• Massive disruption to power supplies during December 1999 and the
following January.
• Stock market closed between 1st December 1999 and 24th January 2000
• Ten days of disruption to the postal service.
• Schools closed for four weeks
• Hospitals only open for emergencies for four weeks.
![Page 9: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/9.jpg)
8
Embedded systems hard evidence
Date: Wed, 12 Nov 1997 09:44:12 -600 (CST6CDT)
Presented at the November meeting of the Energy Industry Y2K SIG
• Four Alcoa Steel Plants
– 50% of control systems will fail
• North Sea Expro (Shell-Exxon JV)
– Platform, Pipeline and Gas Plants
– 1200 systems identified, 12% failure rate
• BP Refinery, Grangemouth, UK
– 94 systems identified
– Couldn't find vendor for 20
– 74 assessed
– 3 will fail, 2 will cause shutdown
Jay Abshier, Mgr- Corporate Year 2000 Office
Texaco Inc, Bellaire, Texas
![Page 10: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/10.jpg)
9
Tools for millennium
Prepare
Analysis
Adapt
Test
Implementation
Time
Tools
![Page 11: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/11.jpg)
10
Waarom software kwaliteit?
![Page 12: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/12.jpg)
11
Waarom software kwaliteit?
Complexity Is Killing Your Large Applications: Act Now to Save Them
![Page 13: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/13.jpg)
12
Complexiteit
![Page 14: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/14.jpg)
13
Complexiteit
![Page 15: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/15.jpg)
14
Maintenance costs
Systemen steeds complexer
Weinig of geen documentatie
Geen mensen met kennis meer
Herbouw geen optie
![Page 16: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/16.jpg)
15
Kosten besparen
Business Vraag: Sturen op kwaliteit code tijdens ontwikkeling en onderhoud
SaaS Antwoord: meten van metrieken van code als dienst in de cloud (Omnext), in het engels Software Analysis As a Service
![Page 17: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/17.jpg)
- Complexity is killing your large applications : Act now to save them ( Andy Kite – VP & Gartner Fellow )
The Effects of Complexity
![Page 18: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/18.jpg)
17
ISO 25010: non functionele requirements
Functionele requirements
Beschrijven specifiek gedrag of functies, die het
systeem dient te vervullen
Niet-functionele requirements
Niet-functionele requirements specificeren
criteria om het functioneren van het systeem te
beoordelen. Bijvoorbeeld performance
![Page 19: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/19.jpg)
18
ISO 25010
• Niet-functionele requirements
• Product kwaliteitsmodel (product quality)
– 31 kwaliteitsattributen
– beperkt tot het doelsysteem – hardware en
software
• Kwaliteit tijdens gebruik (quality in use)
– 11 kwaliteitsattributen
– de gehele interactie tussen gebruikers en het
informatiesysteem
![Page 20: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/20.jpg)
19
Product Quality
![Page 21: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/21.jpg)
20
Maintainability
![Page 22: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/22.jpg)
21
Metrieken
• Indicator
– maat voor één of meer kwaliteitseigenschappen.
Literatuur: ‘metrics’
• Meetvoorschrift
• Norm
![Page 23: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/23.jpg)
22
Voorbeeld metrieken
• LOC
• FP backfiring
• Unit size
• Parameterlist
• CC
• MI
![Page 24: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/24.jpg)
23
LOC
• Lines of Code
• Meer LOC, meer effort om te ontwikkelen
![Page 25: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/25.jpg)
24
LOC
• Wat is LOC?
![Page 26: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/26.jpg)
25
Function Point
• Wikipedia:
• A function point is a unit of measurement to
express the amount of business functionality
an information system provides to a user
• The cost (in dollars or hours) of a single unit is
calculated from past projects
• Example: 8 hours per function point
• FPA Functie Punt Analyse
![Page 27: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/27.jpg)
26
FP backfiring
• LOC -> FP -> Herbouwwaarde systeem
• QSM Function Point Programming Language
Table
![Page 28: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/28.jpg)
27
Too large unit size
• Method is doing more than its
name/signature might suggest
• Challenging for others to digest , excessive
scrolling causes readers to lose focus.
• Try to reduce the method length by creating
helper methods and removing any
copy/pasted code.
• Voorbeeld threshold: 100
![Page 29: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/29.jpg)
28
Lengte Parameterlist
• Methods with numerous parameters are a
challenge to maintain, especially if most of
them share the same datatype
• These situations usually denote the need for
new objects to wrap the numerous
parameters.
• Voorbeeld threshold: 7
![Page 30: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/30.jpg)
29
Parameterlist voorbeeld
![Page 31: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/31.jpg)
30
CC (Cyclomatische complexiteit, McCabe 1976)
What the Experts say...
• One general recommendation from the recent SEI report entitled:
"Incorporating Software Requirements into the System RFP," suggests
including Complexity measurements in the statement of work and
enforcing limits on cyclomatic complexity. "Application complexity affects
software supportability. One generally accepted complexity measure is
McCabe’s Cyclomatic Complexity Measure, which should not exceed 10 for
a given module."
• Incorporating Software Requirements into the System RFP
Survey of RFP Language for Software by Topic, v. 2.0
Edited by Charlene Gross
MAY 2009 SPECIAL REPORT
CMU/SEI-2009-SR-008
Acquisition Support Program
![Page 32: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/32.jpg)
31
CC
![Page 33: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/33.jpg)
32
• Wat is het?
• Aantal beslispunten + 1
If a =b*b+4*3
Then 2+a
Else 3+b
Fi
• CC=2, #testpaden = 2
CC
![Page 34: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/34.jpg)
33
CC
If a =b*b+4*3
Then 2+a
Else 3+b
Fi
If a =c*f+56
Then 2+f
Else 3+g
Fi
CC=3, #testpaden = 4
![Page 35: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/35.jpg)
34
CC
If a =b*b+4*3
Then 2+a
Else 3+b
Fi
If a =c*f+56
Then 2+f
Else 3+g
Fi
If a =f*h+56
Then 2+j
Else 3+k
Fi
CC=4, #testpaden = 8
![Page 36: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/36.jpg)
35
CC
• CC=8, #testpaden = ???
• Slechte cholesterol
![Page 37: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/37.jpg)
36
CC
If land = NL
Then x
Fi
If land = DE
Then y
Fi
If land = GR
Then z
FI Goede cholesterol
![Page 38: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/38.jpg)
37
MI
• [Oman and Hagemeister, 1991]
• Maintainability Index
• Bepaald onderhoudbaarheid van systeem
• Enkel getal
• Samengesteld uit
– LOC
– CC
– #number of comments
– Halstead metrics
![Page 39: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/39.jpg)
38
MI
![Page 40: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/40.jpg)
39
MI
Complex
![Page 41: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/41.jpg)
40
MI
• Probleem: niet intuitief voor vinden wortel van het probleem
• Bij metingen met commentaar ook nog even als mens naar
kijken
• Alternatieven?
![Page 42: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/42.jpg)
41
IfSQ
• Institute for Software Quality
• Collections defect indicators
• Three collections, level 1, 2, 3
• Why inspection?
– Code inspection is up to 20 times more efficient
than testing
– Code reading detected about 80% more faults per
hour than testing
![Page 43: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/43.jpg)
42
Level 1
• Most commonly occurring defect indicators considered bad
practice
• Work in Progress
– WIP-1—Vague "To Do“
– WIP-2—Disabled Code
– WIP-3—Empty Statement Block
• Structured programming
– SP-1—Routine Too Long
– SP-2—Nesting Too Deep
• Single point of maintenance
– SPM-1—Magic Numbers
![Page 44: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/44.jpg)
43
Vague “todo”
![Page 45: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/45.jpg)
44
Disabled code
![Page 46: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/46.jpg)
45
Empty block
![Page 47: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/47.jpg)
46
Nesting too deep
![Page 48: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/48.jpg)
47
Geen hardcoded constanten
![Page 49: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/49.jpg)
48
Level 2
• Enkele extra defect indicators
• Voorbeeld
• SP-3: Logic Too Complex
• based on McCabe’s Complexity metric
![Page 50: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/50.jpg)
49
Logic too complex
![Page 51: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/51.jpg)
50
Defect indicators
• http://osqr.com/quick_scan.html
![Page 52: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/52.jpg)
51
Praktijk case
• Stichting Capclaim strijdt onder leiding van Kenneth
Berkleef van het failliete Equihold tegen ict-
dienstverlener Capgemini. Inzet is het terugvorderen
van 43 miljoen euro schade.
Read
more: http://www.computable.nl/artikel/expertversl
ag/development/5208050/1277180/de-kwaliteit-
van-de-capgeminisoftware.html#ixzz3NPPBDDuU
![Page 53: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/53.jpg)
52
Praktijk case (2)
• Extern onderzoek naar de kwaliteit
• In oktober 2010 heeft Equihold gevraagd aan Software Quality
Measurement and Improvement (SQMI) om de opgeleverde
software te onderwerpen aan een onderzoek. SQMI hanteert
een methodische aanpak waarbij het aantal coderegels met
een defect worden geteld en gegroepeerd in categorieën.
Gemiddeld kwam men op 175 foutieve regels per duizend
regels code wat een F-rating opleverde, een drie op een
schaal van één tot tien. De één na laagste score in de
geschiedenis van SQMI.
• Op basis van dit onderzoek is de eindconclusie dat de
onderhoudskosten voor dit product onnodig hoog zijn en de
software als platform voor verdere ontwikkeling ongeschikt is.
![Page 54: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/54.jpg)
53
Praktijk case (3)
• Nog een extern onderzoek naar de kwaliteit
• In 2014 heeft Capgemini de Software Improvement Group (SIG) gevraagd
om de software te onderzoeken op onderhoudbaarheid. Zij hebben
hiertoe de methode SIG/TUViT-kwaliteitsmodel voor Trusted Product
Maintainability (april 2009) gehanteerd. Ook dit is een methodische
aanpak op basis van tellingen en een normenkader.
• Afgelopen juni hebben zij dit rapport gepresenteerd met als belangrijkste
conclusie dat de onderhoudbaarheid ‘marktgemiddeld’ is, afgezet tegen
de benchmark die SIG hanteert. Dit hoeft natuurlijk niet dezelfde
benchmark te zijn die SQMI hanteert en waarop het tot een F-rating komt.
Let wel dat SIG direct de onderhoudbaarheid van de software heeft
onderzocht en SQMI de software in het algemeen en daarbij als afgeleide
heeft geconcludeerd dat de onderhoudbaarheid onnodig duur is.
![Page 55: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/55.jpg)
Omnext® SaaS Solution
Omnext SaaS Approach
Tivoli
JCL(Job control)
...
Java
.Net(OO)
Cobol
PL/1(3GL)
Workflow
Omnext SaaS
Data
Warehouse
• Parse Sources
• Resolve Relationships
• Calculate Metrics
• Check Anti-patterns
• Detect Code
Duplication
• Detect Dead Code
• Create Design Models
• Difference Analyses
UML-tools
Oracle
Uniface(4GL)
Omnext Portal
MS-Excel
![Page 56: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/56.jpg)
Omnext® SaaS Solution
Supported sources
• Access
• ActionScript
• ANSI Cobol 85
• ASP
• Aquima
• C/C++
• C#
• Cobol (most dialects)
• Java
• JavaScript
• Objective C (2013)
• Oracle Forms
• Oracle SQL
• PHP
• PL/1
• Powerbuilder
• Powercenter
• RPG
• SAP ABAP (2013)
• Siebel eScript
• SQL Server
• Sybase
• DB/2
• UNIFACE
Support for new languages and configurations are added in future releases.
• VB.NET
• Visual Basic 6
• DCL
• JCL
• Tivoli Workload
Schedule
• SMF
• User menu
configurations
• Workflow
configurations
• …
![Page 57: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/57.jpg)
• On Demand
• Cloud based
• SaaS Model
• NO licence, NO subscription
–Usage based pricing
Omnext® SaaS Introduction
Delivery
![Page 58: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/58.jpg)
Omnext® SaaS demo
Omnext® SaaS Examples
![Page 59: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/59.jpg)
58
Corporate Risk PolicyIdentify Maintenance Risk
![Page 60: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/60.jpg)
59
Health checkMonitor Progress
![Page 61: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/61.jpg)
60
SizeLines of code, Function points
![Page 62: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/62.jpg)
61
ProductivityMaintenance Function Points
![Page 63: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/63.jpg)
62
Call Tree and Where Used show all resolved
relations
Cross ReferenceAcross Technologies
![Page 64: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/64.jpg)
63
Source ViewExample Sybase Stored Procedure
In the Source View
the code of any
language is well
structured, color
coded and
hyperlinked.
![Page 65: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/65.jpg)
64
Source ViewCompare versions
![Page 66: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/66.jpg)
65
The Design supports
analysis by showing
class diagrams,
sequence diagrams,
flow charts, call graphs,
structure diagrams, …
Design can be exported
to UML-tools
Design ViewFlow Chart
![Page 67: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/67.jpg)
66
Design ViewJackson Structure Diagram
![Page 68: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/68.jpg)
67
Design ViewUML Sequence Diagram
![Page 69: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/69.jpg)
68
Standards & guidelinesBest practices
industry coding best
practices and customer
coding standards
![Page 70: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/70.jpg)
69
Clone detectionFind duplicated code
Exact clones as well as
syntactic clones
![Page 71: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/71.jpg)
70
Worklist
All identifiers and their use are stored separately in the data warehouse, making it easy to search and perform data flow analysis and create a work list. In this
example a SEPA work list is created using ‘iban’ and ‘transaction’ as starting points for further data flow analysis.
![Page 72: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/72.jpg)
71
Search
![Page 73: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/73.jpg)
72
Annotations
Annotations can be added to all items in the Omnext portal. One
can even add annotations to
selected lines of code, for instance to document Business Rules or
Issues to be solved
During an impact analysis a
developer can add annotations to
the objects in scope, with tags referring to the change or the
subject.
![Page 74: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/74.jpg)
73
Annotations
The annotations can be filtered on tags (in this case the change
number or the subject). This
creates the work list of things to do.
The filtered annotations can be exported to Excel
![Page 75: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/75.jpg)
74
Identifying interfaces and
Data persistency
Reports are available on interfaces and data persistency, with the option to trace the information from data layer to business layer
![Page 76: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/76.jpg)
75
Customer Reports
By adding relations between components and Business Services, Business
Processes, Organisational Units, etc. In the Data Warehouse, reports can be created
on those levels.
![Page 77: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/77.jpg)
76
Aggregate on Business LevelExample Function Points Report per Business Service
![Page 78: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/78.jpg)
77
System HealthExample on iPad
![Page 79: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/79.jpg)
78
Trend AnalysisExample on iPad
![Page 80: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/80.jpg)
79
Test SupportExample of Quicktest Pro input file
Export Form Definitions to
Quicktest Pro to accelerate test
preparation.
Example: Powerbuilder
![Page 81: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/81.jpg)
80
Batch Schedule OptimizationAnti Patterns
Technical Debt in Batch
Schedules:
• Dummy Jobs
• Incorrect/superfluous
dependencies
• backups in critical
timelines
• …In this example based on a Tivoli Application Database, Current Plans, Track Log information and JCL.
![Page 82: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/82.jpg)
81
Batch Schedule OptimizationWhite space analysis
White space analysis, showing gaps in critical timelines.
In this example based on a Tivoli Application Database, Current Plans, Track Log information and
JCL.
Omnext is also mentioned in the IBM redbook‘Approaches to Optimize Batch Processing on z/OS’.
See: http://www.redbooks.ibm.com/abstracts/redp4816.ht
![Page 83: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/83.jpg)
82
From current plan and track log
From application
database
Cross-reference
Tivoli – JCL - Cobol
Job schedule, JCL, resources and application information all linked and easy accessible in the portal
Batch Schedule OptimizationCross Reference
![Page 84: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/84.jpg)
83
Use Case Editor
With the Use Case Editor in the Omnext® Portal, one can recreate functional documentation based on a structured walk through of the source code. With the use case editor, one can add logical labels (aliases) to pieces of source code that are functionally relevant. Also one can add found business rules to the use cases.
One can exclude, collapse or expand items in the use case editor.
• Exclude: exclude the item from the use case
• Collapse: include the complete item as one step in the use case
• Expand: show the call tree and conditions within the selected item
![Page 85: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/85.jpg)
84
Save maintenance costs
• Uit de white paper Omnext
• How to save on software maintenance costs
• Maart 2010, Ir. F. Engelbertink en Dr. H Vogt
• Agenda
– Costs of understanding
– Documentatie helpt?
– Dode code
– Cloned code
– Bugs verwijderen
– Complexiteit
– Totaal
![Page 86: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/86.jpg)
85
Costs of understanding
[3, SWEBOK]
![Page 87: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/87.jpg)
86
Documentatie helpt?
• Hoeveel documentatie is genoeg?
• Studie 2005 [13, Universidade Católica de
Brasília, Brasilia, Brazil ]:– Source code and comments are the most important artifacts for
understanding a system to be maintained
– Data model and requirement description were other important
artifacts
– Surprisingly, and contrary to what we found in the literature,
architectural models and other general views of the system were not
found to be very important
• Zorg dat de code goed onderhoudbaar is zodat analyse niet zo
lang kost
![Page 88: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/88.jpg)
87
Herdocumentatie
• Meeste systemen slecht gedocumenteerd
• Case study [5, Report from an experiment : impact of documentation on
maintenance in Journal of empirical software engineering, 1997]
– Geen documentatie: 21% langere analyse
– Onderhoud is tot wel 50% analyse
– Wel documentatie: 10% winst totale kosten
– Hun opmerkelijke cocnlusies
• Zonder documentatie: geen verschil goede/slechte pr.
• Met documentatie: goede beter
• Hun conclusie: goede pr. zonder documentatie weinig zin
![Page 89: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/89.jpg)
88
Dode code
• [16,17 SIG and Free University of Amsterdam]
• Tot 30% code in systeem kan dode code zijn
• Gemiddeld 15%
• Vaak niet bekend wat dode code is
• Toch maar onderhouden
• Stel onderhoud per jaar kost 1$ per regel
• Applicatie 1 miljoen regels
• 15% dode code verwijderen
• 150000$ besparen
![Page 90: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/90.jpg)
89
Cloned code
• 100% gelijke kloon
• Modulo variabele namen
• [19, Demantic Designs]
• Grote systemen 10-25% cloned code
• Moet onderhouden worden
• Bugs cloned
• Stel onderhoud per jaar kost 1$ per regel
• Applicatie 1 miljoen regels
• 15% cloned code verwijderen
• 150000$ besparen
![Page 91: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/91.jpg)
90
Bugs verwijderen
• PMD, Stylecop, Bandera, ESC/Java2, FindBugs,
JLint
• Kunnen echte bugs opsporen
– Lege if statement
– Echte fouten
• The null check here is misplaced. If the variable is null a
NullPointerException will be thrown. Either the check is
useless (the variable will never be "null") or it is
incorrect.
![Page 92: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/92.jpg)
91
Bugs verwijderen
• 1 miljoen regels code
• 10 bugs verwijderen (general experience)
• $500-$1000 per bug fix
• $5000-$10000 bespaard
![Page 93: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/93.jpg)
92
Complexity
• Case study [22, Software Complexity and Maintenance Costs,
Communications of the ACM, Banker et al, November 1993]
– High levels of software complexity account for
approximately 25% maintenance costs or more
than 17% of total life-cycle costs
– Given the extremely high cost of maintenance in
commercial applications, the neglect of software
complexity is potentially a serious omission
![Page 94: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/94.jpg)
93
Totaal
• 1 million lines of code
• $1 maintenance cost per line per year
![Page 95: “Software kwaliteitenmetrieken, OmnextSaas” · – Code inspection is up to 20 times more efficient ... • In oktober 2010 heeft Equihold gevraagd aan Software Quality MeasurementandImprovement(SQMI)](https://reader031.vdocuments.us/reader031/viewer/2022022609/5b94232c09d3f2012e8ca844/html5/thumbnails/95.jpg)
94