SlideShare a Scribd company logo
1 of 29
Software Engineering
Research Paper:
“Human Factors in Software Reliability Engineering”
Maria Spichkova, Huai Liu, Mohsen Laali, and Heinz W. Schmidt
RMIT University, Melbourne, Australia
Presented By:
M. Ahmad Zia (82)
Fb.com/iamAhmadZia
Abstract
• This paper presents vision of the integration
of human factors engineering into the
software development process.
• The aim is to improve the quality of software
and to deal with human errors in a systematic
way.
Abstract
• This paper presents vision of the integration
of human factors engineering into the
software development process.
• The aim is to improve the quality of software
and to deal with human errors in a systematic
way.
Introduction
• An appropriate system interface allowing
correct human computer interaction is just as
important as correct, error-free behavior of
the developed system.
• System should not be unclear to the user or
too complicated to be used in a proper way
Introduction (cont.)
• The fundamental goal is to reduce errors,
increase productivity and safety when the
human interacts with a system.
• Fault-tolerance should be analyzed not only
from hardware and software side, but also
taking into account human factors and
Human-Computer Interaction (HCI) analysis.
Introduction (cont.)
• We propose the optimization of requirements
inspection and modelling methods using the
analysis of human errors that arise during the
requirement engineering and modelling.
• We also propose to extend the classical
testing techniques by the human factor
analysis, especially focusing on the human
error detection and structuring.
Background: Human Factors
• Originally, the research of human factors and
HCI was initiated and elaborated because of
mistakes in usage and development of safety-
critical systems rather than for the
development of entertainment or every-day
applications.
• Example: Therac-25
Background: Human Factors (cont.)
• Engineering Error Paradigm:
By this paradigm humans are seen as they are
almost equivalent to software and hardware
components in the sense of operation with data
and other components, but at the same time
humans are seen as the “most unreliable
component” of the total system.
Background: Human Factors (cont.)
Engineering Error Paradigm
• According to EEP Human errors often occur
as a result of mismatch in HCI and
overestimation of physical capabilities of a
person.
Background: Human Factors (cont.)
• Individual Error Paradigm:
It focuses on understanding the reasons why
people make mistakes or commit unsafe acts,
and then tries to eliminate those reasons
Human-Oriented Development
• humans ability of detecting inconsistencies in
requirements document is affected by their
learning style, i.e. the ways with which an
individual characteristically acquires, retains
and retrieves the information.
Human-Oriented Development (cont.)
• We suggest to extend this approach to the
implementation and testing of the software,
as the software testing teams have similar
tasks and problems to the requirements
inspection teams.
After finding out the errors in first
two phases we can make better test
cases as human mostly repeat the
similar type of mistakes.
Human-Oriented Development (cont.)
• Software Reliability Engineering Techniques:
There are many engineering techniques to
handle software faults, the main cause of low
reliability. Typical four techniques are:
• Fault prevention
• Fault removal
• Fault tolerance
• Fault forecasting.
Human-Oriented Development (cont.)
• Software Reliability Engineering Techniques:
Fault Prevention
Fault prevention aims to avoid the occurrences
of faults when constructing the software system
(in our case, by optimization of the methods for
requirements inspections and modelling).
Human-Oriented Development (cont.)
• Software Reliability Engineering Techniques:
Fault Removal
The major tasks for fault removal are to detect
and remove existing faults. Testing is the main
technique for fault detection.
Human-Oriented Development (cont.)
• Software Reliability Engineering Techniques:
Fault Tolerance
Fault tolerance provides a mechanism that
enable a system to perform normally in spite of
the occurrence of faults (in our case, by analysis
of the errors in HCI).
Human-Oriented Development (cont.)
• Human-Oriented RE and Modelling:
requirements specifications can be updated
many timed during the development process. It
is hard to keep up to date a readable
requirements specification.
Solution: Automatization (a (semi-)formal
specification is generated from the system model
automatically, every time the model is updated)
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
o Human-oriented fault-based testing
o Human-oriented test case prioritization
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
Human-oriented fault-based testing
As testing cannot ensure that a program can be
fault-free, unless all possible test cases have
been exhaustively executed, which is practically
impossible
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
Human-oriented fault-based testing
A test suite can be specifically designed such
that a program can be guaranteed to be free of
one particular type of fault. A testing strategy
serving for such a purpose is termed as fault-
based testing
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
Human-oriented fault-based testing
There exist infinite number of fault types; thus,
it is impossible to exhaustively examine all types
of faults.
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
Human-oriented fault-based testing
By examining the behaviors of end users, we can
predict which types of faults are more easily to
be triggered when the software is used.
We can analyze the programming styles of
developers to find which fault types can be
introduced in the development process.
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
Human-oriented test case prioritization
Regression Testing:
A regression testing approach means the
prioritization of the existing test cases in a
certain order such that the test cases with
higher effectiveness can be executed earlier.
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
Human-oriented test case prioritization
A typical approach to test case prioritization is
based on the information provided by the test
execution history on previous versions of the
software under test, such as the coverage
achieved by each test case on previous versions.
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
Human-oriented test case prioritization
Development and usage history of the software
under test should be investigated and applied in
guiding the test case prioritization.
Because a user/programmer makes similar
mistakes when using/developing the software,
as it is difficult to change one’s working style.
Conclusion
Human factors analysis can be used to improve
quality of requirement specification and
readability of software models, as well as for
testing.
We suggest to analyze what types of faults can
be triggered or introduced by users and/or
programmers, to design testing strategies
specifically for detecting these fault types.
Human-Oriented Development (cont.)
• Human-Oriented Testing Strategies:
Human-oriented test case prioritization
Development and usage history of the software
under test should be investigated and applied in
guiding the test case prioritization.
Because a user/programmer makes similar
mistakes when using/developing the software,
as it is difficult to change one’s working style.
Thank You

