SlideShare a Scribd company logo
Predicting System Trustworthiness
Aashna Garg: 2K11/SE/001
Dhruv Jagetiya: 2K11/SE/026
Manish Gupta: 2K11/SE/036
Priyam Katiyar: 2K11/SE/051
Introduction
● Functional Composability (FC) and
functional correctness:
o FC is concerned with whether f(a) ε f(b) = f(a ε b) is
true(where ε is some mathematical operator, and
f(x) is the functionality of component x).
o But increasingly, the software engineering
community is discovering that FC, even if it were a
solved problem ), is still not mature enough for other
serious concerns that arise in CBSE and CBD.
Ilities
● These concerns of software engineering
community stem from the problem of
composing ilities.
o Ilities are nonfunctional properties of software
components that define characteristics such as
 Security
 Reliability
 Fault tolerance
 Performance
 Availability
 Safety.
The Problem
● The problem stems from our inability to know
apriori.
o For example, that the security of a system
composed of two components, A and B, can not be
determined from knowledge about the security of A
and the security of B.
● Why?
o Because the security of the composite is based on
more than just the security of the individual
components.
An Example
● As an example, suppose that:
o A is an operating system and B is an intrusion
detection system.
o Operating systems have some level of built-in
authentication security.
o Intrusion detection systems have some definition of
the types of event patterns that warn of a possible
attack.
The Example Continued
● A as an operating system and B as an
intrusion detection system
o AND We assume that A provides excellent security
and B provides excellent security,
o WE MUST still accept the fact that the security of B
is also a function of calendar time.
● So the question then comes down to: which
"ilities", if any, are easy to compose?
o The answer is that there are no "ilities" easy to
compose and that some are much harder to
compose than others.
Reliability
● For reliability, consider a two-component
system in which component A feeds
information to B and B produces the output
of the composite. Assume that both
components are reliable.
● What can we assume about the reliability of
the composite?
Performance
● One ility that at least on the surface appears
to have the best possibility of successful
composability is performance.
● But even that is problematic from a practical
sense.
● Its performance after composition depends
largely on the relevant hardware and other
physical resources.
What Can Be Done?
● Our interest is in creating and deploying
qualitative techniques that can augment
traditional reliability quantification
techniques.
● We wish to be able to predict the behavior of
the software when it is supplied with
corrupted information.
o By doing so we gain new information about how the
software will behave, information that is completely
different from the information collected during
operational profile-based reliability testing.
Isolating Potential Contributors
● When software systems fail, confusing and complex
liability problems ensue for all parties that have
contributed software functionality (whether COTS or
custom) to the system.
● Potential contributors to the system failure include
o (1) defective software components.
o (2) problems with interfaces between components.
o (3) problems with assumptions (contractual requirements) between
components.
o (4) hidden interfaces and nonfunctional component behaviors that
cannot be detected at the component level.
Assumption
● Our approach here will be to disregard particular
reasons for the possible failure of a component or of the
interface between components and assume the worst
case (i.e., the occurrence of both possibilities).
● Assumption :- it is possible to predict, a priori, how the
composite system will behave as a result of the failure
of a particular component
Difference between Fault Injection
and Reliability Testing.
● Reliability testing is the process of test case
generation and then running the passing the
test cases into the composite system.
o More are the test cases more behaviours of the
system can be observed.
● Fault injection is the process of intentionally
corrupting the data in one componenet to
test its effect on another component.
Interface Propagation analysis
● The technique for assessing the level of interoperability
between COTS software components and custom
components presented here is IPA.
● IPA perturbs (i.e., corrupts) the states that propagate
through the interfaces that connect COTS software
components to other types of components.
● By corrupting data going from one component to a
successor component, failure of the predecessor is
approximated (simulated), and its impact on the
successor can be assessed.
How IPA works?
● To modify the information in a particular
component , a small software routine named
PERTURB is created that replaces the
original output with a corrupted output.
● By simulating the failure of various software
components, we determine whether or not
these failures can be tolerated by the
remainder of the system.
An example
● The cos() function (a fine-grained COTS
utility for which we do not have access to the
source code) can be used in an illustration:
double cos(double x)
● To see how this analysis works, consider an
application containing the following code:
if (cos(a) > THRESHOLD) {
do something
}
An example
● Our objective is to determine how the
application will behave if cos() returns
incorrect information.
if (PERTURB(cos(a)) > THRESHOLD) {
do something
}
The Result of IPA
● PERTURB had created corrupt states that in no way
reflected how the components could behave while in
real operation.
● The fault injection process was still able to reveal to the
designers of the system certain system-level behaviors
that were totally unexpected.
● These behaviors were completely unsafe, and
protection against them was essential.
● It is also possible that other hardware components or
human activities associated with the system might also
be able to force the system into such hazardous states.
Increasing the efficiency of IPA
● Finally, it must be acknowledged that the exhaustive
fault injection of software components is just as
infeasible as the exhaustive testing of software.
● Therefore the proper approach to maximizing the value
added by such a technique is first to identify which
portions (functionally speaking) of the system are the
most critical, and then analyze how that critical
functionality degrades when components on which it
depends fail.
Two Additional Useful Techniques for
Predicting Component Interoperability
● How a software component will react when it
receives inputs that are outside the range of
any profile that the original designers
anticipated.
● Note that here we are not necessarily talking
about component input information that is
corrupted, but instead input information that
is simply outside the nominal operational
(probabilistic) range within which reliability
testing would normally test the component.
Technique 1
● The first technique involves the deliberate
inversion of the operational profile originally
anticipated by the system designers.
● If the defined operational profile turns out to
be inaccurate, then the only benefit from
doing so would be to learn about potentially
dangerous output modes from the software,
which might be difficult to detect by other
means.
Technique 2
● The second technique is simply a
combination of the previous technique with
IPA.
● This is a situation in which the software is
operating in an unusual input mode while
being bombarded with corrupt information.
● This provides a unique assessment of how
robust the software is when it is operating
under unusual circumstances and receiving
corrupt information.
Thank You

