SlideShare ist ein Scribd-Unternehmen logo
1 von 22
SRE & Software Fault
Management
Through Measurement and
Modeling
Rick Karcich
rkarcich@cisco.com
SRE & SW Fault Management
• SRE is a Measurement of Change Activity & Test
Activity Problem
• Composed of 3 phases
o Static Code Measurement
 Measuring the code that implements each requirement
o Measurement of Change, Build-to-Build, Sprint-to-
Sprint
 Developing the Change Profile
o Dynamic Test Measurement
 Developing the Test Profile
• Understanding how effective our tests are at
hitting changed portions of code releases
SRE == Software Reliability Engineering
Measurement as the basis for SRE
improvement
• A Basic Problem
o Testers find too many bugs too late in a
release/sprint cycle
o Bug fixing destroys the crisp, predictable
execution of a project
• The Goal
o Predictably meeting release schedules with
known quality/reliability
o Develop information actionable by testers
Measurement as the basis for SRE
improvement…
• We don’t really want to know about the things
that we can measure
o Lines of Code
o Statements
• We really want to understand the things that we
cannot measure
o Software faults
o Software development effort
Measurement as the basis for SRE
improvement…
• Modern software systems change continuously
• They evolve functionally
• The code base evolves as a result
Software Evolution: Measuring A
Moving Target
• We assume that we are developing/maintaining a
single program
• In effect, we are really working with many
programs over time
• They are different programs in a very real sense
• We must identify and measure each version of
each program module
The Measurement Problem…
Build/Sprint N
A
B
C
D
E
F
G
H
I
J
K
Build/Sprint N+1
A
B
L
D
E
F
G
H
I
J
K
M
The Introduction Of Faults
• People make errors in the interpretation of
their tasks
o System Analysts
o Systems Designers
o Developers
• These errors are manifested in
o Specifications
o Design
o Programs
o as faults
• Faults, when executed, result in failures
The Fault Process
Build/Sprint N Build/Sprint N+1
Latent
Faults
Latent
Faults
Faults
Removed
Faults
Added
Execution Consequences Of
Faults: Failures
• Faults are found in program modules
• A fault can only cause a failure if it is executed
• Different functionalities execute different sets of
modules
• Faults are associated with program
functionalities
• A test suite generated from a representative
operational profile is a precondition for reliability
analysis
Faults And Uncertainty
• Can never know when all faults have been found
• May use past experience to anticipate fault count
• Must create a fault surrogate
o Obtained from past development efforts
o Varies directly with faults
o Anticipates distribution of faults in modules
• Comments
• Executable Statements
• Non-executable Statements
• Total Operators
• Unique Operators
• Function Operators
• Total Operands
• Unique Operands Fault Index(FI)
• Unique Actual Operands
• Nodes
• Edges
• Paths
• Maximum Path Length
• Average Path Length
• Cycles
Development of FI from Raw
Metrics – Static Measurement
FI as a Fault Surrogate
• The FI metric is a statistical synthesis of program
module complexity
• Program modules may be ordered by FI
• The relative complexity of a software system is
the average FI of the component modules
• Validation of the FI concept
o Correlates well (0.90) with measures of software
faults
A Fault Index
• FI is a synthesized, dimensionless metric
• FI is a fault surrogate
o Composed of metrics closely related to faults
o Highly correlated with faults
Converting Data to Information
CMA
Metric
Analysis
PCA/
FI
Principal
Components
Analysis
Modules
Program Lots of
Data
12 23 54 12 203 39 238 34
7 13 64 12 215 9 39 238
11 21 54 12 241 39 238 35
5 33 44 12 205 39 138 44
42 55 54 12 113 29 234 14
FI
100
90
110
95
105
Measurement of Change, Build-to-
Build(Spirnt-to-Sprint) – Code Churn and
Code Delta
• Fault Index(FI) acts as a proxy for faults
• FI values change from one build to the next as a
module is changed
• Code deltas are differences in FI values from
build to the next
• Code churn is the absolute value of Code Delta –
this is the measure of change activity
The Measurement of Change
Process
Build i
Build j
Source
Code
Measurement
Tools
Baseline
Baselined
Build j
Baselined
Build i
PCA Domain
Sc
Domain
Score
Change
Code Churn
Code Delta
Baselining A Software
Development Project
• Software changes over software builds
• Measurements, such as relative complexity,
change across builds
• Initial(arbitrary) build as a baseline
• Relative complexity of each build
• Measure change in fault surrogate from an initial
baseline
Measurement Baseline
Point A
Point B
-5
+10
Measuring Product X’s Change
Activity
Measuring Product X’s Change
Activity, since Alpha
Questions….?