More Related Content

What's hot

Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)ShudipPal
 
Software Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani BhattacharyaSoftware Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani BhattacharyaSharbani Bhattacharya
 
Lecture3
Lecture3Lecture3
Lecture3soloeng
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software EngineeringDrishti Bhalla
 
Software Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationSoftware Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationRadu_Negulescu
 
Project Matrix and Measuring S/W
Project Matrix and Measuring S/WProject Matrix and Measuring S/W
Project Matrix and Measuring S/WAkash Maheshwari
 
Software matrics and measurement
Software matrics and measurementSoftware matrics and measurement
Software matrics and measurementGurpreet Saini
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metricsdespicable me
 
SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS
SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESSSOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS
SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESSAmin Bandeali
 
Software Metrics
Software MetricsSoftware Metrics
Software MetricsSwati Patel
 
Software Engineering 2 lecture slide
Software Engineering 2 lecture slideSoftware Engineering 2 lecture slide
Software Engineering 2 lecture slideAdil Mehmoood
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metricsIndu Sharma Bhardwaj
 
Fundamentals of testing SQA
Fundamentals of testing SQAFundamentals of testing SQA
Fundamentals of testing SQAnethisip13
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimationNur Islam
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)ShudipPal
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Parasoft
 

What's hot (20)

Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)Software Engineering (Metrics for Process and Projects)
Software Engineering (Metrics for Process and Projects)
 
Software Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani BhattacharyaSoftware Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani Bhattacharya
 
Lecture3
Lecture3Lecture3
Lecture3
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Software Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and EstimationSoftware Engineering Practice - Software Metrics and Estimation
Software Engineering Practice - Software Metrics and Estimation
 
Project Matrix and Measuring S/W
Project Matrix and Measuring S/WProject Matrix and Measuring S/W
Project Matrix and Measuring S/W
 
Software matrics and measurement
Software matrics and measurementSoftware matrics and measurement
Software matrics and measurement
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS
SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESSSOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS
SOFTWARE MEASUREMENT ESTABLISHING A SOFTWARE MEASUREMENT PROCESS
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Software Engineering 2 lecture slide
Software Engineering 2 lecture slideSoftware Engineering 2 lecture slide
Software Engineering 2 lecture slide
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
 