More Related Content

PDF
OS VERIFICATION- A SURVEY AS A SOURCE OF FUTURE CHALLENGES
PPS
Formal Methods
PDF
Cyclomatic complexity
PDF
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
PPTX
formal verification
PPT
Formal Method for Avionics Software Verification
PPT
Software Estimation Techniques
PPTX
Software Testing
OS VERIFICATION- A SURVEY AS A SOURCE OF FUTURE CHALLENGES
Formal Methods
Cyclomatic complexity
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
formal verification
Formal Method for Avionics Software Verification
Software Estimation Techniques
Software Testing

What's hot (20)

PPTX
Software engineering 23 software reliability
DOCX
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...
PDF
White box
PPT
Classic Formal Methods Model Checking
PPTX
Software reliability tools and common software errors
PDF
Software reliability
PPTX
Software reliability & quality
PDF
Successive Software Reliability Growth Model: A Modular Approach
PPTX
Testability: Factors and Strategy
PPTX
Software engineering 14 software quality metrics
PPTX
Not all objects are equal - strategies for designing testable code
ODP
Software Measurement: Lecture 1. Measures and Metrics
PDF
What activates a bug? A refinement of the Laprie terminology model.
PPTX
Estimation techniques and risk management
DOCX
Estimation
PPT
12 functional-system-testing
PDF
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
PPT
Metrics
PDF
CPU HARDWARE CLASSIFICATION AND PERFORMANCE PREDICTION USING NEURAL NETWORKS ...
PDF
CPU HARDWARE CLASSIFICATION AND PERFORMANCE PREDICTION USING NEURAL NETWORKS ...
Software engineering 23 software reliability
DOTNET 2013 IEEE MOBILECOMPUTING PROJECT Model based analysis of wireless sys...
White box
Classic Formal Methods Model Checking
Software reliability tools and common software errors
Software reliability
Software reliability & quality
Successive Software Reliability Growth Model: A Modular Approach
Testability: Factors and Strategy
Software engineering 14 software quality metrics
Not all objects are equal - strategies for designing testable code
Software Measurement: Lecture 1. Measures and Metrics
What activates a bug? A refinement of the Laprie terminology model.
Estimation techniques and risk management
Estimation
12 functional-system-testing
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Metrics
CPU HARDWARE CLASSIFICATION AND PERFORMANCE PREDICTION USING NEURAL NETWORKS ...
CPU HARDWARE CLASSIFICATION AND PERFORMANCE PREDICTION USING NEURAL NETWORKS ...
Ad

