SlideShare a Scribd company logo
1 of 10
Download to read offline
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
DOI : 10.5121/ijcsea.2015.5301 1
BIO-INSPIRED MODELLING OF SOFTWARE
VERIFICATION BY MODIFIED MORAN PROCESSES
Sven Söhnlein
Method Park Engineering GmbH, Wetterkreuz 19a, Erlangen, Germany
ABSTRACT
A new approach for the control and prediction of verification activities for large safety-relevant software
systems will be presented in this paper. The model is applied on a macroscopic system level and based on
so-called Moran processes, which originate from mathematical biology and allow for the description
ofphenomena as, for instance, genetic drift. Beside the theoretical foundations of this novel approach, its
application on a real-world example from the medical engineering domain will be discussed.
KEYWORDS
Modelling,Simulation, Dependability, Reliability, Software Engineering
1. INTRODUCTION
The development of safety-relevant software systems usually underlies very strict regulations
prescribed by corresponding standards, like the IEC 62304 for medical device software [1], for
example. In order to provide the necessary control and prediction instruments for the required
verification activities of such applications, the use of software reliability models seems to be
reasonable. Here, a huge spectrum of different theoreticalapproaches is available in the literature
(see [2, 3, 4] for an overview). But the problems in the practical implementation of such models
in a real-world software lifecycle process are manifold:
First of all, the usually very strict (and non-verifiable model assumptions [2]) are not flexible
enough to map also in cases of continuous integration paradigms [5] or post-development phases,
where patches or add-ons are integrated [6]. Moreover, these assumptions are usually not implied
from the relevant standards and regulations, but are frequently model-intrinsic [2]. In addition to
that, implications that come from typical management necessities in those areas are
predominantly ignored [7].
With regard to these determining factors, we propose a practical model that applies on a
macroscopic level of large systems and takes into account regulative prescriptions regarding the
lifecycle process, software architecture, as well as planning and management demands. The
introduced model is inspired by mathematical concepts, that were originally applied to describe
biological processes in finite populations.
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
2
1.1. Paper Structure
The paper is organized as follows: In section 2, the relevant regulative and organisational factors
are determined, which will be used in the following to derive the theoretical basis for the model.
The approach itself will be introduced in section 3. Section 4 illustrates the application of the
model on a real-world system from the medical engineering domain, followed by a conclusion in
section 5.
2. DETERMINING REGULATIVE AND ORGANISATIONAL FACTORS
In order to derive an adequate context-specific model, one has to analyse the implications that
come from the corresponding standards in the particular application domain. In case of medical
device software, the IEC 62304 [1] represents the relevant norm (where it should be stated, that
similar standards exist for other safety-relevant applications, like the ISO 26262 [8] for the
automotive domain, for instance).
In the following, the key-aspects carvedout from the regulative and organisational prescriptions
will be highlighted, and referenced in subsequent sections as a basis for the provided model.
Regulative Factors:
R1. Software Lifecycle Process: The development underlies a strict plan-driven software
lifecycle process (like the V-Model [9] or the Waterfall-Model [9]). This implies particularly that
at least every requirement has to be verified by one (or more) corresponding test casesor by
another adequate verification technique [1].
R2. Software Architecture: The subdivision of the software system into interacting components
and units must be described and documented. With regard to this modularization, software units
represent the smallest atomic parts in the software architecture [1], whereas components in turn
consist of a finite number of units [1].
R3. Quality Management System: The IEC 62304 [1] prescribes a quality management system
(as defined by the ISO 13485 [10], for instance). Thus, it is required to define quality goals and
verify to which extend they are fulfilled.
Organisational Factors:
O1. Verification and Correction Phases: The typical management procedure [11] for the
verification process in the considered domain consists of a timely subdivided organization of
verification and correction phases, which consist of a certain subset of the overall number of
planned test cases.
O2. Impact Analysis:In advance to every correction, an impact analysis [12] is performed in
order to reveal the number of units that will be “touched” in the subsequent correction phase.
O3. Statistical Process Control: Statistical process control [13] is performed with the intentto
derive measures (considering the progress of verification and correction activities)from past
projectswith regard to the current or upcoming one.
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
3
Delimitation of Consideration:
Further, the scope of consideration will be delimited as follows:
D1. Classification of Software Units:Software units represent the smallest parts of consideration
and will be classified as ‘correct’ XOR ‘faulty’ (with no further distinction regarding the involved
code parts).
D2. Correction of Faults: Faulty software units which are corrected during a verification and
correction phase, change their classification status from ‘faulty’ to ‘correct’.
D3. Insertion of Faults:The correction process is not perfect, i.e. it also has the potential to inject
new faults into the system, which is represented by a change of the classification status of a
software unit from ‘correct’ to ‘faulty’.
Taking all these aspects into account, the following relation between the relevant elements of the
verification and correction process can be established (see figure 1), where(with = 1, … , 	)
denotes a requirement, 
(with = 1, … ,
) a test case, 
(with = 1, … , ) a software unit and
(with = 1, … , ) a component:
Each requirement is at least verified by one or more test cases (with regard to assumption R1),
where test cases “spot” the ‘faulty’ (or ‘correct’) units within certain components of the system
(with regard to assumptions R2 and D1). The software units to be “touched” in the subsequent
correction phase are revealed by the performed impact analysis (with regard to assumption O2).
These software units might thereby change its classification status from ‘faulty’ to ‘correct’
(which is the more probable case) but possibly also from ‘correct’ to ‘faulty’ (with regard to
assumptions D2 and D3).
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
4
Figure 1. Relation between verification and correction elements
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
5
3. MODELLING SOFTWARE VERIFICATION VIA MORAN PROCESSES
Moran processes are stochastic models that originate from mathematical biology and are used to
describe, for instance, mutations in finite populations (see [14, 15] for an introduction). In the
basic model, a finite population of size  ∈ ℕ consists of two alleles (let’s say ‘green’ and ‘red’),
which are competing for dominance. In each time step, a random individual is chosen for
reproduction and another one is chosen for death, thus ensuring a constant population size. The
“fitness” of the alleles hereby determines how likely they are to be chosen for reproduction and
thereforeaffects the time for fixation (i. e. the time for taking over the whole population).
In order to map this biological model to theconsidered software context, the discussed aspects
from section 2 are addressed as follows: The whole software system (which can be interpreted as
the DNA [16]) consists of components (DNA Segments) that consist of a finite population of
units (genes [16]). Those units (genes) can be classified into two categories (alleles [16]) marked
‘correct’ (green) XOR ‘faulty’ (red). A single unit can shift its classification (allel) from ‘correct’
to ‘faulty’ or from ‘faulty’ to ‘correct’ in one time step (which represents the mutation process
[16]). This means that the whole verification and correction process can be considered as the
genetic drift [16] in the software system, where the goodness of the process is affected by the
fitness of the alleles. Table 2 shows an overview of the corresponding elements from both worlds.
Table 1. Mapping oftechnical and biological elements
Software World Biological World
Software System DNA
Component DNA Segment
Unit Gene
Classification of a unit {‘correct’, ‘faulty’} Allel {‘green’, ‘red’}
Correction of a fault / Insertion of a fault Mutation
Verification and correction process Genetic drift
Goodness of the verification and correction activities Fitness
In accordance to this mapping, the verification and correction process can be described by an
irreducible ergodic discrete-time Markov chain (DTMC [15])
() with 
	∈	ℕ