Fundamentals of testing SQA
Fundamentals of testing SQAFundamentals of testing SQA
Fundamentals of testing SQA
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
 
Metrics
MetricsMetrics
Metrics
 
Software Engineering (Project Planning & Estimation)
Software Engineering (Project Planning &  Estimation)Software Engineering (Project Planning &  Estimation)
Software Engineering (Project Planning & Estimation)
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Software Development Metrics You Can Count On
Software Development Metrics You Can Count On
 

Similar to Human factors in software reliability engineering - Research Paper

Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcessEvolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcessIJMER
 
Hpe program rating #4 human factors engineering
Hpe program rating #4 human factors engineeringHpe program rating #4 human factors engineering
Hpe program rating #4 human factors engineeringPMHaas
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software EngineeringMuhammadTalha436
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxYaseenNazir3
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringRizwan411667
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Software testing techniques - www.testersforum.com
Software testing techniques - www.testersforum.comSoftware testing techniques - www.testersforum.com
Software testing techniques - www.testersforum.comwww.testersforum.com
 
Defect effort prediction models in software
Defect effort prediction models in softwareDefect effort prediction models in software
Defect effort prediction models in softwareIAEME Publication
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewBule Hora University
 
V1_I2_2012_Paper3.doc
V1_I2_2012_Paper3.docV1_I2_2012_Paper3.doc
V1_I2_2012_Paper3.docpraveena06
 
Improvement of Software Maintenance and Reliability using Data Mining Techniques
Improvement of Software Maintenance and Reliability using Data Mining TechniquesImprovement of Software Maintenance and Reliability using Data Mining Techniques
Improvement of Software Maintenance and Reliability using Data Mining Techniquesijdmtaiir
 

Similar to Human factors in software reliability engineering - Research Paper (20)

Anu2018
Anu2018Anu2018
Anu2018
 
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcessEvolvea Frameworkfor SelectingPrime Software DevelopmentProcess
Evolvea Frameworkfor SelectingPrime Software DevelopmentProcess
 
software engineering
software engineering software engineering
software engineering
 
Hpe program rating #4 human factors engineering
Hpe program rating #4 human factors engineeringHpe program rating #4 human factors engineering
Hpe program rating #4 human factors engineering
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Sdlc 4
Sdlc 4Sdlc 4
Sdlc 4
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
SE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdfSE UNIT-1 Revised.pdf
SE UNIT-1 Revised.pdf
 
Introduction of Software Engineering
Introduction of Software EngineeringIntroduction of Software Engineering
Introduction of Software Engineering
 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Too many files
Too many filesToo many files
Too many files
 
Software testing techniques - www.testersforum.com
Software testing techniques - www.testersforum.comSoftware testing techniques - www.testersforum.com
Software testing techniques - www.testersforum.com
 
Defect effort prediction models in software
Defect effort prediction models in softwareDefect effort prediction models in software
Defect effort prediction models in software
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Software models
Software modelsSoftware models
Software models
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overview
 
V1_I2_2012_Paper3.doc
V1_I2_2012_Paper3.docV1_I2_2012_Paper3.doc
V1_I2_2012_Paper3.doc
 
Improvement of Software Maintenance and Reliability using Data Mining Techniques
Improvement of Software Maintenance and Reliability using Data Mining TechniquesImprovement of Software Maintenance and Reliability using Data Mining Techniques
Improvement of Software Maintenance and Reliability using Data Mining Techniques
 

Recently uploaded

buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Recently uploaded (20)

buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 

