SlideShare a Scribd company logo
Sundarapandian et al. (Eds): ICAITA, SAI, SEAS, CDKP, CMCA, CS & IT 08,
pp. 97–104, 2012. © CS & IT-CSCP 2012 DOI : 10.5121/csit.2012.2509
RELIABILITY ESTIMATION FRAMEWORK
-COMPLEXITY PERSPECTIVE-
Amitabha Yadav1
and R.A. Khan2
1
Department of Computer Application, SRMGPC, Lucknow, UP, India
amitabha.engg@yahoo.com
2
Department of I.T, BBA University,Lucknow,UP,India
khanraees@yahoo.com
ABSTRACT
A reliability estimation framework for OO design complexity perspective has been developed in
this paper. The proposed framework correlates the object oriented design constructs with
complexity and also correlates complexity with reliability. No such framework has been
available in the literature that estimates software reliability of OO design by taking complexity
into consideration. The framework bridges the gap between object oriented design constructs,
complexity and reliability. Framework measures and minimizes the complexity of software
design at the early stage of software development life cycle leading to a reliable end product.
Reliability and complexity estimation models have been proposed by following the proposed
framework. Complexity estimation model has been developed which takes OO design constructs
into consideration and proposed reliability estimation models take complexity in consideration
for estimating reliability of OO design.
KEYWORDS
Framework, complexity, reliability.
1. BACKGROUND
Over 200 models have been developed since the early 1970s, but how to quantify software
reliability still remains largely unsolved. Software reliability has emerged as people try to
understand the characteristics of how and why software fails, and try to quantify software
reliability. Software failures surround in between three major ingredients i.e. failures, time and
operational environment. Following figure 1.1(a) shows the relation between error, faults and
failures. In terms of software reliability, error is a computer programmer action or hops that result
in a fault. A fault is a software defect that causes failure. A failure is the inability of a system or
component to perform a required function according to its specification. Software failures occur if
the behaviour of the software differs from the specified behaviour of the software. A failure in the
software design makes the system difficult to understand and increases the complexity [1]. High
complex system will be high error prone and makes the system more unreliable.
There are several approaches to makes the system more reliable. Among those approaches object
oriented design is one of the important approach to estimate reliability in respect of complexity.
Object oriented design and development are popular conceptions in today’s software development
scenario. Object oriented design heralds itself as an important tool for solving most of the
software problems [2]. In an object oriented approach, the data is treated as the most important
element and it cannot flow freely around the system. Restrictions are placed that can manipulate
the data. Object oriented approach binds the data and the methods to prevent by unauthorized
98 Computer Science & Information Technology (CS & IT)
access. Object oriented design supports design constructs such as encapsulation, inheritance,
coupling and cohesion [3].
The data members and methods encapsulated with in a class and interaction among them is done
only through the interface provided by encapsulation whether it is public or private or protected.
Reusability of classes is the main feature of object oriented approach. Due to these object
oriented design constructs it is easy to design a class hierarchy, easy to understand and easy to
make a design structure. This is all done by minimizing or maximizing the OO design constructs
according to the need of customer [4]. It is possible to get good software which is good in quality,
feasible with cost wise, less effort and reliable. Forgoing discussion encourages the researcher to
develop a framework.
2. RELIABILITY ESTIMATION FRAMEWORK
Software reliability estimation is an activity that determines current reliability by applying
statistical inference technique to failure data obtained during system test or system operation.
Reliability estimation framework of an object oriented design believes that measurement is a tool
for measuring the effectiveness of any estimation activity [5]. Software reliability measurement
includes both estimation and prediction with the help of software reliability models [6]. The
measurement models are also called software reliability growth models. Most of the current
software reliability models and metrics are discussed in researcher’s previous papers. For the
purpose, reliability estimation framework integrates the measurement phase along with other
phase of reliability estimation.
2.1. Premises
A framework is a hypothetical description of a complex process. It provides a factual base for
future research. The framework for reliability estimation of object oriented design has the
following assumptions:
• Reliability of an object oriented design is affected by several factors, in which complexity is
taken as a major factor.
• Complexity of OO design is affected by object oriented design constructs.
• Reliability of an OO design is affected by complexity of an object oriented design.
• The framework estimate the reliability by controlling complexity of object oriented designs
• One can choose any of the given reliability factor to estimate reliability of OO design.
Figure 1.1(a) Software failure life cycle
Computer Science & Information Technology (CS & IT) 99
2.2 The framework
The proposed framework for reliability estimation of object oriented design comprises of
following five phases (as shown in figure-2.2.2): Recognition Phase, Correlation Phase,
Development Phase, Measurement Phase and Finalization Phase.
In the recognition phase, the relevant object oriented design constructs, software reliability
attributes, complexity as key factor to reliability has been identified. In the second phase, i.e.
correlation phase, correlation between object oriented design constructs with complexity, relation
between complexity and reliability and their impact on each other has been established. In
development phase, metrics are developed for each of the identified object oriented design
constructs such as inheritance, coupling, cohesion and encapsulation. Complexity estimation
model (CEM) and reliability estimation model (REM) is also developed in the development
phase. The measurement phase involves in the calculation of OO design metrics, complexity
estimation model and reliability estimation model. Reliability is estimated with the use of
complexity. Finalization phase involves in the analysis of OO design metrics, development of
suggestive measures and finalization of framework. Finally, on the basis of the review, the whole
approach is revised, if needed.
Figure 2.2.2 (a) Framework to estimate reliability of OO design: complexity perspective
2.2.1 Recognition Phase
The main aim of software reliability estimation framework is to estimate reliability of an object
oriented design by controlling design constructs in respect of complexity. For this purpose,
recognition phase involves:
To Identify OO Design Constructs: Object oriented design overcomes the drawback of procedure
oriented programming. Procedure oriented programming is a conventional programming
approach in which the problem is viewed as a sequence of things to be done. The primary focus is
on functions and very little attention is given to the data. In a multi function program data are
placed as global so that they may be accessed by all functions. Global data are more error prone
to an accidental change by a function. Procedural approach also does not model real world
problems [7]. The flaws encountered in the procedural approach are removed through object
oriented approach. Object oriented design treats data as a critical element in the program
development and does not allow it to flow freely around the system. The identified object
oriented design constructs are: Inheritance, Coupling, Cohesion and Encapsulation
100 Computer Science & Information Technology (CS & IT)
Object oriented approach protect data from accidental modification from outside functions
through the mechanism known as encapsulation. Object, classes, data abstraction, encapsulation,
inheritance, polymorphism, dynamic binding and message passing are some of the concepts that
are used extensively in object oriented approach [8]. Inheritance, coupling, cohesion and
encapsulation will be taken as a major construct for establishing a correlation with complexity.
To Identify Reliability Factors: Software reliability is one of the most important factors to
quality. Reliability attributes are being examined through critical review on McCall’s, ISO
9126:200, Dromey’s and Boehm’s quality factors [7][9-11]. Researcher has identified 16 factors
of software reliability including Robustness, Maintainability, Maturity, Flexibility, Fault
Tolerance, Error Tolerance, Device Dependence, Consistency, Correctness, Complexity,
Availability, Accuracy, Recoverability, Simplicity, Usability, and Testability. These factors affect
reliability either negatively or positively [8].
To Consider a Key Factor - Complexity: Among identified 16 factors of reliability, it is found on
the basis of literature survey that high complexity in software makes the system unreliable
[1][3][12-13]. Complexity has negative impact on reliability. As complexity increases, reliability
of the system decreases. Therefore, complexity will be taken as a major factor for estimating
reliability of an object oriented designs [7].
2.2.2 Correlation Phase
Correlation is a statistical relation between two or more variables such that systematic changes in
the value of one variable are accompanied by systematic changes in the other. A statistic
representing how closely two variables co-vary, it can vary from -1 (perfect negative correlation)
through 0 (no correlation) to +1 (perfect positive correlation). Correlation phase in framework to
estimate reliability of OO design complexity perspective includes following two steps:
To Correlate OO Design Constructs with Complexity: Object oriented software is a demand for
every industry, education sector, medical field, banking systems and other many organizations.
Today, most of the software is developed based on object oriented concepts. Coupling, cohesion,
encapsulation and inheritance are the most important object oriented design constructs. In order to
establish a relationship between design construct and complexity, the influence of design
constructs over complexity are being examined through critical review [2][5][10][15-16]. Object
oriented design constructs have an influence on the complexity of a design. When the complexity
increases, the design misunderstandability increases and this misappreciation introduce the faults
and failures that decrease the reliability of object oriented designs [14].
Object oriented design constructs such as inheritance and coupling when high, make the system
harder to understand, more error prone and increase the complexity of the design [18]. Inheritance
and coupling have a positive influence on complexity. On the other hand, cohesion and
encapsulation decreases the complexity of object oriented design [17]. This concludes that higher
the inheritance and coupling in the object oriented design, greater the complexity in the design.
Similarly, higher the cohesion and encapsulation in design, lesser the complexity in the design.
Therefore, object oriented design constructs inheritance, coupling, cohesion and encapsulation
affects complexity of the design whether negatively or positively.
To Correlate Complexity with Reliability: Reliability and complexity are very closely related
with each other. Complexity has been taken as a major factor of reliability in the previous
recognition phase. Reliability is the probability of failure free software operation for a specified
period of time in a specified environment. Software reliability theory is based on the concepts of
failures. The high complexity of software is a major contributing factor for software reliability
problems [1] [18]. It is harder to achieve a certain level of reliability when any system possess
Computer Science & Information Technology (CS & IT) 101
with a higher degree of complexity. Complexity of software is inversely related to software
reliability. Software reliability growth models have been used to detect and describe failure and
faults of software systems. Software failures are caused by unpredictable events [17]. As faults
are found and fixed it is assumed that it decreases reliability of a system. There are several
approaches to estimate reliability of software. Here, reliability will be taken in context of
complexity of object oriented design constructs.
2.2.3 Development Phase
Development phase is the act of improving by expanding or enlarging or refining the phases. The
development phase comprise of following three steps:
To Develop Object Oriented Design Metrics: Metrics are effective tools to measure the software
reliability of object oriented design. The object oriented design metrics will developed by
following the proposed framework, will measure complexity of object oriented design with the
use of object oriented design constructs. Four OO design metrics will be developed for each of
four major identified object oriented design constructs including inheritance, coupling, cohesion
and coupling. On the basis of proposed metrics for object oriented design, quantification of each
metric will be done.
To Develop Complexity Estimation Model (CEM): In order to establish a relationship between
design constructs and reliability attribute complexity, the respective influence of design
constructs on complexity and reliability are being examined on the basis of critical literature
survey [19]. It was observed that each of the design constructs affects complexity and complexity
affects the reliability of object oriented software. The extensive review on object oriented
development, literature reveals that object oriented constructs negatively or positively affects
software complexity and complexity negatively affects software reliability. Researcher will use
object oriented design constructs to estimate the complexity of OO software. Object oriented
design constructs such as high inheritance and coupling positively affect complexity of software
[16]. In same way high cohesion and encapsulation decreases complexity of software. The
proposed metrics will be used for estimating complexity of object oriented design. Complexity of
the design is dependent on OO design metrics. A multiple correlation may be established to
develop the complexity estimation model (CEM) for the design [15].
To Develop Reliability Estimation Model (REM): In order to establish a relationship between
reliability and complexity, the respective influence of relationship between complexity and
reliability are being examined on the basis of literature survey [20-21]. It was observed that
complexity and reliability are closely related with each other and complexity negatively affects
reliability of object oriented software [22]. Researcher will use the complexity of object oriented
design to estimate reliability of software. Highly complex software decreases the reliability of
object oriented design [23]. Reliability of an OO design is dependent on complexity of the design.
A linear correlation may be established to develop the reliability estimation model (REM) for the
object oriented design [15].
2.2.4 Measurement Phase
Measurement is the act or process of assigning numbers to phenomena according to a rule.
Measurement phase includes following three steps:
To Calculate OO Design Metrics: Metric is defined as a system of related measures that
facilitates the quantification of some particular characteristic [24]. According to the fore said
definition of metric, OO design metrics worked as a system of related measures that facilitates the
qualification of each of the indentified OO design constructs. In this step to calculate OO design
102 Computer Science & Information Technology (CS & IT)
metrics the proposed object oriented design metrics are calculated for each of the identified OO
design constructs such as inheritance, coupling, cohesion and encapsulation for an OO design.
To Calculate Complexity Using CEM: Complexity is the quality of being intricate and
compounded [14]. Complexity estimation model is an estimation model that calculates the
approximate value of complexity of an OO design. Complexity estimation model is dependent on
OO design metrics. Object oriented design metrics in respect of inheritance and coupling
positively affect software complexity and cohesion and encapsulation negatively affect
complexity of design i.e. inheritance and coupling perspective metrics increases complexity and
cohesion and encapsulation perspective metrics decreases complexity of the design.
To Calculate Reliability Using REM: Software reliability computation can be difficult to
quantify directly by knowing its related factors98
. Software reliability is affected by several
factors in which complexity will be taken as a key factor to estimate reliability of software.
Complexity negatively affects software reliability. None of the reliability estimation model is
present in literature in respect of complexity [24]. Reliability estimation model estimates the
approximate value of reliability for an OO design. Reliability is dependent on complexity of
design. As complexity increases reliability of the design decreases and vice versa. Here,
reliability estimation model will compute reliability against a case study of an object oriented
design. On the basis of proposed reliability estimation model, quantification of reliability will be
done.
2.2.5 Finalization Phase
Finalization phase is the fifth phase in the framework. In this phase the framework has been
finalized. Finalization phase includes following three steps:
To Analyze Metrics Values: Measurement phase involves in the calculation of OO design metrics
against each of the identified object oriented design constructs for an OO design hierarchy. In
finalization phase each of the proposed OO design metrics will analyzed thoroughly. The analysis
of the OO design metrics will provide the insight about the metrics. On the basis of analysis, it is
found that inheritance and coupling metric (IMC and CMC) increases complexity and metrics
COMC and EMC decreases complexity of an object oriented design. This means that, high
inheritance and coupling increases the complexity. On other hand, high cohesion and
encapsulation has decreases the complexity of the design. Therefore, resulting values of
complexity are more than the values of reliability. It concludes that higher the complexity of the
design, lesser is the reliability in the design. The results of the analysis of the OO design metrics
will used to produce the guidelines for improvement of reliability for object oriented design.
To Develop Suggestive Measures: In finalization phase Reliability Improvement Guidelines for
Object Oriented Design (RIG-OOD) has been developed. On the basis of reliability improvement
guidelines, finalization phase implements the suggestive measures and changes in OO design
metrics. Reliability improvement guidelines are the safety measures that are taken in advance to
protect the design against possible failures and high complexity. RIG-OOD is used to follow for
minimization of complexity and improvement of reliability in the design of object oriented
software. The guidelines will help to adjust the metric values by adjusting the object oriented
design constructs to improve reliability of the design and minimize the complexity of the software
design.
To Finalize the Framework: The last phase of reliability estimation framework complexity
perspective is the finalization phase. Finalization phase finalizes the whole framework. To
finalize the framework step, incorporates the changes, and suggestive measures for the
finalization of OO design metrics and models. On the basis of RIG-OOD, the appropriate changes
Computer Science & Information Technology (CS & IT) 103
need to implement in the metrics and models are done in this phase. After implementing the RIG-
OOD one can come up with reliable end products. The framework is finalized after thorough
review and revision.
2.3 Review and Revision
Review and revision is the additional phase of the reliability estimation framework of object
oriented design complexity perspective. In this phase all the phases of framework are reviewed
and revised. Final suggestions and improvements are incorporated in this phase. This phase is free
to enter at any phase of reliability estimation framework complexity perspective. Review and
revision can be done at any phase of software reliability estimation and the changes occurred at
any stage may implement during the review and revision at any phase of the framework.
3. FRAMEWORK SIGNIFICANCE
The framework has the following significance:
• Framework may help to detect and minimize the complexity of software design at the early
stage of software development.
• It may help to find the effect of object oriented design constructs over the software
complexity estimation.
• It may help to determine the effect of complexity of object oriented design over the
estimation of software reliability.
• It may help to develop alternative object oriented designs.
• It may help to find out which design of two versions of object oriented software is more
reliable than the older one.
• It may help to find out which object oriented design is more complex among designs of
different software.
4. CONCLUSION
A reliability estimation framework for OO design complexity perspective has been developed in
this paper. The proposed framework correlates the object oriented design constructs with
complexity and also correlates complexity with reliability. No such framework has been available
in the literature that estimates software reliability of OO design by taking complexity into
consideration. The framework bridges the gap between object oriented design constructs,
complexity and reliability. Framework measures and minimizes the complexity of software
design at the early stage of software development life cycle leading to a reliable end product.
Reliability and complexity estimation models have been proposed by following the proposed
framework. Complexity estimation model has been developed which takes OO design constructs
into consideration and proposed reliability estimation models take complexity in consideration for
estimating reliability of OO design. Framework enables to answer the questions like ‘Can
complexity be taken as key factor to reliability?’ How object oriented design constructs and
complexity are related with each other? ’, ‘which design constructs are responsible in increasing
and decreasing complexity of OO design?’
REFERENCES
[1] K. G. Popstojanova & K. S. Trivedi,(2000) “Failure correlation in software reliability models”, IEEE
Transactions on Reliability, Vol. 49, NO. 1, pp: 37-48.
[2] Y. Singh, A. Kaur & R. Malhotra, (2009) “Empirical validation of object-oriented metrics for
predicting fault proneness models”, Software Quality Journal, Springer, Science Business Media, pp:
1-35.
104 Computer Science & Information Technology (CS & IT)
[3] N. Sharygina, J. C. Browne, & R. P. Kurshan,(2011) “A formal object-oriented analysis for software
reliability: design for verification”, pp: 1-15.
[4] T. Zimmermann,(2009) ”Changes and bugs – mining and predicting development activities”, Proc.
ICSM 2009, IEEE, pp: 443-446.
[5] W. W. Schilling & M. Alam, (2006) “Modeling the reliability of existing software using static
analysis”, IEEE International Conference on Electro/information Technology, pp: 366-371.
[6] A. Yadav & R. A. Khan, “Identifying Relationship Between Reliability Factors & OO Design
Constructs”, 4th International Conference on Advanced Computing & Communication Technologies
(ICACCT–2010), pp:711-713.
[7] K. Khosravi & Y.G. Aelueheneuc,(2004) ―A quality model for design patterns”, pp: 1-107.
[8] A. Yadav and R. A. Khan,(2010) “Bridging the gap between design constructs and reliability
factors”, CSI Communication, Vol. 33, No. 12, March 2010, pp: 29-32, ISSN 0970-647X.
[9] H. Astudillo,(2005) “Five ontological levels to describe and evaluate software architectures”, Vol.
13, No. 1, pp: 69-76.
[10] E. Emam, & K. Melo, (1999) “The prediction of faulty classes using object oriented design metrics”
National Research Council of Canada, pp:1-25.
[11] A. M. A. Khouri, (2007) “Using quality models to evaluate national id systems: the case of the
UAE”, Proc. of World Academy of Science, Engineering and Technology Vol. 21, pp: 400-414.
[12] S. Misra, I. Akman & M. Koyuncu, (2011) “An inheritance complexity metric for OO code : A
cognitive approach”, Indian Academy of Sciences,Vol. 36, No. 3, pp. 317–337.
[13] M. R. Lyu, (1994) ”Software reliability: to use or not to use?”, 5th International Symposium on
Software Reliability Engineering, Proceedings, pp: 66 – 73.
[14] S. Gaudan, G. M. & G. Auriol, (2007) “A new structural complexity metrics applied to Object
Oriented design reliability assessment”.
[15] S. K. Chandran, A. Dimov & S. Punnekkat , (2010) “Modeling uncertainties in the estimation of
software reliability – a pragmatic approach”, IEEE International Conference on Secure Software
Integration and Reliability Improvement, IEEE computer society, pp: 227- 236.
[16] A. Yadav & R. A. Khan,(2009) “Complexity: a reliability factor”, IEEE International Advance
Computing Conference (IACC’09), Thapar University, Patiala, pp: 2375-2375.
[17] A. Yadav & R. A. Khan, (2012)“Development of encapsulated class complexity metric”, Computer,
Communication, Control and Information Technology, Elesvier, Science Direct, pp: 22, 2012, ISBN:
938081315-5.
[18] Z. Shouwei & L. Zhizhou, (2009) “Integrated evaluation model of software reliability based on
multi-information”, World Congress on Software Engineering, pp: 411- 414.
[19] Y. C. Q. Zhu,(2008) “Improved metrics for encapsulation based on information hiding”, The 9th
International Conference for Young Computer Scientists, IEEE computer society pp: 742-724,
ISBN: 978-0-7695-3398-8, DOI:10.1109/ICYCS.2008.76.
[20] M. R. Lyu,(2007) “Software reliability engineering: a road map, Future of Software Engineering”,
pp: 153 – 170, ISBN: 0-7695-2829-5, DOI:10.1109/FOSE.2007.24.
[21] A. Yadav & R. A. Khan,(2011) “Coupling complexity normalization metric-an object oriented
perspective”, International Journal of Information Technology & Knowledge Management, Impact
Factor 0.475, Vol. 4, No. 2, pp. 501-509, ISBN:0973-4414.
[22] L. Fiondella & S. S. Gokhale,(2011) “Software reliability model with bathtubshaped fault detection
rate”, Reliability and Maintainability Symposium (RAMS) Proceedings.
[23] E. E. Mills,(1988) “Software metrics”, SEI Curriculum Module SEI-CM-12-1.1,Carnegie Mellon
University Software Engineering Institute, pp: 1- 43.
[24] A. Yadav & R. A. Khan, (2011) “Class cohesion complexity metric (C3M)”,IEEE International
Conference on Computer & Communication Technology (ICCCT-2011), IEEE Explorer, pp:363 –
366, ISBN: 978-1-4577-1385-9, DOI: 10.1109/ICCCT.2011.6075152.
Author
Mrs. Amitabha Yadav is working as Sr. Lecturer
in the Dept. of Computer Application, Shri
RamSwaroop Meomorial Group of Professional
Colleges, Lucknow. UP. Her research area is
Software Reliability.