where () denotes the family of random variables (indexed by the discrete time 
). The process
underlies a finite state space  ∈ ℕ, where
|| =  + 1
and ∈	ℕ represents the number of software units in the system. Every state 	∈	 (with  =
0, … , ) is hereby associated with a software system consisting of  correct (verified) software
units (and  −  faulty units).
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
6
With regard to assumption O1 (see section 2), it is assumed that in verification and correction
phase  (with ∈	ℕ and  = 1, … , ) where  represents the overall number of verification
and correction phases, we reach a certain state .Then, the required impact analysis (see
assumption O2) will reveal the number of software units, that is “touched” in the next verification
and correction phase  !and therefore implies the expected number of time steps for the
Moran process in the subsequent phase (see figure 2 for an illustration).
Figure 2. Verification and correction phases () in the Moran process
Therefore, the DTMC for the Moran Process described above can be defined by the || × ||
transition matrix#, where the entries of# are specified as
#, ! =
φ
∙ 
φ
∙  +  − 
∙
 − 

for 0 ≤    (1)
#,'! =
 − 
φ
∙  +  − 
∙


for 0   ≤  (2)
#, = 1 − #,'! − #, ! for 0     (3)
#, = 1 for  = 0	∨		 =  (4)
and all other entries of #are zero, which results in a triangular matrix. Here, φ
represents the
mentioned phase-specific “fitness” of the verification and correction activities and can be derived
by statistical process control techniques (see assumption O3 in section 2). A coarse
approximation of φ
might be estimated by the fraction of successfully corrected components in
relation to the inserted faults. Note that in contrast to the original Moran process model [14], the
fitness is not fixed here, but changes in accordance to the phase of the whole verification and
correction process, which is reasonable with regard to the different preconditions in each phase.
In general, φ
can be categorized as follows:
φ
 1: This is the usual and expected case, where (significantly) more faults are
detected and corrected than injected.
φ
= 1: In this case, we have a “neutral” drift (and an unsystematic verification and
correction process).
φ
 1: This is the unusual and unexpected case, where more new faults are injected in