Viewers also liked (20)

PPTX
Khaled el naggar high impedance faults detection in electrical power systems
PDF
bhs inggris matematika smp rachmadi
PDF
1 anexo sistemas de gestión de calidad
PDF
4 implantación de un sistema de gestión de la calidad basado en el modelo efq...
DOC
Topik rc dalam spm
PDF
Curso de Prevenção às Drogas
DOC
Rph rc
PPTX
Koala component model (1)
PDF
03 p11 manuales de la calidad y de los procedimientos
PDF
A survey of fault prediction using machine learning algorithms
DOC
005manual control de calidad
PPTX
GSM Based Fault Monitoring System (Project)
PPT
File 1 power system fault analysis
PPTX
Hydraulic accumulator
PPT
Babic components of hydraulic & pneumatic systems
PPTX
Types of testing
DOCX
Cover Letter -
DOC
03 formato check list tableros electricos
PDF
Vestido de gala
PDF
31 medicion calidad
Khaled el naggar high impedance faults detection in electrical power systems
bhs inggris matematika smp rachmadi
1 anexo sistemas de gestión de calidad
4 implantación de un sistema de gestión de la calidad basado en el modelo efq...
Topik rc dalam spm
Curso de Prevenção às Drogas
Rph rc
Koala component model (1)
03 p11 manuales de la calidad y de los procedimientos
A survey of fault prediction using machine learning algorithms
005manual control de calidad
GSM Based Fault Monitoring System (Project)
File 1 power system fault analysis
Hydraulic accumulator
Babic components of hydraulic & pneumatic systems
Types of testing
Cover Letter -
03 formato check list tableros electricos
Vestido de gala
31 medicion calidad
Ad

Similar to Predicting system trustworthyness (20)

PPT
Automatic Assessment of Failure Recovery in Erlang Applications
PDF
Quality Attribute: Testability
PDF
Ijetr011834
PDF
Software Testing and Quality Assurance Assignment 2
DOC
Manual testing interview question by INFOTECH
PPTX
Application of theorem proving for safety-critical vehicle software
PDF
Performance Evaluation of a Network Using Simulation Tools or Packet Tracer
PPTX
SE - Lecture 8 - Software Testing State Diagram.pptx
PDF
SE2018_Lec 19_ Software Testing
PDF
DOC
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
DOC
Manual testing interview questions by infotech
DOC
Manual testing interview questions
PDF
Volume 2-issue-6-1983-1986
PDF
Volume 2-issue-6-1983-1986
DOCX
Info manual testing questions
PPT
Reliable and Concurrent Software: SPARK presentation
PPT
PDF
J034057065
DOC
Manual testing real time questions by subbu
Automatic Assessment of Failure Recovery in Erlang Applications
Quality Attribute: Testability
Ijetr011834
Software Testing and Quality Assurance Assignment 2
Manual testing interview question by INFOTECH
Application of theorem proving for safety-critical vehicle software
Performance Evaluation of a Network Using Simulation Tools or Packet Tracer
SE - Lecture 8 - Software Testing State Diagram.pptx
SE2018_Lec 19_ Software Testing
Manualtestinginterviewquestionbyinfotech 100901071035-phpapp01
Manual testing interview questions by infotech
Manual testing interview questions
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986
Info manual testing questions
Reliable and Concurrent Software: SPARK presentation
J034057065
Manual testing real time questions by subbu

More from Saransh Garg (17)