More Related Content

What's hot (19)

PDF
A User Story Quality Measurement Model for Reducing Agile Software Developmen...
ijseajournal
 
PDF
Ijsea04021003
Editor IJCATR
 
DOC
Print report
Ved Prakash
 
DOC
Lightweight Processes: A Definition
Glen Alleman
 
PDF
An interactive approach to requirements prioritization using quality factors
ijfcstjournal
 
DOCX
How Should We Estimate Agile Software Development Projects and What Data Do W...
Glen Alleman
 
PDF
Software metrics validation
ijseajournal
 
PDF
David vernon software_engineering_notes
mitthudwivedi
 
PDF
Thesis Part I EMGT 698
Karthik Murali
 
PPTX
Ch24 quality management
software-engineering-book
 
PDF
Requirements Analysis and Design in the Context of Various Software Developme...
zillesubhan
 
PDF
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...
ijseajournal
 
PDF
STRATEGIES TO REDUCE REWORK IN SOFTWARE DEVELOPMENT ON AN ORGANISATION IN MAU...
ijseajournal
 
PDF
IRJET- A Study on Software Reliability Models
IRJET Journal
 
PDF
Safety-driven Software Product Line architectures Design, A Survey Paper
Editor IJCATR
 
PDF
Se solns 9th edition
rajabaidyo
 