the system than detected and corrected.
i-1	 i+1	
i	
  !
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
7
The defined Moran process is initialized by the start vector +(,)
with entries
+-
(,)
= 1 for . = 1 (5)
+-
(,)
= 0 for . ≠ 1 (6)
which means that at least one correct unit is available at the beginning. Further, we denote by 0
(with 0∈	ℕ and 0 = 0, … , )the number of software units to be touched in a certain(see
the presumed impact analysis O2). Then, if the first verification and correction phase !
reveals, that the number of software units to be touched in this phase is 0!, than the state vector of
the Moran process at this stage is computed by
+(!)
= +(,)
∙ #(12) (7)
More generally, if in phase , we reach a certain state  (which is associated with a software
system of already  verified software units),than the state vector for phase  ! is computed by
+( !)
= +()
∙ #(1342) (8)
with
+-
()
= 1 for . =  (9)
+-
()
= 0 for . ≠  (10)
Moreover, by
σ = max
-9,,…,:
+-
()
(11)
the most probable state .;=
()
at can be determined with
+-?@
()
= σ (12)
In order to estimate, if predefined reliability targets (see assumption R3) are met (in terms of the
minimum number of components that have to be correct after a certain verification and correction
phase), we denote by A;B(C) the probability, that in phase  we have at least C correct
components, which can be computed by
A;B(C) = D +-
()
:
-9E3
(13)
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
8
4. EXAMPLE APPLICATION
In this section, the application of the model on a real-world system (from the medical engineering
domain) will be discussed.The model was applied in order to assess the progress of the
verification and correction activities, with a specific focus on the reachability of the predefined
reliability targets. The system consisted of an overall number of  = 363 software units. The
verification and correction process was subdivided into  = 5 phases. Table 2 shows the number
of software units 0 that were touched in each phase (estimated by the corresponding impact
analysis), the verification fitness φ
for each phase (estimated by the application of the previously
mentioned statistical process control techniques), the predefined reliability targetC for each
phase (as an outcome from the project and risk management activities)as well as the computed
measures according to equations (1) – (13) from section 4.
Table 2. Computed measures for the example system
 0
0

∙ 100% Σ0 Σ13
:
∙ 100% φ C
C

∙ 100% .;=
() A;B(C)
1 114 31,40 114 31,40 37,96 72,60 20,00 65 0.14
2 95 26,17 209 57,57 18,79 163,35 45,00 168 0.69
3 74 20,39 283 77,96 13,67 235,95 65,00 234 0.40
4 53 14,60 336 92,56 11,32 290,40 80,00 293 0.87
5 27 7,44 363 100,00 9,41 326,70 90,00 337 0.99
If we look at the predefined reliability target C and the computed most probable state .;=
()
for
each phase, we can see how the predefinition differs from the prediction according to the varying
fitness and number of touched components in each phase. While for phases K, L and M,
the most probable states are pretty close to the predefined targets, the discrepancies in phases
! and N are comparatively high. And apart from !and L, the predefined targets
underestimated the most probable states in this case, which is also illustrated in figure 3. But this
might be a little bit misleading with regard to the computed probabilities A;B(C) of reaching
the predefined goals. Here, only M and N establish a substantial confidence in the
reachability of the predefined quality goals, which is also shown in figure 4.
International Journal of Computer Science, Engineering and Applications (
Figure 3. Comparison of predefined and predicted measures
Figure 4. Evolving probability of meeting the
The computed measures illustrate
targets for the verification an correction
5. CONCLUSIONS
In this paper, a novel approach for
software systems was introduced. Beside the derivation of the theoretical foundations of th
model, its application on a real
International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015
Figure 3. Comparison of predefined and predicted measures
Figure 4. Evolving probability of meeting the predefined targets
lustrate how the introduced model can be utilized to adjustpredefined
the verification an correction phases.
roach for the support of correction processes of large safety
was introduced. Beside the derivation of the theoretical foundations of th
its application on a real-world example was also shown. Thereby it could be
IJCSEA) Vol.5, No.3, June 2015
9
to adjustpredefined
safety-relevant
was introduced. Beside the derivation of the theoretical foundations of this
world example was also shown. Thereby it could be

More Related Content

What's hot

Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks IJECEIAES
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesAmr E. Mohamed
 
How good is my software a simple approach for software rating based on syst...
How good is my software   a simple approach for software rating based on syst...How good is my software   a simple approach for software rating based on syst...
How good is my software a simple approach for software rating based on syst...Conference Papers
 
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...IRJET Journal
 
Configuration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case PrioritizationConfiguration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case Prioritizationijsrd.com
 
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...Chakkrit (Kla) Tantithamthavorn
 
Experiences in shift left test approach
Experiences in shift left test approachExperiences in shift left test approach
Experiences in shift left test approachJournal Papers
 
Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...ijfcstjournal
 
Mining Software Defects: Should We Consider Affected Releases?
Mining Software Defects: Should We Consider Affected Releases?Mining Software Defects: Should We Consider Affected Releases?
Mining Software Defects: Should We Consider Affected Releases?Chakkrit (Kla) Tantithamthavorn
 
Comparative Performance Analysis of Machine Learning Techniques for Software ...
Comparative Performance Analysis of Machine Learning Techniques for Software ...Comparative Performance Analysis of Machine Learning Techniques for Software ...
Comparative Performance Analysis of Machine Learning Techniques for Software ...csandit
 
