Mathematics in Software Reliability and Quality Assurance

A special issue of Mathematics (ISSN 2227-7390). This special issue belongs to the section "Mathematics and Computer Science".

Deadline for manuscript submissions: closed (15 October 2021) | Viewed by 25206

Printed Edition Available!
A printed edition of this Special Issue is available here.

Special Issue Editors


E-Mail Website
Guest Editor
Graduate School of Advanced Science and Engineering, School of Informatics and Data Sciences, Hiroshima University, 1-4-1 Kagamiyama, Higashihiroshima 7398527, Japan
Interests: stochastic model; reliability and maintenance; performance evaluation
Special Issues, Collections and Topics in MDPI journals

E-Mail Website
Guest Editor
Graduate School of Advanced Science and Engineering, School of Informatics and Data Sciences, Hiroshima University, 1-4-1 Kagamiyama, Higashihiroshima 7398527, Japan
Interests: computer science; software engineering; formal methods

Special Issue Information

Dear Colleagues,

It is well known that every complex system is controlled by software. However, it has been still a challenging issue to develop fault-free software in industry, because it is almost impossible to guarantee/prove that software systems under consideration are fault-free in advance. In this sense, software reliability and quality assurance play a central role in modern software engineering/science.

This special section focuses on the mathematical aspect in software reliability and quality assurance. In the formal verification and validation, mathematical logic is frequently used. Discrete event systems, automata theory and model checking are also significant tools to perform static analysis of software. In software testing, many kinds of optimization techniques and meta-heuristics are applied to derive the feasible solutions. Software reliability, availability and safety assessment are based on stochastic processes and their statistical inference.

In this special section, we encourage to submit the latest research results on software reliability and quality assurance. The topics of interest are given in the following, but not limited to:

Formal methods and design

Automatic program generation

Automatic software testing

Software verification and validation

Program analysis and language theory

Coalgebra theory

Automata theory

Hybrid system

Software reliability modeling and assessment

Software safety

Software security

Software fault tolerance

Software dependability

Prof. Dr. Tadashi Dohi
Prof. Dr. Shaoying Liu
Guest Editors

Manuscript Submission Information

Manuscripts should be submitted online at www.mdpi.com by registering and logging in to this website. Once you are registered, click here to go to the submission form. Manuscripts can be submitted until the deadline. All submissions that pass pre-check are peer-reviewed. Accepted papers will be published continuously in the journal (as soon as accepted) and will be listed together on the special issue website. Research articles, review articles as well as short communications are invited. For planned papers, a title and short abstract (about 100 words) can be sent to the Editorial Office for announcement on this website.

Submitted manuscripts should not have been published previously, nor be under consideration for publication elsewhere (except conference proceedings papers). All manuscripts are thoroughly refereed through a single-blind peer-review process. A guide for authors and other relevant information for submission of manuscripts is available on the Instructions for Authors page. Mathematics is an international peer-reviewed open access semimonthly journal published by MDPI.

Please visit the Instructions for Authors page before submitting a manuscript. The Article Processing Charge (APC) for publication in this open access journal is 2600 CHF (Swiss Francs). Submitted papers should be well formatted and use good English. Authors may use MDPI's English editing service prior to publication or during author revisions.

Keywords

  • Software reliability
  • Software quality
  • Software verification and validation
  • Mathematical foundation of software science and engineering

Published Papers (11 papers)

Order results
Result details
Select all
Export citation of selected articles as:

Research

15 pages, 562 KiB  
Article
Modeling and Verifying the CKB Blockchain Consensus Protocol
by Meng Sun, Yuteng Lu, Yichun Feng, Qi Zhang and Shaoying Liu
Mathematics 2021, 9(22), 2954; https://doi.org/10.3390/math9222954 - 19 Nov 2021
Cited by 5 | Viewed by 2024
Abstract
The Nervos CKB (Common Knowledge Base) is a public permissionless blockchain designed for the Nervos ecosystem. The CKB consensus protocol is the key protocol of the Nervos CKB, which improves the limit of the consensus’s performance for Bitcoin. In this paper, we developed [...] Read more.
The Nervos CKB (Common Knowledge Base) is a public permissionless blockchain designed for the Nervos ecosystem. The CKB consensus protocol is the key protocol of the Nervos CKB, which improves the limit of the consensus’s performance for Bitcoin. In this paper, we developed the formal model of the CKB consensus protocol using timed automata. Based on the model, we formally verified various important properties of the Nervos CKB to provide a sufficient trustworthiness assurance. Especially, the security of the Nervos CKB against the selfish mining attacks to the protocol was investigated. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