PDF
Using Quality Models to Evaluate National ID Systems: the Case of the UAE
Arab Federation for Digital Economy
 
PDF
Ijetcas14 340
Iasir Journals
 
PPTX
Ch11 reliability engineering
software-engineering-book
 
A User Story Quality Measurement Model for Reducing Agile Software Developmen...
ijseajournal
 
Ijsea04021003
Editor IJCATR
 
Print report
Ved Prakash
 
Lightweight Processes: A Definition
Glen Alleman
 
An interactive approach to requirements prioritization using quality factors
ijfcstjournal
 
How Should We Estimate Agile Software Development Projects and What Data Do W...
Glen Alleman
 
Software metrics validation
ijseajournal
 
David vernon software_engineering_notes
mitthudwivedi
 
Thesis Part I EMGT 698
Karthik Murali
 
Ch24 quality management
software-engineering-book
 
Requirements Analysis and Design in the Context of Various Software Developme...
zillesubhan
 
SOFTWARE REQUIREMENT CHANGE EFFORT ESTIMATION MODEL PROTOTYPE TOOL FOR SOFTWA...
ijseajournal
 
STRATEGIES TO REDUCE REWORK IN SOFTWARE DEVELOPMENT ON AN ORGANISATION IN MAU...
ijseajournal
 