Towards formulating dynamic model for predicting defects in system testing us...
Towards formulating dynamic model for predicting defects in system testing us...Towards formulating dynamic model for predicting defects in system testing us...
Towards formulating dynamic model for predicting defects in system testing us...Journal Papers
 
Practical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A ReviewPractical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A Reviewinventionjournals
 
Class quality evaluation using class quality
Class quality evaluation using class qualityClass quality evaluation using class quality
Class quality evaluation using class qualityIAEME Publication
 
Benchmarking machine learning techniques
Benchmarking machine learning techniquesBenchmarking machine learning techniques
Benchmarking machine learning techniquesijseajournal
 
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...iosrjce
 
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...Editor IJCATR
 

What's hot (19)

Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
Test Case Optimization and Redundancy Reduction Using GA and Neural Networks
 
SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use Cases
 
How good is my software a simple approach for software rating based on syst...
How good is my software   a simple approach for software rating based on syst...How good is my software   a simple approach for software rating based on syst...
How good is my software a simple approach for software rating based on syst...
 
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...IRJET -  	  Neural Network based Leaf Disease Detection and Remedy Recommenda...
IRJET - Neural Network based Leaf Disease Detection and Remedy Recommenda...
 
Configuration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case PrioritizationConfiguration Navigation Analysis Model for Regression Test Case Prioritization
Configuration Navigation Analysis Model for Regression Test Case Prioritization
 
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
 
Experiences in shift left test approach
Experiences in shift left test approachExperiences in shift left test approach
Experiences in shift left test approach
 
Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...Verification of the protection services in antivirus systems by using nusmv m...
Verification of the protection services in antivirus systems by using nusmv m...
 
Mining Software Defects: Should We Consider Affected Releases?
Mining Software Defects: Should We Consider Affected Releases?Mining Software Defects: Should We Consider Affected Releases?
Mining Software Defects: Should We Consider Affected Releases?
 
Comparative Performance Analysis of Machine Learning Techniques for Software ...
Comparative Performance Analysis of Machine Learning Techniques for Software ...Comparative Performance Analysis of Machine Learning Techniques for Software ...
Comparative Performance Analysis of Machine Learning Techniques for Software ...
 
Towards formulating dynamic model for predicting defects in system testing us...
Towards formulating dynamic model for predicting defects in system testing us...Towards formulating dynamic model for predicting defects in system testing us...
Towards formulating dynamic model for predicting defects in system testing us...
 
Practical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A ReviewPractical Guidelines to Improve Defect Prediction Model – A Review
Practical Guidelines to Improve Defect Prediction Model – A Review
 
Class quality evaluation using class quality
Class quality evaluation using class qualityClass quality evaluation using class quality
Class quality evaluation using class quality
 
J034057065
J034057065J034057065
J034057065
 
Benchmarking machine learning techniques
Benchmarking machine learning techniquesBenchmarking machine learning techniques
Benchmarking machine learning techniques
 
Q44098893
Q44098893Q44098893
Q44098893
 
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
 
E018132735
E018132735E018132735
E018132735
 
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
 

Similar to Bio-Inspired Modelling of Software Verification by Modified Moran Processes

A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...ijccmsjournal
 
Risk Management; Utilizing Genetic-Fuzzy Approach
Risk Management; Utilizing Genetic-Fuzzy ApproachRisk Management; Utilizing Genetic-Fuzzy Approach
Risk Management; Utilizing Genetic-Fuzzy Approachtheijes
 
Assessing Software Reliability Using SPC – An Order Statistics Approach
Assessing Software Reliability Using SPC – An Order Statistics ApproachAssessing Software Reliability Using SPC – An Order Statistics Approach
Assessing Software Reliability Using SPC – An Order Statistics ApproachIJCSEA Journal
 
Assessing Software Reliability Using SPC – An Order Statistics Approach
Assessing Software Reliability Using SPC – An Order Statistics Approach Assessing Software Reliability Using SPC – An Order Statistics Approach
Assessing Software Reliability Using SPC – An Order Statistics Approach IJCSEA Journal
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...IJCSES Journal
 
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...IJNSA Journal
 
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...IJNSA Journal
 
A new approach for formal behavioral
A new approach for formal behavioralA new approach for formal behavioral
A new approach for formal behavioralijfcstjournal
 
Discrete event systems comprise of discrete state spaces and event
Discrete event systems comprise of discrete state spaces and eventDiscrete event systems comprise of discrete state spaces and event
Discrete event systems comprise of discrete state spaces and eventNitish Nagar
 
IoT Device Intelligence & Real Time Anomaly Detection
IoT Device Intelligence & Real Time Anomaly DetectionIoT Device Intelligence & Real Time Anomaly Detection
IoT Device Intelligence & Real Time Anomaly DetectionBraja Krishna Das
 
Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...eSAT Publishing House
 
Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...eSAT Journals
 