Human factors in software reliability engineering - Research Paper

  • 1. Software Engineering Research Paper: “Human Factors in Software Reliability Engineering” Maria Spichkova, Huai Liu, Mohsen Laali, and Heinz W. Schmidt RMIT University, Melbourne, Australia Presented By: M. Ahmad Zia (82) Fb.com/iamAhmadZia
  • 2. Abstract • This paper presents vision of the integration of human factors engineering into the software development process. • The aim is to improve the quality of software and to deal with human errors in a systematic way.
  • 3. Abstract • This paper presents vision of the integration of human factors engineering into the software development process. • The aim is to improve the quality of software and to deal with human errors in a systematic way.
  • 4. Introduction • An appropriate system interface allowing correct human computer interaction is just as important as correct, error-free behavior of the developed system. • System should not be unclear to the user or too complicated to be used in a proper way
  • 5. Introduction (cont.) • The fundamental goal is to reduce errors, increase productivity and safety when the human interacts with a system. • Fault-tolerance should be analyzed not only from hardware and software side, but also taking into account human factors and Human-Computer Interaction (HCI) analysis.
  • 6. Introduction (cont.) • We propose the optimization of requirements inspection and modelling methods using the analysis of human errors that arise during the requirement engineering and modelling. • We also propose to extend the classical testing techniques by the human factor analysis, especially focusing on the human error detection and structuring.
  • 7. Background: Human Factors • Originally, the research of human factors and HCI was initiated and elaborated because of mistakes in usage and development of safety- critical systems rather than for the development of entertainment or every-day applications. • Example: Therac-25
  • 8. Background: Human Factors (cont.) • Engineering Error Paradigm: By this paradigm humans are seen as they are almost equivalent to software and hardware components in the sense of operation with data and other components, but at the same time humans are seen as the “most unreliable component” of the total system.
  • 9. Background: Human Factors (cont.) Engineering Error Paradigm • According to EEP Human errors often occur as a result of mismatch in HCI and overestimation of physical capabilities of a person.
  • 10. Background: Human Factors (cont.) • Individual Error Paradigm: It focuses on understanding the reasons why people make mistakes or commit unsafe acts, and then tries to eliminate those reasons
  • 11. Human-Oriented Development • humans ability of detecting inconsistencies in requirements document is affected by their learning style, i.e. the ways with which an individual characteristically acquires, retains and retrieves the information.
  • 12. Human-Oriented Development (cont.) • We suggest to extend this approach to the implementation and testing of the software, as the software testing teams have similar tasks and problems to the requirements inspection teams.
  • 13. After finding out the errors in first two phases we can make better test cases as human mostly repeat the similar type of mistakes.
  • 14. Human-Oriented Development (cont.) • Software Reliability Engineering Techniques: There are many engineering techniques to handle software faults, the main cause of low reliability. Typical four techniques are: • Fault prevention • Fault removal • Fault tolerance • Fault forecasting.
  • 15. Human-Oriented Development (cont.) • Software Reliability Engineering Techniques: Fault Prevention Fault prevention aims to avoid the occurrences of faults when constructing the software system (in our case, by optimization of the methods for requirements inspections and modelling).
  • 16. Human-Oriented Development (cont.) • Software Reliability Engineering Techniques: Fault Removal The major tasks for fault removal are to detect and remove existing faults. Testing is the main technique for fault detection.
  • 17. Human-Oriented Development (cont.) • Software Reliability Engineering Techniques: Fault Tolerance Fault tolerance provides a mechanism that enable a system to perform normally in spite of the occurrence of faults (in our case, by analysis of the errors in HCI).
  • 18. Human-Oriented Development (cont.) • Human-Oriented RE and Modelling: requirements specifications can be updated many timed during the development process. It is hard to keep up to date a readable requirements specification. Solution: Automatization (a (semi-)formal specification is generated from the system model automatically, every time the model is updated)
  • 19. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: o Human-oriented fault-based testing o Human-oriented test case prioritization
  • 20. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: Human-oriented fault-based testing As testing cannot ensure that a program can be fault-free, unless all possible test cases have been exhaustively executed, which is practically impossible
  • 21. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: Human-oriented fault-based testing A test suite can be specifically designed such that a program can be guaranteed to be free of one particular type of fault. A testing strategy serving for such a purpose is termed as fault- based testing
  • 22. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: Human-oriented fault-based testing There exist infinite number of fault types; thus, it is impossible to exhaustively examine all types of faults.
  • 23. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: Human-oriented fault-based testing By examining the behaviors of end users, we can predict which types of faults are more easily to be triggered when the software is used. We can analyze the programming styles of developers to find which fault types can be introduced in the development process.
  • 24. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: Human-oriented test case prioritization Regression Testing: A regression testing approach means the prioritization of the existing test cases in a certain order such that the test cases with higher effectiveness can be executed earlier.
  • 25. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: Human-oriented test case prioritization A typical approach to test case prioritization is based on the information provided by the test execution history on previous versions of the software under test, such as the coverage achieved by each test case on previous versions.
  • 26. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: Human-oriented test case prioritization Development and usage history of the software under test should be investigated and applied in guiding the test case prioritization. Because a user/programmer makes similar mistakes when using/developing the software, as it is difficult to change one’s working style.
  • 27. Conclusion Human factors analysis can be used to improve quality of requirement specification and readability of software models, as well as for testing. We suggest to analyze what types of faults can be triggered or introduced by users and/or programmers, to design testing strategies specifically for detecting these fault types.
  • 28. Human-Oriented Development (cont.) • Human-Oriented Testing Strategies: Human-oriented test case prioritization Development and usage history of the software under test should be investigated and applied in guiding the test case prioritization. Because a user/programmer makes similar mistakes when using/developing the software, as it is difficult to change one’s working style.