IRJET- A Study on Software Reliability Models
IRJET Journal
 
Safety-driven Software Product Line architectures Design, A Survey Paper
Editor IJCATR
 
Se solns 9th edition
rajabaidyo
 
Using Quality Models to Evaluate National ID Systems: the Case of the UAE
Arab Federation for Digital Economy
 
Ijetcas14 340
Iasir Journals
 
Ch11 reliability engineering
software-engineering-book
 

Similar to RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVE (20)

PDF
Evaluating effectiveness factor of object oriented design a testability pers...
ijseajournal
 
PDF
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
ijseajournal
 
PDF
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IJCSEA Journal
 
PDF
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IJCSEA Journal
 
PDF
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
ijseajournal
 
PDF
A Survey of Software Reliability factor
IOSR Journals
 
PDF
Evaluation of the software architecture styles from maintainability viewpoint
csandit
 
PDF
EVALUATION OF THE SOFTWARE ARCHITECTURE STYLES FROM MAINTAINABILITY VIEWPOINT
cscpconf
 
PDF
Class quality evaluation using class quality
IAEME Publication
 
PDF
Class quality evaluation using class quality scorecards
IAEME Publication
 
PDF
1841 1843
Editor IJARCET
 
PDF
1841 1843
Editor IJARCET
 
PDF
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...
CSCJournals
 
PDF
Ijcatr04051006
Editor IJCATR
 
PDF
Testability measurement model for object oriented design (tmmood)
ijcsit
 
DOCX
Running head APPLICATIONS RELATIVE TO COURSE OBJECTIVES .docx
toddr4
 
PDF
DESQA a Software Quality Assurance Framework
IJERA Editor
 
PDF
AN EXTENDED SECURITY MEASUREMENT FRAMEWORK FOR OPEN-SOURCE ENTERPRISE RESOURC...
IJNSA Journal
 
PDF
Iv2515741577
IJERA Editor
 
PDF
Iv2515741577
IJERA Editor
 
Evaluating effectiveness factor of object oriented design a testability pers...
ijseajournal
 
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
ijseajournal
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IJCSEA Journal
 
IMPLEMENTATION OF DYNAMIC COUPLING MEASUREMENT OF DISTRIBUTED OBJECT ORIENTED...
IJCSEA Journal
 
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...
ijseajournal
 
A Survey of Software Reliability factor
IOSR Journals
 
Evaluation of the software architecture styles from maintainability viewpoint
csandit
 
EVALUATION OF THE SOFTWARE ARCHITECTURE STYLES FROM MAINTAINABILITY VIEWPOINT
cscpconf
 
Class quality evaluation using class quality
IAEME Publication
 
Class quality evaluation using class quality scorecards
IAEME Publication
 
1841 1843
Editor IJARCET
 