Formal Verification of Distributed Checkpointing Using Event-B
Formal Verification of Distributed Checkpointing Using Event-BFormal Verification of Distributed Checkpointing Using Event-B
Formal Verification of Distributed Checkpointing Using Event-Bijcsit
 
Proposed Algorithm for Surveillance Applications
Proposed Algorithm for Surveillance ApplicationsProposed Algorithm for Surveillance Applications
Proposed Algorithm for Surveillance ApplicationsEditor IJCATR
 
SYSTEM IDENTIFICATION AND MODELING FOR INTERACTING AND NON-INTERACTING TANK S...
SYSTEM IDENTIFICATION AND MODELING FOR INTERACTING AND NON-INTERACTING TANK S...SYSTEM IDENTIFICATION AND MODELING FOR INTERACTING AND NON-INTERACTING TANK S...
SYSTEM IDENTIFICATION AND MODELING FOR INTERACTING AND NON-INTERACTING TANK S...ijistjournal
 
A Review On Software Reliability.
A Review On Software Reliability.A Review On Software Reliability.
A Review On Software Reliability.Kelly Taylor
 

Similar to Bio-Inspired Modelling of Software Verification by Modified Moran Processes (20)

A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
 
Risk Management; Utilizing Genetic-Fuzzy Approach
Risk Management; Utilizing Genetic-Fuzzy ApproachRisk Management; Utilizing Genetic-Fuzzy Approach
Risk Management; Utilizing Genetic-Fuzzy Approach
 
Assessing Software Reliability Using SPC – An Order Statistics Approach
Assessing Software Reliability Using SPC – An Order Statistics ApproachAssessing Software Reliability Using SPC – An Order Statistics Approach
Assessing Software Reliability Using SPC – An Order Statistics Approach
 
Assessing Software Reliability Using SPC – An Order Statistics Approach
Assessing Software Reliability Using SPC – An Order Statistics Approach Assessing Software Reliability Using SPC – An Order Statistics Approach
Assessing Software Reliability Using SPC – An Order Statistics Approach
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...
 
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
 
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
A SECURITY EVALUATION FRAMEWORK FOR U.K. E-GOVERNMENT SERVICES AGILE SOFTWARE...
 
A new approach for formal behavioral
A new approach for formal behavioralA new approach for formal behavioral
A new approach for formal behavioral
 
Discrete event systems comprise of discrete state spaces and event
Discrete event systems comprise of discrete state spaces and eventDiscrete event systems comprise of discrete state spaces and event
Discrete event systems comprise of discrete state spaces and event
 
IoT Device Intelligence & Real Time Anomaly Detection
IoT Device Intelligence & Real Time Anomaly DetectionIoT Device Intelligence & Real Time Anomaly Detection
IoT Device Intelligence & Real Time Anomaly Detection
 
An empirical evaluation of
An empirical evaluation ofAn empirical evaluation of
An empirical evaluation of
 
Zue2015Uncertainties
Zue2015UncertaintiesZue2015Uncertainties
Zue2015Uncertainties
 
Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...
 
Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...
 
Formal Verification of Distributed Checkpointing Using Event-B
Formal Verification of Distributed Checkpointing Using Event-BFormal Verification of Distributed Checkpointing Using Event-B
Formal Verification of Distributed Checkpointing Using Event-B
 
Proposed Algorithm for Surveillance Applications
Proposed Algorithm for Surveillance ApplicationsProposed Algorithm for Surveillance Applications
Proposed Algorithm for Surveillance Applications
 
SYSTEM IDENTIFICATION AND MODELING FOR INTERACTING AND NON-INTERACTING TANK S...
SYSTEM IDENTIFICATION AND MODELING FOR INTERACTING AND NON-INTERACTING TANK S...SYSTEM IDENTIFICATION AND MODELING FOR INTERACTING AND NON-INTERACTING TANK S...
SYSTEM IDENTIFICATION AND MODELING FOR INTERACTING AND NON-INTERACTING TANK S...
 
A Review On Software Reliability.
A Review On Software Reliability.A Review On Software Reliability.
A Review On Software Reliability.
 

Recently uploaded

Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 

Recently uploaded (20)

Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 