Weitere ähnliche Inhalte

Was ist angesagt?

verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
ITFT--Software testing
ITFT--Software testingITFT--Software testing
ITFT--Software testingShifali Sharma
 
Software Testing Technique in Software Engineering
Software Testing Technique in Software EngineeringSoftware Testing Technique in Software Engineering
Software Testing Technique in Software EngineeringIsmail Hussain
 
Heuristics ofsoftwaretestability
Heuristics ofsoftwaretestabilityHeuristics ofsoftwaretestability
Heuristics ofsoftwaretestabilityjicheng687
 
Waterfall model of Software Engineering
Waterfall model of Software EngineeringWaterfall model of Software Engineering
Waterfall model of Software EngineeringMahnoor Shaukat
 
Learn Bug Reporting Techniques
Learn Bug Reporting TechniquesLearn Bug Reporting Techniques
Learn Bug Reporting TechniquesQA InfoTech
 
Different Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting ErrorsDifferent Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting ErrorsWaqas Tariq
 
Personalized Defect Prediction
Personalized Defect PredictionPersonalized Defect Prediction
Personalized Defect PredictionSung Kim
 

Was ist angesagt? (19)

Final sdlc
Final sdlcFinal sdlc
Final sdlc
 
verification and validation
verification and validationverification and validation
verification and validation
 
SDLC, Iterative Model
SDLC, Iterative ModelSDLC, Iterative Model
SDLC, Iterative Model
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
ITFT--Software testing
ITFT--Software testingITFT--Software testing
ITFT--Software testing
 
Software Testing Technique in Software Engineering
Software Testing Technique in Software EngineeringSoftware Testing Technique in Software Engineering
Software Testing Technique in Software Engineering
 
Heuristics ofsoftwaretestability
Heuristics ofsoftwaretestabilityHeuristics ofsoftwaretestability
Heuristics ofsoftwaretestability
 
Software testing
Software testingSoftware testing
Software testing
 
Waterfall model of Software Engineering
Waterfall model of Software EngineeringWaterfall model of Software Engineering
Waterfall model of Software Engineering
 
Learn Bug Reporting Techniques
Learn Bug Reporting TechniquesLearn Bug Reporting Techniques
Learn Bug Reporting Techniques
 
Cocomo model
Cocomo modelCocomo model
Cocomo model
 
Different Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting ErrorsDifferent Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting Errors
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Personalized Defect Prediction
Personalized Defect PredictionPersonalized Defect Prediction
Personalized Defect Prediction
 
Software testing
Software testingSoftware testing
Software testing
 
Bai giang-se-06mar14
Bai giang-se-06mar14Bai giang-se-06mar14
Bai giang-se-06mar14
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
STLC
STLCSTLC
STLC
 
Day1
Day1Day1
Day1
 

Andere mochten auch (20)

Brooding temperatures for
Brooding temperatures forBrooding temperatures for
Brooding temperatures for
 
Honda cr v, 2.4 lts dohc
Honda cr v, 2.4 lts dohcHonda cr v, 2.4 lts dohc
Honda cr v, 2.4 lts dohc
 
Pemrograman Python Dasar
Pemrograman Python DasarPemrograman Python Dasar
Pemrograman Python Dasar
 
Programa profesional de ventas
Programa profesional de ventasPrograma profesional de ventas
Programa profesional de ventas
 
Types of international business
Types of international businessTypes of international business
Types of international business
 
Field Marketing Refresher
Field Marketing RefresherField Marketing Refresher
Field Marketing Refresher
 
Analysis of Expansion Opportunities in Premium Stationery Segment-ISB Hyd
Analysis of Expansion Opportunities in Premium Stationery Segment-ISB HydAnalysis of Expansion Opportunities in Premium Stationery Segment-ISB Hyd
Analysis of Expansion Opportunities in Premium Stationery Segment-ISB Hyd
 
La web 2.0
La web 2.0La web 2.0
La web 2.0
 
Amálgama de Prata Regis
Amálgama de Prata RegisAmálgama de Prata Regis
Amálgama de Prata Regis
 
Teknik belajar
Teknik belajarTeknik belajar
Teknik belajar
 
Bluebrain
BluebrainBluebrain
Bluebrain
 
Sae pronto unic
Sae pronto unicSae pronto unic
Sae pronto unic
 
Insurance for women
Insurance for womenInsurance for women
Insurance for women
 
Presentacion: Usando Archimate
Presentacion: Usando ArchimatePresentacion: Usando Archimate
Presentacion: Usando Archimate
 
Projection of solids
Projection of solidsProjection of solids
Projection of solids
 