PPTX
Technical non-technical-requirement-of-cots-selection
PPTX
Selecting with multiple interfaces
PPTX
Selecting cots vendor in cbse process
PPTX
Scs.pptx repaired
PPTX
Repo for cbt
PPT
PPT
Javabean1
PPTX
Integration in component based technology
PPTX
Embedded system.pptx
PPT
Cots integration
PPTX
Corba model ppt
PPTX
Composition of cots
PPTX
Components in real time systems
PPTX
Component object model and
PPT
Component based models and technology
PPT
Cbt component based technology architectures
PPTX
Architecture support for component
Technical non-technical-requirement-of-cots-selection
Selecting with multiple interfaces
Selecting cots vendor in cbse process
Scs.pptx repaired
Repo for cbt
Javabean1
Integration in component based technology
Embedded system.pptx
Cots integration
Corba model ppt
Composition of cots
Components in real time systems
Component object model and
Component based models and technology
Cbt component based technology architectures
Architecture support for component

Recently uploaded (20)

PPTX
Cell Types and Its function , kingdom of life
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PPTX
UNIT III MENTAL HEALTH NURSING ASSESSMENT
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Yogi Goddess Pres Conference Studio Updates
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Complications of Minimal Access Surgery at WLH
PDF
01-Introduction-to-Information-Management.pdf
PDF
Trump Administration's workforce development strategy
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
Cell Types and Its function , kingdom of life
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
UNIT III MENTAL HEALTH NURSING ASSESSMENT
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Practical Manual AGRO-233 Principles and Practices of Natural Farming
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Yogi Goddess Pres Conference Studio Updates
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
Final Presentation General Medicine 03-08-2024.pptx
Complications of Minimal Access Surgery at WLH
01-Introduction-to-Information-Management.pdf
Trump Administration's workforce development strategy
A systematic review of self-coping strategies used by university students to ...
Microbial disease of the cardiovascular and lymphatic systems
Microbial diseases, their pathogenesis and prophylaxis
2.FourierTransform-ShortQuestionswithAnswers.pdf
Final Presentation General Medicine 03-08-2024.pptx

