I. J. Computer Network and Information Security, 2017, 5, 21-30
Published Online May 2017 in MECS (http://www.mecs-press.org/)
DOI: 10.5815/ijcnis.2017.05.03
Copyright © 2017 MECS I.J. Computer Network and Information Security, 2017, 5, 21-30
Enhancing Software Reliability against Soft-Error
using Minimum Redundancy on Critical Data
Saeid A. Keshtgar
Department of Computer Engineering, Tabriz Branch, Islamic Azad University,
Tabriz, Iran
E-mail: saultimate@gmail.com
Bahman B. Arasteh
Department of Computer Engineering, Tabriz Branch, Islamic Azad University,
Tabriz, Iran
E-mail: b_arasteh@iaut.ac.ir
Abstract—Nowadays, software systems play remarkable
roles in human life and software has become an
indispensable aspect of modern society. Hence, regarding
the high significance of software, establishing and
maintaining software reliability is considered to be an
essential issue so that error occurrence, failure and
disaster can be prevented. Thus, the magnitude of errors
in a program should be detected and identified and
software reliability should be measured and investigated
so as to prevent the spread of error. In line with this
purpose, different methods have been proposed in the
literature on software reliability; however, the majority of
the proposed methods are inefficient and undesirable due
to their high overhead, vulnerability, excessive
redundancy and high data replication. The method
introduced in this paper identifies vulnerable data of the
program and uses class diagram and the proposed
formula. Also, by applying minimum redundancy and
duplication on 70% of the critical data of the program, the
proposed method protects the program data. The
evaluation of the operation of the propose method on
program indicated that it can improve reliability, reduce
efficiency overhead, redundancy and complexity.
Index Terms—Reliability, redundancy, failure, fault,
error, performance overhead.
I. INTRODUCTION
Computer-based systems are ubiquitous in all different
areas of modern life from house appliances such as
microwave ovens and washing machines to complex
application programs like airplanes, trains, medical
control systems, etc. The costs and consequences of the
failure of these systems can be so disastrous and
catastrophic that serious injuries, harms and life losses
can result from them. Such failures can devastate
computer system, breach security, lead to the collapse of
business or the loss of opportunities. Indeed, such
misadventures and non-successes are related to defects
which interrupts systems and cause incompatibilities
among them. Your goal is to simulate the usual
appearance of papers in a Journal of the Academy
Publisher. We are requesting that you follow these
guidelines as closely as possible. One fault or defect can
cause an error or failure. It is sometimes referred to as a
bug. Indeed, a fault is an abnormal condition which
occurs in the software or hardware of a system [22]. One
of the important challenges in designing computer
systems is soft error. Also, soft errors which are due to
radiation are regarded as a key challenge in designing
computer systems [32].
As the complexity increases and the demand for the
required quality in the markets goes up, the need for
designing reliable digital systems has become
increasingly essential [26]. For achieving high reliability
and delivering it to customers, two major attempts should
be made. First, architects should figure out the impact of
soft errors in their designing. Second, they should make a
smart choice among the available methods for reducing
the impact of soft errors so that maximum reliability and
minimum overhead can be achieved [28].There are two
basic methods for establishing reliability; the first one is
to avoid error by using specifications and acknowledging
formal methods and the second method is a highly
meticulous and precise process for developing software.
Hence, the enhancement of software reliability by
reducing redundancy and performance overhead is
another notable issue in this research domain [21].
From a system point of view, two highly critical
features are software quality and reliability [19].
Reliability can be regarded as a remarkable criterion or
standard for measuring the quality of a system [14].Since
software can be examined and observed as an important
component of a system, system analysts investigate
software reliability as an indication and signal of the
entire system [4].Software reliability enables a program
to tolerate and resist against the probable errors which
might occur. Indeed, acceptable software reliability can
enable the program to properly function within a specific
period of time [10]. Furthermore, good reliability
guarantees that the software operate at a certain level in
spite of the presence of several faults and errors so that