Bio-Inspired Modelling of Software Verification by Modified Moran Processes

  • 1. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 DOI : 10.5121/ijcsea.2015.5301 1 BIO-INSPIRED MODELLING OF SOFTWARE VERIFICATION BY MODIFIED MORAN PROCESSES Sven Söhnlein Method Park Engineering GmbH, Wetterkreuz 19a, Erlangen, Germany ABSTRACT A new approach for the control and prediction of verification activities for large safety-relevant software systems will be presented in this paper. The model is applied on a macroscopic system level and based on so-called Moran processes, which originate from mathematical biology and allow for the description ofphenomena as, for instance, genetic drift. Beside the theoretical foundations of this novel approach, its application on a real-world example from the medical engineering domain will be discussed. KEYWORDS Modelling,Simulation, Dependability, Reliability, Software Engineering 1. INTRODUCTION The development of safety-relevant software systems usually underlies very strict regulations prescribed by corresponding standards, like the IEC 62304 for medical device software [1], for example. In order to provide the necessary control and prediction instruments for the required verification activities of such applications, the use of software reliability models seems to be reasonable. Here, a huge spectrum of different theoreticalapproaches is available in the literature (see [2, 3, 4] for an overview). But the problems in the practical implementation of such models in a real-world software lifecycle process are manifold: First of all, the usually very strict (and non-verifiable model assumptions [2]) are not flexible enough to map also in cases of continuous integration paradigms [5] or post-development phases, where patches or add-ons are integrated [6]. Moreover, these assumptions are usually not implied from the relevant standards and regulations, but are frequently model-intrinsic [2]. In addition to that, implications that come from typical management necessities in those areas are predominantly ignored [7]. With regard to these determining factors, we propose a practical model that applies on a macroscopic level of large systems and takes into account regulative prescriptions regarding the lifecycle process, software architecture, as well as planning and management demands. The introduced model is inspired by mathematical concepts, that were originally applied to describe biological processes in finite populations.
  • 2. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 2 1.1. Paper Structure The paper is organized as follows: In section 2, the relevant regulative and organisational factors are determined, which will be used in the following to derive the theoretical basis for the model. The approach itself will be introduced in section 3. Section 4 illustrates the application of the model on a real-world system from the medical engineering domain, followed by a conclusion in section 5. 2. DETERMINING REGULATIVE AND ORGANISATIONAL FACTORS In order to derive an adequate context-specific model, one has to analyse the implications that come from the corresponding standards in the particular application domain. In case of medical device software, the IEC 62304 [1] represents the relevant norm (where it should be stated, that similar standards exist for other safety-relevant applications, like the ISO 26262 [8] for the automotive domain, for instance). In the following, the key-aspects carvedout from the regulative and organisational prescriptions will be highlighted, and referenced in subsequent sections as a basis for the provided model. Regulative Factors: R1. Software Lifecycle Process: The development underlies a strict plan-driven software lifecycle process (like the V-Model [9] or the Waterfall-Model [9]). This implies particularly that at least every requirement has to be verified by one (or more) corresponding test casesor by another adequate verification technique [1]. R2. Software Architecture: The subdivision of the software system into interacting components and units must be described and documented. With regard to this modularization, software units represent the smallest atomic parts in the software architecture [1], whereas components in turn consist of a finite number of units [1]. R3. Quality Management System: The IEC 62304 [1] prescribes a quality management system (as defined by the ISO 13485 [10], for instance). Thus, it is required to define quality goals and verify to which extend they are fulfilled. Organisational Factors: O1. Verification and Correction Phases: The typical management procedure [11] for the verification process in the considered domain consists of a timely subdivided organization of verification and correction phases, which consist of a certain subset of the overall number of planned test cases. O2. Impact Analysis:In advance to every correction, an impact analysis [12] is performed in order to reveal the number of units that will be “touched” in the subsequent correction phase. O3. Statistical Process Control: Statistical process control [13] is performed with the intentto derive measures (considering the progress of verification and correction activities)from past projectswith regard to the current or upcoming one.
  • 3. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 3 Delimitation of Consideration: Further, the scope of consideration will be delimited as follows: D1. Classification of Software Units:Software units represent the smallest parts of consideration and will be classified as ‘correct’ XOR ‘faulty’ (with no further distinction regarding the involved code parts). D2. Correction of Faults: Faulty software units which are corrected during a verification and correction phase, change their classification status from ‘faulty’ to ‘correct’. D3. Insertion of Faults:The correction process is not perfect, i.e. it also has the potential to inject new faults into the system, which is represented by a change of the classification status of a software unit from ‘correct’ to ‘faulty’. Taking all these aspects into account, the following relation between the relevant elements of the verification and correction process can be established (see figure 1), where(with = 1, … , ) denotes a requirement, (with = 1, … ,
  • 4. ) a test case, (with = 1, … , ) a software unit and (with = 1, … , ) a component: Each requirement is at least verified by one or more test cases (with regard to assumption R1), where test cases “spot” the ‘faulty’ (or ‘correct’) units within certain components of the system (with regard to assumptions R2 and D1). The software units to be “touched” in the subsequent correction phase are revealed by the performed impact analysis (with regard to assumption O2). These software units might thereby change its classification status from ‘faulty’ to ‘correct’ (which is the more probable case) but possibly also from ‘correct’ to ‘faulty’ (with regard to assumptions D2 and D3).
  • 5. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 4 Figure 1. Relation between verification and correction elements
  • 6. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 5 3. MODELLING SOFTWARE VERIFICATION VIA MORAN PROCESSES Moran processes are stochastic models that originate from mathematical biology and are used to describe, for instance, mutations in finite populations (see [14, 15] for an introduction). In the basic model, a finite population of size ∈ ℕ consists of two alleles (let’s say ‘green’ and ‘red’), which are competing for dominance. In each time step, a random individual is chosen for reproduction and another one is chosen for death, thus ensuring a constant population size. The “fitness” of the alleles hereby determines how likely they are to be chosen for reproduction and thereforeaffects the time for fixation (i. e. the time for taking over the whole population). In order to map this biological model to theconsidered software context, the discussed aspects from section 2 are addressed as follows: The whole software system (which can be interpreted as the DNA [16]) consists of components (DNA Segments) that consist of a finite population of units (genes [16]). Those units (genes) can be classified into two categories (alleles [16]) marked ‘correct’ (green) XOR ‘faulty’ (red). A single unit can shift its classification (allel) from ‘correct’ to ‘faulty’ or from ‘faulty’ to ‘correct’ in one time step (which represents the mutation process [16]). This means that the whole verification and correction process can be considered as the genetic drift [16] in the software system, where the goodness of the process is affected by the fitness of the alleles. Table 2 shows an overview of the corresponding elements from both worlds. Table 1. Mapping oftechnical and biological elements Software World Biological World Software System DNA Component DNA Segment Unit Gene Classification of a unit {‘correct’, ‘faulty’} Allel {‘green’, ‘red’} Correction of a fault / Insertion of a fault Mutation Verification and correction process Genetic drift Goodness of the verification and correction activities Fitness In accordance to this mapping, the verification and correction process can be described by an irreducible ergodic discrete-time Markov chain (DTMC [15]) () with ∈ ℕ where () denotes the family of random variables (indexed by the discrete time ). The process underlies a finite state space ∈ ℕ, where || = + 1 and ∈ ℕ represents the number of software units in the system. Every state ∈ (with = 0, … , ) is hereby associated with a software system consisting of correct (verified) software units (and − faulty units).
  • 7. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 6 With regard to assumption O1 (see section 2), it is assumed that in verification and correction phase (with ∈ ℕ and = 1, … , ) where represents the overall number of verification and correction phases, we reach a certain state .Then, the required impact analysis (see assumption O2) will reveal the number of software units, that is “touched” in the next verification and correction phase !and therefore implies the expected number of time steps for the Moran process in the subsequent phase (see figure 2 for an illustration). Figure 2. Verification and correction phases () in the Moran process Therefore, the DTMC for the Moran Process described above can be defined by the || × || transition matrix#, where the entries of# are specified as #, ! = φ ∙ φ ∙ + − ∙ − for 0 ≤ (1) #,'! = − φ ∙ + − ∙ for 0 ≤ (2) #, = 1 − #,'! − #, ! for 0 (3) #, = 1 for = 0 ∨ = (4) and all other entries of #are zero, which results in a triangular matrix. Here, φ represents the mentioned phase-specific “fitness” of the verification and correction activities and can be derived by statistical process control techniques (see assumption O3 in section 2). A coarse approximation of φ might be estimated by the fraction of successfully corrected components in relation to the inserted faults. Note that in contrast to the original Moran process model [14], the fitness is not fixed here, but changes in accordance to the phase of the whole verification and correction process, which is reasonable with regard to the different preconditions in each phase. In general, φ can be categorized as follows: φ 1: This is the usual and expected case, where (significantly) more faults are detected and corrected than injected. φ = 1: In this case, we have a “neutral” drift (and an unsystematic verification and correction process). φ 1: This is the unusual and unexpected case, where more new faults are injected in the system than detected and corrected. i-1 i+1 i !
  • 8. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 7 The defined Moran process is initialized by the start vector +(,) with entries +- (,) = 1 for . = 1 (5) +- (,) = 0 for . ≠ 1 (6) which means that at least one correct unit is available at the beginning. Further, we denote by 0 (with 0∈ ℕ and 0 = 0, … , )the number of software units to be touched in a certain(see the presumed impact analysis O2). Then, if the first verification and correction phase ! reveals, that the number of software units to be touched in this phase is 0!, than the state vector of the Moran process at this stage is computed by +(!) = +(,) ∙ #(12) (7) More generally, if in phase , we reach a certain state (which is associated with a software system of already verified software units),than the state vector for phase ! is computed by +( !) = +() ∙ #(1342) (8) with +- () = 1 for . = (9) +- () = 0 for . ≠ (10) Moreover, by σ = max -9,,…,: +- () (11) the most probable state .;= () at can be determined with +-?@ () = σ (12) In order to estimate, if predefined reliability targets (see assumption R3) are met (in terms of the minimum number of components that have to be correct after a certain verification and correction phase), we denote by A;B(C) the probability, that in phase we have at least C correct components, which can be computed by A;B(C) = D +- () : -9E3 (13)
  • 9. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 8 4. EXAMPLE APPLICATION In this section, the application of the model on a real-world system (from the medical engineering domain) will be discussed.The model was applied in order to assess the progress of the verification and correction activities, with a specific focus on the reachability of the predefined reliability targets. The system consisted of an overall number of = 363 software units. The verification and correction process was subdivided into = 5 phases. Table 2 shows the number of software units 0 that were touched in each phase (estimated by the corresponding impact analysis), the verification fitness φ for each phase (estimated by the application of the previously mentioned statistical process control techniques), the predefined reliability targetC for each phase (as an outcome from the project and risk management activities)as well as the computed measures according to equations (1) – (13) from section 4. Table 2. Computed measures for the example system 0 0 ∙ 100% Σ0 Σ13 : ∙ 100% φ C C ∙ 100% .;= () A;B(C) 1 114 31,40 114 31,40 37,96 72,60 20,00 65 0.14 2 95 26,17 209 57,57 18,79 163,35 45,00 168 0.69 3 74 20,39 283 77,96 13,67 235,95 65,00 234 0.40 4 53 14,60 336 92,56 11,32 290,40 80,00 293 0.87 5 27 7,44 363 100,00 9,41 326,70 90,00 337 0.99 If we look at the predefined reliability target C and the computed most probable state .;= () for each phase, we can see how the predefinition differs from the prediction according to the varying fitness and number of touched components in each phase. While for phases K, L and M, the most probable states are pretty close to the predefined targets, the discrepancies in phases ! and N are comparatively high. And apart from !and L, the predefined targets underestimated the most probable states in this case, which is also illustrated in figure 3. But this might be a little bit misleading with regard to the computed probabilities A;B(C) of reaching the predefined goals. Here, only M and N establish a substantial confidence in the reachability of the predefined quality goals, which is also shown in figure 4.
  • 10. International Journal of Computer Science, Engineering and Applications ( Figure 3. Comparison of predefined and predicted measures Figure 4. Evolving probability of meeting the The computed measures illustrate targets for the verification an correction 5. CONCLUSIONS In this paper, a novel approach for software systems was introduced. Beside the derivation of the theoretical foundations of th model, its application on a real International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 Figure 3. Comparison of predefined and predicted measures Figure 4. Evolving probability of meeting the predefined targets lustrate how the introduced model can be utilized to adjustpredefined the verification an correction phases. roach for the support of correction processes of large safety was introduced. Beside the derivation of the theoretical foundations of th its application on a real-world example was also shown. Thereby it could be IJCSEA) Vol.5, No.3, June 2015 9 to adjustpredefined safety-relevant was introduced. Beside the derivation of the theoretical foundations of this world example was also shown. Thereby it could be
  • 11. International Journal of Computer Science, Engineering and Applications (IJCSEA) Vol.5, No.3, June 2015 10 demonstrated, how this technique can serve as an instrument for the planning and control of the verification activities in such an environment. REFERENCES [1] International Electrotechnical Commission: Medical device software - Software life-cycle processes, IEC62304:2006 (2006). [2] M. R. Lyu (Editor), Handbook of Software Reliability Engineering, IEEE Computer Society Press, McGraw-Hill, 1996. [3] J. D. Musa, Software Reliability Engineering, McGraw-Hill, 1999. [4] D. P. Siewiorek and R. S. Swarz, The Theory and Practice of Reliable System Design,Digital Press, 1982. [5] P. M. Duvall et al., Continuous Integration: Improving Software Quality and Reducing Risk, Addison-Wesley, 2007. [6] S. S. Yau and J. S. Collofello, “Design Stability Measures for Software Maintenance”, IEEE Transactions on Software Engineering, Vol. 11 (9), pp. 84-856, 1985. [7] S. R. Rakitin, Software Verification and Validation for Practitioners and Managers, 2nd ed., Artech House, Inc., 2001. [8] ISO 26262-1:2011(en) Road vehicles - Functional safety, International Standardization Organization (2011). [9] I. Sommerville, Software Engineering, 9th ed., Pearson, 2012. [10] ISO 13485:2003 Medical devices - Quality management systems - Requirements for regulatory purposes (2003). [11] M. Pol et al., Software Testing: A Guide to the TMap Approach, Addison-Wesley Professional, 2001. [12] K. Fisler et al.,Verification and change-impact analysis of access-control policies, Proceedings of the 27th international conference on Software engineering, ACM, 2005. [13] J. S. Oakland, Statistical process control, Routledge, 2008. [14] P. A. P. Moran, Random processes in genetics, Mathematical Proceedings of the Cambridge Philosophical Society, Vol. 54. (1), Cambridge University Press, 1958. [15] M. A. Nowak, Evolutionary dynamics, Harvard University Press, 2006. [16] K. S. Trivedi, Probability Statistics with Reliability, Queuing and Computer Science Applications, PHI Learning Pvt. Limited, 2011. AUTHOR Dr. Sven Söhnlein received a PhD in Engineering and a MSc in Computer Science from the University of Erlangen-Nürnberg (Germany). Until 2014 he was a Senior Researcher at the University of Erlangen- Nürnberg and is currently working for the company Method Park Engineering GmbH.