Predicting system trustworthyness

  • 1. Predicting System Trustworthiness Aashna Garg: 2K11/SE/001 Dhruv Jagetiya: 2K11/SE/026 Manish Gupta: 2K11/SE/036 Priyam Katiyar: 2K11/SE/051
  • 2. Introduction ● Functional Composability (FC) and functional correctness: o FC is concerned with whether f(a) ε f(b) = f(a ε b) is true(where ε is some mathematical operator, and f(x) is the functionality of component x). o But increasingly, the software engineering community is discovering that FC, even if it were a solved problem ), is still not mature enough for other serious concerns that arise in CBSE and CBD.
  • 3. Ilities ● These concerns of software engineering community stem from the problem of composing ilities. o Ilities are nonfunctional properties of software components that define characteristics such as  Security  Reliability  Fault tolerance  Performance  Availability  Safety.
  • 4. The Problem ● The problem stems from our inability to know apriori. o For example, that the security of a system composed of two components, A and B, can not be determined from knowledge about the security of A and the security of B. ● Why? o Because the security of the composite is based on more than just the security of the individual components.
  • 5. An Example ● As an example, suppose that: o A is an operating system and B is an intrusion detection system. o Operating systems have some level of built-in authentication security. o Intrusion detection systems have some definition of the types of event patterns that warn of a possible attack.
  • 6. The Example Continued ● A as an operating system and B as an intrusion detection system o AND We assume that A provides excellent security and B provides excellent security, o WE MUST still accept the fact that the security of B is also a function of calendar time. ● So the question then comes down to: which "ilities", if any, are easy to compose? o The answer is that there are no "ilities" easy to compose and that some are much harder to compose than others.
  • 7. Reliability ● For reliability, consider a two-component system in which component A feeds information to B and B produces the output of the composite. Assume that both components are reliable. ● What can we assume about the reliability of the composite?
  • 8. Performance ● One ility that at least on the surface appears to have the best possibility of successful composability is performance. ● But even that is problematic from a practical sense. ● Its performance after composition depends largely on the relevant hardware and other physical resources.
  • 9. What Can Be Done? ● Our interest is in creating and deploying qualitative techniques that can augment traditional reliability quantification techniques. ● We wish to be able to predict the behavior of the software when it is supplied with corrupted information. o By doing so we gain new information about how the software will behave, information that is completely different from the information collected during operational profile-based reliability testing.
  • 10. Isolating Potential Contributors ● When software systems fail, confusing and complex liability problems ensue for all parties that have contributed software functionality (whether COTS or custom) to the system. ● Potential contributors to the system failure include o (1) defective software components. o (2) problems with interfaces between components. o (3) problems with assumptions (contractual requirements) between components. o (4) hidden interfaces and nonfunctional component behaviors that cannot be detected at the component level.
  • 11. Assumption ● Our approach here will be to disregard particular reasons for the possible failure of a component or of the interface between components and assume the worst case (i.e., the occurrence of both possibilities). ● Assumption :- it is possible to predict, a priori, how the composite system will behave as a result of the failure of a particular component
  • 12. Difference between Fault Injection and Reliability Testing. ● Reliability testing is the process of test case generation and then running the passing the test cases into the composite system. o More are the test cases more behaviours of the system can be observed. ● Fault injection is the process of intentionally corrupting the data in one componenet to test its effect on another component.
  • 13. Interface Propagation analysis ● The technique for assessing the level of interoperability between COTS software components and custom components presented here is IPA. ● IPA perturbs (i.e., corrupts) the states that propagate through the interfaces that connect COTS software components to other types of components. ● By corrupting data going from one component to a successor component, failure of the predecessor is approximated (simulated), and its impact on the successor can be assessed.
  • 14. How IPA works? ● To modify the information in a particular component , a small software routine named PERTURB is created that replaces the original output with a corrupted output. ● By simulating the failure of various software components, we determine whether or not these failures can be tolerated by the remainder of the system.
  • 15. An example ● The cos() function (a fine-grained COTS utility for which we do not have access to the source code) can be used in an illustration: double cos(double x) ● To see how this analysis works, consider an application containing the following code: if (cos(a) > THRESHOLD) { do something }
  • 16. An example ● Our objective is to determine how the application will behave if cos() returns incorrect information. if (PERTURB(cos(a)) > THRESHOLD) { do something }
  • 17. The Result of IPA ● PERTURB had created corrupt states that in no way reflected how the components could behave while in real operation. ● The fault injection process was still able to reveal to the designers of the system certain system-level behaviors that were totally unexpected. ● These behaviors were completely unsafe, and protection against them was essential. ● It is also possible that other hardware components or human activities associated with the system might also be able to force the system into such hazardous states.
  • 18. Increasing the efficiency of IPA ● Finally, it must be acknowledged that the exhaustive fault injection of software components is just as infeasible as the exhaustive testing of software. ● Therefore the proper approach to maximizing the value added by such a technique is first to identify which portions (functionally speaking) of the system are the most critical, and then analyze how that critical functionality degrades when components on which it depends fail.
  • 19. Two Additional Useful Techniques for Predicting Component Interoperability ● How a software component will react when it receives inputs that are outside the range of any profile that the original designers anticipated. ● Note that here we are not necessarily talking about component input information that is corrupted, but instead input information that is simply outside the nominal operational (probabilistic) range within which reliability testing would normally test the component.
  • 20. Technique 1 ● The first technique involves the deliberate inversion of the operational profile originally anticipated by the system designers. ● If the defined operational profile turns out to be inaccurate, then the only benefit from doing so would be to learn about potentially dangerous output modes from the software, which might be difficult to detect by other means.
  • 21. Technique 2 ● The second technique is simply a combination of the previous technique with IPA. ● This is a situation in which the software is operating in an unusual input mode while being bombarded with corrupt information. ● This provides a unique assessment of how robust the software is when it is operating under unusual circumstances and receiving corrupt information.