1841 1843
Editor IJARCET
 
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...
CSCJournals
 
Ijcatr04051006
Editor IJCATR
 
Testability measurement model for object oriented design (tmmood)
ijcsit
 
Running head APPLICATIONS RELATIVE TO COURSE OBJECTIVES .docx
toddr4
 
DESQA a Software Quality Assurance Framework
IJERA Editor
 
AN EXTENDED SECURITY MEASUREMENT FRAMEWORK FOR OPEN-SOURCE ENTERPRISE RESOURC...
IJNSA Journal
 
Iv2515741577
IJERA Editor
 
Iv2515741577
IJERA Editor
 
Ad

More from cscpconf (20)

PDF
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
cscpconf
 
PDF
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
cscpconf
 
PDF
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
cscpconf
 
PDF
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
cscpconf
 
PDF
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
cscpconf
 
PDF
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
cscpconf
 
PDF
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
cscpconf
 
PDF
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
cscpconf
 
PDF
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
cscpconf
 
PDF
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
cscpconf
 
PDF
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
cscpconf
 
PDF
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
cscpconf
 
PDF
AUTOMATED PENETRATION TESTING: AN OVERVIEW
cscpconf
 
PDF
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
cscpconf
 
PDF
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
cscpconf
 
PDF
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
cscpconf
 
PDF
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
cscpconf
 
PDF
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
cscpconf
 
PDF
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
cscpconf
 
PDF
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
cscpconf
 
ANALYSIS OF LAND SURFACE DEFORMATION GRADIENT BY DINSAR
cscpconf
 
4D AUTOMATIC LIP-READING FOR SPEAKER'S FACE IDENTIFCATION
cscpconf
 
MOVING FROM WATERFALL TO AGILE PROCESS IN SOFTWARE ENGINEERING CAPSTONE PROJE...
cscpconf
 
PROMOTING STUDENT ENGAGEMENT USING SOCIAL MEDIA TECHNOLOGIES
cscpconf
 
A SURVEY ON QUESTION ANSWERING SYSTEMS: THE ADVANCES OF FUZZY LOGIC
cscpconf
 
DYNAMIC PHONE WARPING – A METHOD TO MEASURE THE DISTANCE BETWEEN PRONUNCIATIONS
cscpconf
 
INTELLIGENT ELECTRONIC ASSESSMENT FOR SUBJECTIVE EXAMS
cscpconf
 
TWO DISCRETE BINARY VERSIONS OF AFRICAN BUFFALO OPTIMIZATION METAHEURISTIC
cscpconf
 
DETECTION OF ALGORITHMICALLY GENERATED MALICIOUS DOMAIN
cscpconf
 
GLOBAL MUSIC ASSET ASSURANCE DIGITAL CURRENCY: A DRM SOLUTION FOR STREAMING C...
cscpconf
 
IMPORTANCE OF VERB SUFFIX MAPPING IN DISCOURSE TRANSLATION SYSTEM
cscpconf
 
EXACT SOLUTIONS OF A FAMILY OF HIGHER-DIMENSIONAL SPACE-TIME FRACTIONAL KDV-T...
cscpconf
 
AUTOMATED PENETRATION TESTING: AN OVERVIEW
cscpconf
 
CLASSIFICATION OF ALZHEIMER USING fMRI DATA AND BRAIN NETWORK
cscpconf
 
VALIDATION METHOD OF FUZZY ASSOCIATION RULES BASED ON FUZZY FORMAL CONCEPT AN...
cscpconf
 
PROBABILITY BASED CLUSTER EXPANSION OVERSAMPLING TECHNIQUE FOR IMBALANCED DATA
cscpconf
 
CHARACTER AND IMAGE RECOGNITION FOR DATA CATALOGING IN ECOLOGICAL RESEARCH
cscpconf
 
SOCIAL MEDIA ANALYTICS FOR SENTIMENT ANALYSIS AND EVENT DETECTION IN SMART CI...
cscpconf
 
SOCIAL NETWORK HATE SPEECH DETECTION FOR AMHARIC LANGUAGE
cscpconf
 
GENERAL REGRESSION NEURAL NETWORK BASED POS TAGGING FOR NEPALI TEXT
cscpconf
 
Ad

Recently uploaded (20)

PPTX
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PPTX
Explorando Recursos do Summer '25: Dicas Essenciais - 02
Mauricio Alexandre Silva
 
PPTX
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
PDF
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
PPTX
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
PDF
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
PDF
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
PPTX
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
PPTX
HEAD INJURY IN CHILDREN: NURSING MANAGEMENGT.pptx
PRADEEP ABOTHU
 
PDF
Federal dollars withheld by district, charter, grant recipient
Mebane Rash
 
PPTX
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
PPTX
How to Define Translation to Custom Module And Add a new language in Odoo 18
Celine George
 
PPTX
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
PPSX
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
PDF
community health nursing question paper 2.pdf
Prince kumar
 
PDF
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PDF
CEREBRAL PALSY: NURSING MANAGEMENT .pdf
PRADEEP ABOTHU
 