22 pages, 676 KiB  
Article
Deep Cross-Project Software Reliability Growth Model Using Project Similarity-Based Clustering
by Kyawt Kyawt San, Hironori Washizaki, Yoshiaki Fukazawa, Kiyoshi Honda, Masahiro Taga and Akira Matsuzaki
Mathematics 2021, 9(22), 2945; https://doi.org/10.3390/math9222945 - 18 Nov 2021
Cited by 4 | Viewed by 2058
Abstract
Software reliability is an essential characteristic for ensuring the qualities of software products. Predicting the potential number of bugs from the beginning of a development project allows practitioners to make the appropriate decisions regarding testing activities. In the initial development phases, applying traditional [...] Read more.
Software reliability is an essential characteristic for ensuring the qualities of software products. Predicting the potential number of bugs from the beginning of a development project allows practitioners to make the appropriate decisions regarding testing activities. In the initial development phases, applying traditional software reliability growth models (SRGMs) with limited past data does not always provide reliable prediction result for decision making. To overcome this, herein, we propose a new software reliability modeling method called a deep cross-project software reliability growth model (DC-SRGM). DC-SRGM is a cross-project prediction method that uses features of previous projects’ data through project similarity. Specifically, the proposed method applies cluster-based project selection for the training data source and modeling by a deep learning method. Experiments involving 15 real datasets from a company and 11 open source software datasets show that DC-SRGM can more precisely describe the reliability of ongoing development projects than existing traditional SRGMs and the LSTM model. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

17 pages, 5716 KiB  
Article
Performance of Enhanced Multiple-Searching Genetic Algorithm for Test Case Generation in Software Testing
by Wanida Khamprapai, Cheng-Fa Tsai, Paohsi Wang and Chi-En Tsai
Mathematics 2021, 9(15), 1779; https://doi.org/10.3390/math9151779 - 27 Jul 2021
Cited by 8 | Viewed by 2523
Abstract
Test case generation is an important process in software testing. However, manual generation of test cases is a time-consuming process. Automation can considerably reduce the time required to create adequate test cases for software testing. Genetic algorithms (GAs) are considered to be effective [...] Read more.
Test case generation is an important process in software testing. However, manual generation of test cases is a time-consuming process. Automation can considerably reduce the time required to create adequate test cases for software testing. Genetic algorithms (GAs) are considered to be effective in this regard. The multiple-searching genetic algorithm (MSGA) uses a modified version of the GA to solve the multicast routing problem in network systems. MSGA can be improved to make it suitable for generating test cases. In this paper, a new algorithm called the enhanced multiple-searching genetic algorithm (EMSGA), which involves a few additional processes for selecting the best chromosomes in the GA process, is proposed. The performance of EMSGA was evaluated through comparison with seven different search-based techniques, including random search. All algorithms were implemented in EvoSuite, which is a tool for automatic generation of test cases. The experimental results showed that EMSGA increased the efficiency of testing when compared with conventional algorithms and could detect more faults. Because of its superior performance compared with that of existing algorithms, EMSGA can enable seamless automation of software testing, thereby facilitating the development of different software packages. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

20 pages, 1227 KiB  
Article
An Enhanced Evolutionary Software Defect Prediction Method Using Island Moth Flame Optimization
by Ruba Abu Khurma, Hamad Alsawalqah, Ibrahim Aljarah, Mohamed Abd Elaziz and Robertas Damaševičius
Mathematics 2021, 9(15), 1722; https://doi.org/10.3390/math9151722 - 22 Jul 2021
Cited by 26 | Viewed by 2412
Abstract
Software defect prediction (SDP) is crucial in the early stages of defect-free software development before testing operations take place. Effective SDP can help test managers locate defects and defect-prone software modules. This facilitates the allocation of limited software quality assurance resources optimally and [...] Read more.
Software defect prediction (SDP) is crucial in the early stages of defect-free software development before testing operations take place. Effective SDP can help test managers locate defects and defect-prone software modules. This facilitates the allocation of limited software quality assurance resources optimally and economically. Feature selection (FS) is a complicated problem with a polynomial time complexity. For a dataset with N features, the complete search space has 2N feature subsets, which means that the algorithm needs an exponential running time to traverse all these feature subsets. Swarm intelligence algorithms have shown impressive performance in mitigating the FS problem and reducing the running time. The moth flame optimization (MFO) algorithm is a well-known swarm intelligence algorithm that has been used widely and proven its capability in solving various optimization problems. An efficient binary variant of MFO (BMFO) is proposed in this paper by using the island BMFO (IsBMFO) model. IsBMFO divides the solutions in the population into a set of sub-populations named islands. Each island is treated independently using a variant of BMFO. To increase the diversification capability of the algorithm, a migration step is performed after a specific number of iterations to exchange the solutions between islands. Twenty-one public software datasets are used for evaluating the proposed method. The results of the experiments show that FS using IsBMFO improves the classification results. IsBMFO followed by support vector machine (SVM) classification is the best model for the SDP problem over other compared models, with an average G-mean of 78%. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