SEMIOLOGIA DE TÓRAX
SEMIOLOGIA DE TÓRAXSEMIOLOGIA DE TÓRAX
SEMIOLOGIA DE TÓRAX
 
Watsu
WatsuWatsu
Watsu
 
Haemophilus mahadi ppt
Haemophilus mahadi pptHaemophilus mahadi ppt
Haemophilus mahadi ppt
 
Chapter04
Chapter04Chapter04
Chapter04
 
Mediunidade gratuita
Mediunidade gratuitaMediunidade gratuita
Mediunidade gratuita
 

Ähnlich wie Software fault management

Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software EngineeringDrishti Bhalla
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering processRaheel Aslam
 
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifijboughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifijakd3143
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptxubaidullah75790
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3Azhar Shaik
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniqueslokareminakshi
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareAnn Marie Neufelder
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Unit2 - Metrics.pptx
Unit2 - Metrics.pptxUnit2 - Metrics.pptx
Unit2 - Metrics.pptxrituah
 
Process model rup
Process model rupProcess model rup
Process model rupAryan Ajmer
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald BelchamGetting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham.NET Conf UY
 
ITSE-lecture no. 4.ppt
ITSE-lecture no. 4.pptITSE-lecture no. 4.ppt
ITSE-lecture no. 4.pptSamKazmi2
 
Project Matrix and Measuring S/W
Project Matrix and Measuring S/WProject Matrix and Measuring S/W
Project Matrix and Measuring S/WAkash Maheshwari
 
Issre2014 test defectprediction
Issre2014 test defectpredictionIssre2014 test defectprediction
Issre2014 test defectpredictionKim Herzig
 

Ähnlich wie Software fault management (20)

Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifijboughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
boughtonalexand jdjdjfjjfjfjfjnfjfjjjfkdifij
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Cost estimation techniques
Cost estimation techniquesCost estimation techniques
Cost estimation techniques
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable Software
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
02 fse processmodels
02 fse processmodels02 fse processmodels
02 fse processmodels
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Unit2 - Metrics.pptx
Unit2 - Metrics.pptxUnit2 - Metrics.pptx
Unit2 - Metrics.pptx
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Process model rup
Process model rupProcess model rup
Process model rup
 
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald BelchamGetting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
Getting Ahead of Delivery Issues with Deep SDLC Analysis by Donald Belcham
 
ITSE-lecture no. 4.ppt
ITSE-lecture no. 4.pptITSE-lecture no. 4.ppt
ITSE-lecture no. 4.ppt
 
Project Matrix and Measuring S/W
Project Matrix and Measuring S/WProject Matrix and Measuring S/W
Project Matrix and Measuring S/W
 