Editor's Notes

  1. Even if the system we develop behaves in an ideal correct way (i.e., according to its requirements specification), this does not help much in the case the system interface is unclear to the user or is too complicated to be used in a proper way. As per statistics presented in [6], the human is responsible for 30% to 60% the total errors which directly or indirectly lead to the accidents, and in the case of aviation and traffic accidents, 80% to 90% of the errors were due to human. Thus, it is necessary to have human factors engineering as a part of the software development process.
  2. HCI-related accidents in safety-critical systems are the accidents involved massive radiation overdoses by the Therac-25 (a radiation therapy machine used in curing cancer) that lead to deaths and serious injuries of patients which received thousand times the normal dose of radiation [15, 13]. The causes of these accidents were software failures as well as problems with the system interface.
  3. Speaking about human factors we mostly focus on technical aspects; this idea is called Engineering Error Paradigm
  4. Speaking about human factors we mostly focus on technical aspects; this idea is called Engineering Error Paradigm
  5. Figure 1 presents the general idea of our approach on the human-oriented software development. A basis for optimisation of the requirements inspection methods and the modelling methods/tools is provided by the analysis of typical errors that arise during the RE and modelling phases respectively. The test case prioritisation is performed using the analysis of typical errors that arise (1) during modelling and implementation phases, (2) when the user interacts with the software. The RE, modelling and implementation phases, as well as the phase while the user interacts with the software, have different sets of typical errors. However, a taxonomy between these sets could be useful to improve the software development process. For example, some types of the errors which arise during the modelling phase can hardly be prevented by optimisation of the modelling methods/tools. Thus, we have to specify the corresponding test cases and take this into account during the test case prioritisation.
  6. In our previous work on human factors engineering, we focused on the human factor aspects in application to the formal methods used within the RE and modelling phase of a system development process [8, 22, 21]. A software system is usually developed iteratively, the requirements specifications can be updated many timed during the development process. It is hard to keep up to date a readable requirements specification, if the system model or implementation is frequently changed during the modelling/implementation phase of the development. This problem could be solved by appropriate automatisation. For example, in [24] a (semi-)formal specification is generated from the system model automatically, every time the model is updated. Howerver, this does not solve the problem with fault-detection in the requirements document in the first iteration of the development process, where the system model does not exists.
  7. Based on the analysis results, we can determine some specific types of faults that need more attention in the testing, and hence design strategies that are specifically effective in detecting these fault types.