18 pages, 387 KiB  
Article
Application of EM Algorithm to NHPP-Based Software Reliability Assessment with Generalized Failure Count Data
by Hiroyuki Okamura and Tadashi Dohi
Mathematics 2021, 9(9), 985; https://doi.org/10.3390/math9090985 - 27 Apr 2021
Cited by 14 | Viewed by 1841
Abstract
Software reliability models (SRMs) are widely used for quantitative evaluation of software reliability by estimating model parameters from failure data observed in the testing phase. In particular, non-homogeneous Poisson process (NHPP)-based SRMs are the most popular because of their mathematical tractability. In this [...] Read more.
Software reliability models (SRMs) are widely used for quantitative evaluation of software reliability by estimating model parameters from failure data observed in the testing phase. In particular, non-homogeneous Poisson process (NHPP)-based SRMs are the most popular because of their mathematical tractability. In this paper, we focus on the parameter estimation algorithm for NHPP-based SRMs and discuss the EM algorithm for generalized fault count data. The presented algorithm can be applied for failure time data, failure count data, and their mixture. The paper derives the EM-step formulas for basic 12 NHPP-based SRMs and demonstrate a numerical experiment to present the convergence property of our algorithms. The developed algorithms are suitable for an automatic tool for software reliability evaluation. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

20 pages, 3488 KiB  
Article
DICER 2.0: A New Model Checker for Data-Flow Errors of Concurrent Software Systems
by Dongming Xiang, Fang Zhao and Yaping Liu
Mathematics 2021, 9(9), 966; https://doi.org/10.3390/math9090966 - 25 Apr 2021
Cited by 3 | Viewed by 2102
Abstract
Petri nets are widely used to model concurrent software systems. Currently, there are many different kinds of Petri net tools that can analyze system properties such as deadlocks, reachability and liveness. However, most tools are not suitable to analyze data-flow errors of concurrent [...] Read more.
Petri nets are widely used to model concurrent software systems. Currently, there are many different kinds of Petri net tools that can analyze system properties such as deadlocks, reachability and liveness. However, most tools are not suitable to analyze data-flow errors of concurrent systems because they do not formalize data information and lack efficient computing methods for analyzing data-flows. Especially when a concurrent system has so many concurrent data operations, these Petri net tools easily suffer from the state–space explosion problem and pseudo-states. To alleviate these problems, we develop a new model checker DICER 2.0. By using this tool, we can model the control-flows and data-flows of concurrent software systems. Moreover, the errors of data inconsistency can be detected based on the unfolding techniques, and some model-checking can be done via the guard-driven reachability graph (GRG). Furthermore, some case studies and experiments are done to show the effectiveness and advantage of our tool. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

15 pages, 595 KiB  
Article
Availability Analysis of Software Systems with Rejuvenation and Checkpointing
by Junjun Zheng, Hiroyuki Okamura and Tadashi Dohi
Mathematics 2021, 9(8), 846; https://doi.org/10.3390/math9080846 - 13 Apr 2021
Cited by 5 | Viewed by 1754
Abstract
In software reliability engineering, software-rejuvenation and -checkpointing techniques are widely used for enhancing system reliability and strengthening data protection. In this paper, a stochastic framework composed of a composite stochastic Petri reward net and its resulting non-Markovian availability model is presented to capture [...] Read more.
In software reliability engineering, software-rejuvenation and -checkpointing techniques are widely used for enhancing system reliability and strengthening data protection. In this paper, a stochastic framework composed of a composite stochastic Petri reward net and its resulting non-Markovian availability model is presented to capture the dynamic behavior of an operational software system in which time-based software rejuvenation and checkpointing are both aperiodically conducted. In particular, apart from the software-aging problem that may cause the system to fail, human-error factors (i.e., a system operator’s misoperations) during checkpointing are also considered. To solve the stationary solution of the non-Markovian availability model, which is derived on the basis of the reachability graph of stochastic Petri reward nets and is actually not one of the trivial stochastic models such as the semi-Markov process and the Markov regenerative process, the phase-expansion approach is considered. In numerical experiments, we illustrate steady-state system availability and find optimal software-rejuvenation policies that maximize steady-state system availability. The effects of human-error factors on both steady-state system availability and the optimal software-rejuvenation trigger timing are also evaluated. Numerical results showed that human errors during checkpointing both decreased system availability and brought a significant effect on the optimal rejuvenation-trigger timing, so that it should not be overlooked during system modeling. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