Issre2014 test defectprediction
Issre2014 test defectpredictionIssre2014 test defectprediction
Issre2014 test defectprediction
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Software fault management

  • 1. SRE & Software Fault Management Through Measurement and Modeling Rick Karcich rkarcich@cisco.com
  • 2. SRE & SW Fault Management • SRE is a Measurement of Change Activity & Test Activity Problem • Composed of 3 phases o Static Code Measurement  Measuring the code that implements each requirement o Measurement of Change, Build-to-Build, Sprint-to- Sprint  Developing the Change Profile o Dynamic Test Measurement  Developing the Test Profile • Understanding how effective our tests are at hitting changed portions of code releases SRE == Software Reliability Engineering
  • 3. Measurement as the basis for SRE improvement • A Basic Problem o Testers find too many bugs too late in a release/sprint cycle o Bug fixing destroys the crisp, predictable execution of a project • The Goal o Predictably meeting release schedules with known quality/reliability o Develop information actionable by testers
  • 4. Measurement as the basis for SRE improvement… • We don’t really want to know about the things that we can measure o Lines of Code o Statements • We really want to understand the things that we cannot measure o Software faults o Software development effort
  • 5. Measurement as the basis for SRE improvement… • Modern software systems change continuously • They evolve functionally • The code base evolves as a result
  • 6. Software Evolution: Measuring A Moving Target • We assume that we are developing/maintaining a single program • In effect, we are really working with many programs over time • They are different programs in a very real sense • We must identify and measure each version of each program module
  • 7. The Measurement Problem… Build/Sprint N A B C D E F G H I J K Build/Sprint N+1 A B L D E F G H I J K M
  • 8. The Introduction Of Faults • People make errors in the interpretation of their tasks o System Analysts o Systems Designers o Developers • These errors are manifested in o Specifications o Design o Programs o as faults • Faults, when executed, result in failures
  • 9. The Fault Process Build/Sprint N Build/Sprint N+1 Latent Faults Latent Faults Faults Removed Faults Added
  • 10. Execution Consequences Of Faults: Failures • Faults are found in program modules • A fault can only cause a failure if it is executed • Different functionalities execute different sets of modules • Faults are associated with program functionalities • A test suite generated from a representative operational profile is a precondition for reliability analysis
  • 11. Faults And Uncertainty • Can never know when all faults have been found • May use past experience to anticipate fault count • Must create a fault surrogate o Obtained from past development efforts o Varies directly with faults o Anticipates distribution of faults in modules
  • 12. • Comments • Executable Statements • Non-executable Statements • Total Operators • Unique Operators • Function Operators • Total Operands • Unique Operands Fault Index(FI) • Unique Actual Operands • Nodes • Edges • Paths • Maximum Path Length • Average Path Length • Cycles Development of FI from Raw Metrics – Static Measurement
  • 13. FI as a Fault Surrogate • The FI metric is a statistical synthesis of program module complexity • Program modules may be ordered by FI • The relative complexity of a software system is the average FI of the component modules • Validation of the FI concept o Correlates well (0.90) with measures of software faults
  • 14. A Fault Index • FI is a synthesized, dimensionless metric • FI is a fault surrogate o Composed of metrics closely related to faults o Highly correlated with faults
  • 15. Converting Data to Information CMA Metric Analysis PCA/ FI Principal Components Analysis Modules Program Lots of Data 12 23 54 12 203 39 238 34 7 13 64 12 215 9 39 238 11 21 54 12 241 39 238 35 5 33 44 12 205 39 138 44 42 55 54 12 113 29 234 14 FI 100 90 110 95 105
  • 16. Measurement of Change, Build-to- Build(Spirnt-to-Sprint) – Code Churn and Code Delta • Fault Index(FI) acts as a proxy for faults • FI values change from one build to the next as a module is changed • Code deltas are differences in FI values from build to the next • Code churn is the absolute value of Code Delta – this is the measure of change activity
  • 17. The Measurement of Change Process Build i Build j Source Code Measurement Tools Baseline Baselined Build j Baselined Build i PCA Domain Sc Domain Score Change Code Churn Code Delta
  • 18. Baselining A Software Development Project • Software changes over software builds • Measurements, such as relative complexity, change across builds • Initial(arbitrary) build as a baseline • Relative complexity of each build • Measure change in fault surrogate from an initial baseline
  • 20. Measuring Product X’s Change Activity
  • 21. Measuring Product X’s Change Activity, since Alpha

Hinweis der Redaktion

  1. Guru? Just tell me where I’m at… I know where I want to go… Integrating measurement into build process, measuring change… Integrating measurement into the test process, measuring coverage… Talk about the concept of Errors > Faults > Failures
  2. Classic SRE techniques … ‘very good at predicting the past’… Build predictive models for fault identification.  This is the main goal of the entire QA effort, under constraints of limited time and resources… Software doesn’t fail as a function of time – it fails as a function of what it is asked to do --- and in customer environments it fails in ways customers ask it to perform and for which it has not been adequately tested…
  3. We synthesize the Fault Index(FI) that represents the potential fault burden for each software module… An overall Fault Index for an entire build can also be developed… The value of this FI cannot be overstated. For example, during the code inspection process, there is simply not enough time or manpower to thoroughly examine the entire code base. The FI value will identify those modules that are potentially most fault prone so that the inspection process can be focused where it will yield the most value in identifying potential faults.  
  4. From N > N+1 Module B changed Module C eliminated Module F changed Module H changed Modules L & M added
  5. The ‘fault surrogate’ is the Fault Index… and is central to our modeling of software failures as a function of software behavior…
  6. This is a list of measurements to be taken as Iteration 0… As we learn more about the character of faults our customers are seeing, e.g., latency/timing faults, we can add measurements to gauge these kinds of faults… Build a static software measurement tool. This tool is, in fact, a modification to the compiler system. The measurements that we need to make on the code are best taken by the compiler. When these measurements are integrated with the compiler they will occur automatically during the build process. This obviates the need for a separate software measurement system.
  7. Create the infrastructure to capture the measurement data during the compilation/build process. This involves the creation of a database that will collect measurement data for all versions of code modules.
  8. Create the infrastructure to capture build lists. Build lists are vital to the software measurement process. The build list will contain a complete list of all code modules and their version numbers for each build. These data, in conjunction with the measurement database will permit measurement data to be established for each build of the system.
  9. The relationships among the many software complexity metrics has made the use of these metrics untenable as project management tools. ‘Relative Complexity’ provides the notion of a single metric and assigns a single value to each program in a program set to order the programs by their complexity.
  10. In a civil engineering, topographical metaphor, the baseline build provides a point-in-time build from which successive code deltas are measured.