PPTX
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
PDF
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - GLOBAL SUCCESS - CẢ NĂM - NĂM 2024 (VOCABULARY, ...
Nguyen Thanh Tu Collection
 
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
Explorando Recursos do Summer '25: Dicas Essenciais - 02
Mauricio Alexandre Silva
 
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
HEAD INJURY IN CHILDREN: NURSING MANAGEMENGT.pptx
PRADEEP ABOTHU
 
Federal dollars withheld by district, charter, grant recipient
Mebane Rash
 
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
How to Define Translation to Custom Module And Add a new language in Odoo 18
Celine George
 
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
community health nursing question paper 2.pdf
Prince kumar
 
Zoology (Animal Physiology) practical Manual
raviralanaresh2
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
CEREBRAL PALSY: NURSING MANAGEMENT .pdf
PRADEEP ABOTHU
 
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - GLOBAL SUCCESS - CẢ NĂM - NĂM 2024 (VOCABULARY, ...
Nguyen Thanh Tu Collection
 

RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVE

  • 1. Sundarapandian et al. (Eds): ICAITA, SAI, SEAS, CDKP, CMCA, CS & IT 08, pp. 97–104, 2012. © CS & IT-CSCP 2012 DOI : 10.5121/csit.2012.2509 RELIABILITY ESTIMATION FRAMEWORK -COMPLEXITY PERSPECTIVE- Amitabha Yadav1 and R.A. Khan2 1 Department of Computer Application, SRMGPC, Lucknow, UP, India [email protected] 2 Department of I.T, BBA University,Lucknow,UP,India [email protected] ABSTRACT A reliability estimation framework for OO design complexity perspective has been developed in this paper. The proposed framework correlates the object oriented design constructs with complexity and also correlates complexity with reliability. No such framework has been available in the literature that estimates software reliability of OO design by taking complexity into consideration. The framework bridges the gap between object oriented design constructs, complexity and reliability. Framework measures and minimizes the complexity of software design at the early stage of software development life cycle leading to a reliable end product. Reliability and complexity estimation models have been proposed by following the proposed framework. Complexity estimation model has been developed which takes OO design constructs into consideration and proposed reliability estimation models take complexity in consideration for estimating reliability of OO design. KEYWORDS Framework, complexity, reliability. 1. BACKGROUND Over 200 models have been developed since the early 1970s, but how to quantify software reliability still remains largely unsolved. Software reliability has emerged as people try to understand the characteristics of how and why software fails, and try to quantify software reliability. Software failures surround in between three major ingredients i.e. failures, time and operational environment. Following figure 1.1(a) shows the relation between error, faults and failures. In terms of software reliability, error is a computer programmer action or hops that result in a fault. A fault is a software defect that causes failure. A failure is the inability of a system or component to perform a required function according to its specification. Software failures occur if the behaviour of the software differs from the specified behaviour of the software. A failure in the software design makes the system difficult to understand and increases the complexity [1]. High complex system will be high error prone and makes the system more unreliable. There are several approaches to makes the system more reliable. Among those approaches object oriented design is one of the important approach to estimate reliability in respect of complexity. Object oriented design and development are popular conceptions in today’s software development scenario. Object oriented design heralds itself as an important tool for solving most of the software problems [2]. In an object oriented approach, the data is treated as the most important element and it cannot flow freely around the system. Restrictions are placed that can manipulate the data. Object oriented approach binds the data and the methods to prevent by unauthorized
  • 2. 98 Computer Science & Information Technology (CS & IT) access. Object oriented design supports design constructs such as encapsulation, inheritance, coupling and cohesion [3]. The data members and methods encapsulated with in a class and interaction among them is done only through the interface provided by encapsulation whether it is public or private or protected. Reusability of classes is the main feature of object oriented approach. Due to these object oriented design constructs it is easy to design a class hierarchy, easy to understand and easy to make a design structure. This is all done by minimizing or maximizing the OO design constructs according to the need of customer [4]. It is possible to get good software which is good in quality, feasible with cost wise, less effort and reliable. Forgoing discussion encourages the researcher to develop a framework. 2. RELIABILITY ESTIMATION FRAMEWORK Software reliability estimation is an activity that determines current reliability by applying statistical inference technique to failure data obtained during system test or system operation. Reliability estimation framework of an object oriented design believes that measurement is a tool for measuring the effectiveness of any estimation activity [5]. Software reliability measurement includes both estimation and prediction with the help of software reliability models [6]. The measurement models are also called software reliability growth models. Most of the current software reliability models and metrics are discussed in researcher’s previous papers. For the purpose, reliability estimation framework integrates the measurement phase along with other phase of reliability estimation. 2.1. Premises A framework is a hypothetical description of a complex process. It provides a factual base for future research. The framework for reliability estimation of object oriented design has the following assumptions: • Reliability of an object oriented design is affected by several factors, in which complexity is taken as a major factor. • Complexity of OO design is affected by object oriented design constructs. • Reliability of an OO design is affected by complexity of an object oriented design. • The framework estimate the reliability by controlling complexity of object oriented designs • One can choose any of the given reliability factor to estimate reliability of OO design. Figure 1.1(a) Software failure life cycle
  • 3. Computer Science & Information Technology (CS & IT) 99 2.2 The framework The proposed framework for reliability estimation of object oriented design comprises of following five phases (as shown in figure-2.2.2): Recognition Phase, Correlation Phase, Development Phase, Measurement Phase and Finalization Phase. In the recognition phase, the relevant object oriented design constructs, software reliability attributes, complexity as key factor to reliability has been identified. In the second phase, i.e. correlation phase, correlation between object oriented design constructs with complexity, relation between complexity and reliability and their impact on each other has been established. In development phase, metrics are developed for each of the identified object oriented design constructs such as inheritance, coupling, cohesion and encapsulation. Complexity estimation model (CEM) and reliability estimation model (REM) is also developed in the development phase. The measurement phase involves in the calculation of OO design metrics, complexity estimation model and reliability estimation model. Reliability is estimated with the use of complexity. Finalization phase involves in the analysis of OO design metrics, development of suggestive measures and finalization of framework. Finally, on the basis of the review, the whole approach is revised, if needed. Figure 2.2.2 (a) Framework to estimate reliability of OO design: complexity perspective 2.2.1 Recognition Phase The main aim of software reliability estimation framework is to estimate reliability of an object oriented design by controlling design constructs in respect of complexity. For this purpose, recognition phase involves: To Identify OO Design Constructs: Object oriented design overcomes the drawback of procedure oriented programming. Procedure oriented programming is a conventional programming approach in which the problem is viewed as a sequence of things to be done. The primary focus is on functions and very little attention is given to the data. In a multi function program data are placed as global so that they may be accessed by all functions. Global data are more error prone to an accidental change by a function. Procedural approach also does not model real world problems [7]. The flaws encountered in the procedural approach are removed through object oriented approach. Object oriented design treats data as a critical element in the program development and does not allow it to flow freely around the system. The identified object oriented design constructs are: Inheritance, Coupling, Cohesion and Encapsulation
  • 4. 100 Computer Science & Information Technology (CS & IT) Object oriented approach protect data from accidental modification from outside functions through the mechanism known as encapsulation. Object, classes, data abstraction, encapsulation, inheritance, polymorphism, dynamic binding and message passing are some of the concepts that are used extensively in object oriented approach [8]. Inheritance, coupling, cohesion and encapsulation will be taken as a major construct for establishing a correlation with complexity. To Identify Reliability Factors: Software reliability is one of the most important factors to quality. Reliability attributes are being examined through critical review on McCall’s, ISO 9126:200, Dromey’s and Boehm’s quality factors [7][9-11]. Researcher has identified 16 factors of software reliability including Robustness, Maintainability, Maturity, Flexibility, Fault Tolerance, Error Tolerance, Device Dependence, Consistency, Correctness, Complexity, Availability, Accuracy, Recoverability, Simplicity, Usability, and Testability. These factors affect reliability either negatively or positively [8]. To Consider a Key Factor - Complexity: Among identified 16 factors of reliability, it is found on the basis of literature survey that high complexity in software makes the system unreliable [1][3][12-13]. Complexity has negative impact on reliability. As complexity increases, reliability of the system decreases. Therefore, complexity will be taken as a major factor for estimating reliability of an object oriented designs [7]. 2.2.2 Correlation Phase Correlation is a statistical relation between two or more variables such that systematic changes in the value of one variable are accompanied by systematic changes in the other. A statistic representing how closely two variables co-vary, it can vary from -1 (perfect negative correlation) through 0 (no correlation) to +1 (perfect positive correlation). Correlation phase in framework to estimate reliability of OO design complexity perspective includes following two steps: To Correlate OO Design Constructs with Complexity: Object oriented software is a demand for every industry, education sector, medical field, banking systems and other many organizations. Today, most of the software is developed based on object oriented concepts. Coupling, cohesion, encapsulation and inheritance are the most important object oriented design constructs. In order to establish a relationship between design construct and complexity, the influence of design constructs over complexity are being examined through critical review [2][5][10][15-16]. Object oriented design constructs have an influence on the complexity of a design. When the complexity increases, the design misunderstandability increases and this misappreciation introduce the faults and failures that decrease the reliability of object oriented designs [14]. Object oriented design constructs such as inheritance and coupling when high, make the system harder to understand, more error prone and increase the complexity of the design [18]. Inheritance and coupling have a positive influence on complexity. On the other hand, cohesion and encapsulation decreases the complexity of object oriented design [17]. This concludes that higher the inheritance and coupling in the object oriented design, greater the complexity in the design. Similarly, higher the cohesion and encapsulation in design, lesser the complexity in the design. Therefore, object oriented design constructs inheritance, coupling, cohesion and encapsulation affects complexity of the design whether negatively or positively. To Correlate Complexity with Reliability: Reliability and complexity are very closely related with each other. Complexity has been taken as a major factor of reliability in the previous recognition phase. Reliability is the probability of failure free software operation for a specified period of time in a specified environment. Software reliability theory is based on the concepts of failures. The high complexity of software is a major contributing factor for software reliability problems [1] [18]. It is harder to achieve a certain level of reliability when any system possess
  • 5. Computer Science & Information Technology (CS & IT) 101 with a higher degree of complexity. Complexity of software is inversely related to software reliability. Software reliability growth models have been used to detect and describe failure and faults of software systems. Software failures are caused by unpredictable events [17]. As faults are found and fixed it is assumed that it decreases reliability of a system. There are several approaches to estimate reliability of software. Here, reliability will be taken in context of complexity of object oriented design constructs. 2.2.3 Development Phase Development phase is the act of improving by expanding or enlarging or refining the phases. The development phase comprise of following three steps: To Develop Object Oriented Design Metrics: Metrics are effective tools to measure the software reliability of object oriented design. The object oriented design metrics will developed by following the proposed framework, will measure complexity of object oriented design with the use of object oriented design constructs. Four OO design metrics will be developed for each of four major identified object oriented design constructs including inheritance, coupling, cohesion and coupling. On the basis of proposed metrics for object oriented design, quantification of each metric will be done. To Develop Complexity Estimation Model (CEM): In order to establish a relationship between design constructs and reliability attribute complexity, the respective influence of design constructs on complexity and reliability are being examined on the basis of critical literature survey [19]. It was observed that each of the design constructs affects complexity and complexity affects the reliability of object oriented software. The extensive review on object oriented development, literature reveals that object oriented constructs negatively or positively affects software complexity and complexity negatively affects software reliability. Researcher will use object oriented design constructs to estimate the complexity of OO software. Object oriented design constructs such as high inheritance and coupling positively affect complexity of software [16]. In same way high cohesion and encapsulation decreases complexity of software. The proposed metrics will be used for estimating complexity of object oriented design. Complexity of the design is dependent on OO design metrics. A multiple correlation may be established to develop the complexity estimation model (CEM) for the design [15]. To Develop Reliability Estimation Model (REM): In order to establish a relationship between reliability and complexity, the respective influence of relationship between complexity and reliability are being examined on the basis of literature survey [20-21]. It was observed that complexity and reliability are closely related with each other and complexity negatively affects reliability of object oriented software [22]. Researcher will use the complexity of object oriented design to estimate reliability of software. Highly complex software decreases the reliability of object oriented design [23]. Reliability of an OO design is dependent on complexity of the design. A linear correlation may be established to develop the reliability estimation model (REM) for the object oriented design [15]. 2.2.4 Measurement Phase Measurement is the act or process of assigning numbers to phenomena according to a rule. Measurement phase includes following three steps: To Calculate OO Design Metrics: Metric is defined as a system of related measures that facilitates the quantification of some particular characteristic [24]. According to the fore said definition of metric, OO design metrics worked as a system of related measures that facilitates the qualification of each of the indentified OO design constructs. In this step to calculate OO design
  • 6. 102 Computer Science & Information Technology (CS & IT) metrics the proposed object oriented design metrics are calculated for each of the identified OO design constructs such as inheritance, coupling, cohesion and encapsulation for an OO design. To Calculate Complexity Using CEM: Complexity is the quality of being intricate and compounded [14]. Complexity estimation model is an estimation model that calculates the approximate value of complexity of an OO design. Complexity estimation model is dependent on OO design metrics. Object oriented design metrics in respect of inheritance and coupling positively affect software complexity and cohesion and encapsulation negatively affect complexity of design i.e. inheritance and coupling perspective metrics increases complexity and cohesion and encapsulation perspective metrics decreases complexity of the design. To Calculate Reliability Using REM: Software reliability computation can be difficult to quantify directly by knowing its related factors98 . Software reliability is affected by several factors in which complexity will be taken as a key factor to estimate reliability of software. Complexity negatively affects software reliability. None of the reliability estimation model is present in literature in respect of complexity [24]. Reliability estimation model estimates the approximate value of reliability for an OO design. Reliability is dependent on complexity of design. As complexity increases reliability of the design decreases and vice versa. Here, reliability estimation model will compute reliability against a case study of an object oriented design. On the basis of proposed reliability estimation model, quantification of reliability will be done. 2.2.5 Finalization Phase Finalization phase is the fifth phase in the framework. In this phase the framework has been finalized. Finalization phase includes following three steps: To Analyze Metrics Values: Measurement phase involves in the calculation of OO design metrics against each of the identified object oriented design constructs for an OO design hierarchy. In finalization phase each of the proposed OO design metrics will analyzed thoroughly. The analysis of the OO design metrics will provide the insight about the metrics. On the basis of analysis, it is found that inheritance and coupling metric (IMC and CMC) increases complexity and metrics COMC and EMC decreases complexity of an object oriented design. This means that, high inheritance and coupling increases the complexity. On other hand, high cohesion and encapsulation has decreases the complexity of the design. Therefore, resulting values of complexity are more than the values of reliability. It concludes that higher the complexity of the design, lesser is the reliability in the design. The results of the analysis of the OO design metrics will used to produce the guidelines for improvement of reliability for object oriented design. To Develop Suggestive Measures: In finalization phase Reliability Improvement Guidelines for Object Oriented Design (RIG-OOD) has been developed. On the basis of reliability improvement guidelines, finalization phase implements the suggestive measures and changes in OO design metrics. Reliability improvement guidelines are the safety measures that are taken in advance to protect the design against possible failures and high complexity. RIG-OOD is used to follow for minimization of complexity and improvement of reliability in the design of object oriented software. The guidelines will help to adjust the metric values by adjusting the object oriented design constructs to improve reliability of the design and minimize the complexity of the software design. To Finalize the Framework: The last phase of reliability estimation framework complexity perspective is the finalization phase. Finalization phase finalizes the whole framework. To finalize the framework step, incorporates the changes, and suggestive measures for the finalization of OO design metrics and models. On the basis of RIG-OOD, the appropriate changes
  • 7. Computer Science & Information Technology (CS & IT) 103 need to implement in the metrics and models are done in this phase. After implementing the RIG- OOD one can come up with reliable end products. The framework is finalized after thorough review and revision. 2.3 Review and Revision Review and revision is the additional phase of the reliability estimation framework of object oriented design complexity perspective. In this phase all the phases of framework are reviewed and revised. Final suggestions and improvements are incorporated in this phase. This phase is free to enter at any phase of reliability estimation framework complexity perspective. Review and revision can be done at any phase of software reliability estimation and the changes occurred at any stage may implement during the review and revision at any phase of the framework. 3. FRAMEWORK SIGNIFICANCE The framework has the following significance: • Framework may help to detect and minimize the complexity of software design at the early stage of software development. • It may help to find the effect of object oriented design constructs over the software complexity estimation. • It may help to determine the effect of complexity of object oriented design over the estimation of software reliability. • It may help to develop alternative object oriented designs. • It may help to find out which design of two versions of object oriented software is more reliable than the older one. • It may help to find out which object oriented design is more complex among designs of different software. 4. CONCLUSION A reliability estimation framework for OO design complexity perspective has been developed in this paper. The proposed framework correlates the object oriented design constructs with complexity and also correlates complexity with reliability. No such framework has been available in the literature that estimates software reliability of OO design by taking complexity into consideration. The framework bridges the gap between object oriented design constructs, complexity and reliability. Framework measures and minimizes the complexity of software design at the early stage of software development life cycle leading to a reliable end product. Reliability and complexity estimation models have been proposed by following the proposed framework. Complexity estimation model has been developed which takes OO design constructs into consideration and proposed reliability estimation models take complexity in consideration for estimating reliability of OO design. Framework enables to answer the questions like ‘Can complexity be taken as key factor to reliability?’ How object oriented design constructs and complexity are related with each other? ’, ‘which design constructs are responsible in increasing and decreasing complexity of OO design?’ REFERENCES [1] K. G. Popstojanova & K. S. Trivedi,(2000) “Failure correlation in software reliability models”, IEEE Transactions on Reliability, Vol. 49, NO. 1, pp: 37-48. [2] Y. Singh, A. Kaur & R. Malhotra, (2009) “Empirical validation of object-oriented metrics for predicting fault proneness models”, Software Quality Journal, Springer, Science Business Media, pp: 1-35.
  • 8. 104 Computer Science & Information Technology (CS & IT) [3] N. Sharygina, J. C. Browne, & R. P. Kurshan,(2011) “A formal object-oriented analysis for software reliability: design for verification”, pp: 1-15. [4] T. Zimmermann,(2009) ”Changes and bugs – mining and predicting development activities”, Proc. ICSM 2009, IEEE, pp: 443-446. [5] W. W. Schilling & M. Alam, (2006) “Modeling the reliability of existing software using static analysis”, IEEE International Conference on Electro/information Technology, pp: 366-371. [6] A. Yadav & R. A. Khan, “Identifying Relationship Between Reliability Factors & OO Design Constructs”, 4th International Conference on Advanced Computing & Communication Technologies (ICACCT–2010), pp:711-713. [7] K. Khosravi & Y.G. Aelueheneuc,(2004) ―A quality model for design patterns”, pp: 1-107. [8] A. Yadav and R. A. Khan,(2010) “Bridging the gap between design constructs and reliability factors”, CSI Communication, Vol. 33, No. 12, March 2010, pp: 29-32, ISSN 0970-647X. [9] H. Astudillo,(2005) “Five ontological levels to describe and evaluate software architectures”, Vol. 13, No. 1, pp: 69-76. [10] E. Emam, & K. Melo, (1999) “The prediction of faulty classes using object oriented design metrics” National Research Council of Canada, pp:1-25. [11] A. M. A. Khouri, (2007) “Using quality models to evaluate national id systems: the case of the UAE”, Proc. of World Academy of Science, Engineering and Technology Vol. 21, pp: 400-414. [12] S. Misra, I. Akman & M. Koyuncu, (2011) “An inheritance complexity metric for OO code : A cognitive approach”, Indian Academy of Sciences,Vol. 36, No. 3, pp. 317–337. [13] M. R. Lyu, (1994) ”Software reliability: to use or not to use?”, 5th International Symposium on Software Reliability Engineering, Proceedings, pp: 66 – 73. [14] S. Gaudan, G. M. & G. Auriol, (2007) “A new structural complexity metrics applied to Object Oriented design reliability assessment”. [15] S. K. Chandran, A. Dimov & S. Punnekkat , (2010) “Modeling uncertainties in the estimation of software reliability – a pragmatic approach”, IEEE International Conference on Secure Software Integration and Reliability Improvement, IEEE computer society, pp: 227- 236. [16] A. Yadav & R. A. Khan,(2009) “Complexity: a reliability factor”, IEEE International Advance Computing Conference (IACC’09), Thapar University, Patiala, pp: 2375-2375. [17] A. Yadav & R. A. Khan, (2012)“Development of encapsulated class complexity metric”, Computer, Communication, Control and Information Technology, Elesvier, Science Direct, pp: 22, 2012, ISBN: 938081315-5. [18] Z. Shouwei & L. Zhizhou, (2009) “Integrated evaluation model of software reliability based on multi-information”, World Congress on Software Engineering, pp: 411- 414. [19] Y. C. Q. Zhu,(2008) “Improved metrics for encapsulation based on information hiding”, The 9th International Conference for Young Computer Scientists, IEEE computer society pp: 742-724, ISBN: 978-0-7695-3398-8, DOI:10.1109/ICYCS.2008.76. [20] M. R. Lyu,(2007) “Software reliability engineering: a road map, Future of Software Engineering”, pp: 153 – 170, ISBN: 0-7695-2829-5, DOI:10.1109/FOSE.2007.24. [21] A. Yadav & R. A. Khan,(2011) “Coupling complexity normalization metric-an object oriented perspective”, International Journal of Information Technology & Knowledge Management, Impact Factor 0.475, Vol. 4, No. 2, pp. 501-509, ISBN:0973-4414. [22] L. Fiondella & S. S. Gokhale,(2011) “Software reliability model with bathtubshaped fault detection rate”, Reliability and Maintainability Symposium (RAMS) Proceedings. [23] E. E. Mills,(1988) “Software metrics”, SEI Curriculum Module SEI-CM-12-1.1,Carnegie Mellon University Software Engineering Institute, pp: 1- 43. [24] A. Yadav & R. A. Khan, (2011) “Class cohesion complexity metric (C3M)”,IEEE International Conference on Computer & Communication Technology (ICCCT-2011), IEEE Explorer, pp:363 – 366, ISBN: 978-1-4577-1385-9, DOI: 10.1109/ICCCT.2011.6075152. Author Mrs. Amitabha Yadav is working as Sr. Lecturer in the Dept. of Computer Application, Shri RamSwaroop Meomorial Group of Professional Colleges, Lucknow. UP. Her research area is Software Reliability.