15 pages, 860 KiB  
Article
A Metamorphic Testing Approach for Assessing Question Answering Systems
by Kaiyi Tu, Mingyue Jiang and Zuohua Ding
Mathematics 2021, 9(7), 726; https://doi.org/10.3390/math9070726 - 28 Mar 2021
Cited by 8 | Viewed by 2216
Abstract
Question Answering (QA) enables the machine to understand and answer questions posed in natural language, which has emerged as a powerful tool in various domains. However, QA is a challenging task and there is an increasing concern about its quality. In this paper, [...] Read more.
Question Answering (QA) enables the machine to understand and answer questions posed in natural language, which has emerged as a powerful tool in various domains. However, QA is a challenging task and there is an increasing concern about its quality. In this paper, we propose to apply the technique of metamorphic testing (MT) to evaluate QA systems from the users’ perspectives, in order to help the users to better understand the capabilities of these systems and then to select appropriate QA systems for their specific needs. Two typical categories of QA systems, namely, the textual QA (TQA) and visual QA (VQA), are studied, and a total number of 17 metamorphic relations (MRs) are identified for them. These MRs respectively focus on some characteristics of different aspects of QA. We further apply MT to four QA systems (including two APIs from the AllenNLP platform, one API from the Transformers platform, and one API from CloudCV) by using all of the MRs. Our experimental results demonstrate the capabilities of the four subject QA systems from various aspects, revealing their strengths and weaknesses. These results further suggest that MT can be an effective method for assessing QA systems. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

16 pages, 601 KiB  
Article
A Divide and Conquer Approach to Eventual Model Checking
by Moe Nandi Aung, Yati Phyo, Canh Minh Do and Kazuhiro Ogata
Mathematics 2021, 9(4), 368; https://doi.org/10.3390/math9040368 - 12 Feb 2021
Cited by 11 | Viewed by 2144
Abstract
The paper proposes a new technique to mitigate the state of explosion in model checking. The technique is called a divide and conquer approach to eventual model checking. As indicated by the name, the technique is dedicated to eventual properties. The technique divides [...] Read more.
The paper proposes a new technique to mitigate the state of explosion in model checking. The technique is called a divide and conquer approach to eventual model checking. As indicated by the name, the technique is dedicated to eventual properties. The technique divides an original eventual model checking problem into multiple smaller model checking problems and tackles each smaller one. We prove a theorem that the multiple smaller model checking problems are equivalent to the original eventual model checking problem. We conducted a case study that demonstrates the power of the proposed technique. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

19 pages, 4212 KiB  
Article
Mutated Specification-Based Test Data Generation with a Genetic Algorithm
by Rong Wang, Yuji Sato and Shaoying Liu
Mathematics 2021, 9(4), 331; https://doi.org/10.3390/math9040331 - 07 Feb 2021
Cited by 6 | Viewed by 1714
Abstract
Specification-based testing methods generate test data without the knowledge of the structure of the program. However, the quality of these test data are not well ensured to detect bugs when non-functional changes are introduced to the program. To generate test data effectively, we [...] Read more.
Specification-based testing methods generate test data without the knowledge of the structure of the program. However, the quality of these test data are not well ensured to detect bugs when non-functional changes are introduced to the program. To generate test data effectively, we propose a new method that combines formal specifications with the genetic algorithm (GA). In this method, formal specifications are reformed by GA in order to be used to generate input values that can kill as many mutants of the target program as possible. Two classic examples are presented to demonstrate how the method works. The result shows that the proposed method can help effectively generate test cases to kill the program mutants, which contributes to the further maintenance of software. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

21 pages, 440 KiB  
Article
Fuzzy Automata as Coalgebras
by Ai Liu, Shun Wang, Luis Soares Barbosa and Meng Sun
Mathematics 2021, 9(3), 272; https://doi.org/10.3390/math9030272 - 29 Jan 2021
Cited by 3 | Viewed by 1879
Abstract
The coalgebraic method is of great significance to research in process algebra, modal logic, object-oriented design and component-based software engineering. In recent years, fuzzy control has been widely used in many fields, such as handwriting recognition and the control of robots or air [...] Read more.
The coalgebraic method is of great significance to research in process algebra, modal logic, object-oriented design and component-based software engineering. In recent years, fuzzy control has been widely used in many fields, such as handwriting recognition and the control of robots or air conditioners. It is then an interesting topic to analyze the behavior of fuzzy automata from a coalgebraic point of view. This paper models different types of fuzzy automata as coalgebras with a monad structure capturing fuzzy behavior. Based on the coalgebraic models, we can define a notion of fuzzy language and consider several versions of bisimulation for fuzzy automata. A group of combinators is defined to compose fuzzy automata of two branches: state transition and output function. A case study illustrates the coalgebraic models proposed and their composition. Full article
(This article belongs to the Special Issue Mathematics in Software Reliability and Quality Assurance)
Show Figures

Figure 1

Back to TopTop