Reliability and Safety of Software Systems

A special issue of Applied Sciences (ISSN 2076-3417). This special issue belongs to the section "Computing and Artificial Intelligence".

Deadline for manuscript submissions: closed (20 November 2022) | Viewed by 19481

Special Issue Editors


E-Mail Website
Guest Editor
Software Institute, Nanjing University, Nanjing 210093, China
Interests: collective intelligence; deep learning testing and optimization; big data quality; mobile application testing

E-Mail Website
Guest Editor
Software Institute, Nanjing University, Nanjing 210093, China
Interests: crowdsourced testing; mobile application testing; deep learning testing

E-Mail Website
Guest Editor
College of Command and Control Engineering, Army Engineering University of PLA, Nanjing 210007, China
Interests: critical software testing; metamorphic testing; collective testing

Special Issue Information

Dear Colleagues,

Software has played a significant role in people’s daily life, society operation and all kinds of industries, including critical fields. However, with the rapid iteration of sofyware products, the quality assurance problem has attracted much attention from both academia and industry.

Artificial intelligence-based technologies promote software testing effectiveness and efficiency in many areas, including test generation, test report analysis, code analysis, etc. Artificial intelligence-based approaches achieves much access in software quality assurance.

Moreover, artificial intelligence based algorithms have been applied in many fields, and quality is also significant. Distinct from traditional software systems, AI software systems require distince approaches for conducting software testing.

This Special Issue invites topics broadly across reliability and safety of software systems, and some specific topics include but are not limited to the following:

  • Artificial intelligence technologies for software quality assurance;
  • Quality assurance of artificial intelligence-based software systems;
  • Software system semantic mining and understanding;
  • Human computer collaboration for software testing.

Prof. Dr. Zhenyu Chen
Dr. Chunrong Fang
Prof. Dr. Song Huang
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. Applied Sciences 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 2400 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 engineering
  • software testing
  • software quality assurance
  • artificial intelligence

Published Papers (6 papers)

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

Research

Jump to: Review

19 pages, 3227 KiB  
Article
The MADAG Strategy for Fault Location Techniques
by Shih-DA Wu and Jung-Hua Lo
Appl. Sci. 2023, 13(2), 819; https://0-doi-org.brum.beds.ac.uk/10.3390/app13020819 - 06 Jan 2023
Viewed by 786
Abstract
Spectrum-based fault localization (SBFL), which utilizes spectrum information of test cases to calculate the suspiciousness of each statement in a program, can reduce developers’ effort. However, applying redundant test cases from a test suite to fault localization incurs a heavy burden, especially in [...] Read more.
Spectrum-based fault localization (SBFL), which utilizes spectrum information of test cases to calculate the suspiciousness of each statement in a program, can reduce developers’ effort. However, applying redundant test cases from a test suite to fault localization incurs a heavy burden, especially in a restricted resource environment, and it is expensive and infeasible to inspect the results of each test input. Prioritizing/selecting appropriate test cases is important to enable the practical application of the SBFL technique. In addition, we must ensure that applying the selected tests to SBFL can achieve approximately the effectiveness of fault localization with whole tests. This paper presents a test case prioritization/selection strategy, namely the Minimal Aggregate of the Diversity of All Groups (MADAG). The MADAG strategy prioritizes/selects test cases using information on the diversity of the execution trace of each test case. We implemented and applied the MADAG strategy to 233 faulty versions of the Siemens and UNIX programs from the Software-artifact Infrastructure Repository. The experiments show that (1) the MADAG strategy uses only 8.99 and 14.27 test cases, with an average of 18, from the Siemens and UNIX test suites, respectively, and the SBFL technique has approximate effectiveness for fault localization on all test cases and outperforms the previous best test case prioritization method; (2) we verify that applying whole tests from the test suite may not achieve the better effectiveness in fault localization compared with the tests selected by MADAG strategy. Full article
(This article belongs to the Special Issue Reliability and Safety of Software Systems)
Show Figures

Figure 1

21 pages, 3073 KiB  
Article
Improving the Safety and Security of Software Systems by Mediating SAP Verification
by Maram Fahaad Almufareh and Mamoona Humayun
Appl. Sci. 2023, 13(1), 647; https://0-doi-org.brum.beds.ac.uk/10.3390/app13010647 - 03 Jan 2023
Cited by 3 | Viewed by 1592
Abstract
Security and performance (SAP) are two critical NFRs that affect the successful completion of software projects. Organizations need to follow the practices that are vital to SAP verification. These practices must be incorporated into the software development process to identify SAP-related defects and [...] Read more.
Security and performance (SAP) are two critical NFRs that affect the successful completion of software projects. Organizations need to follow the practices that are vital to SAP verification. These practices must be incorporated into the software development process to identify SAP-related defects and avoid failures after deployment. This can only be achieved if organizations are fully aware of SAP verification activities and appropriately include them in the software development process. However, there is a lack of awareness of the factors that influence SAP verification, which makes it difficult for businesses to improve their verification efforts and ensure that the released software meets these requirements. To fill this gap, this research study aimed to identify the mediating factors (MFs) influencing SAP verification and the actions to promote them. Ten MFs and their corresponding actions were identified after thoroughly reviewing the existing literature. The mapping of MFs and their corresponding actions were initially evaluated with the help of a pilot study. Mathematical modeling was utilized to model these MFs and examine each MF’s unique effect on software SAP verification. In addition, two case studies with a small- and a medium-sized organization were used to better understand the function these MFs play in the process of SAP verification. The research findings suggested that MFs assist software development organizations in their efforts to integrate SAP verification procedures into their standard software systems. Further investigation is required to support the understanding of these MFs when building modern software systems. Full article
(This article belongs to the Special Issue Reliability and Safety of Software Systems)
Show Figures

Figure 1

18 pages, 402 KiB  
Article
Learning to Prioritize Test Cases for Computer Aided Design Software via Quantifying Functional Units
by Fenfang Zeng, Shaoting Liu, Feng Yang, Yisen Xu, Guofu Zhou and Jifeng Xuan
Appl. Sci. 2022, 12(20), 10414; https://0-doi-org.brum.beds.ac.uk/10.3390/app122010414 - 15 Oct 2022
Viewed by 1204
Abstract
Computer Aided Design (CAD) is a family of techniques that support the automation of designing and drafting 2D and 3D models with computer programs. CAD software is a software platform that provides the process from designing to modeling, such as AutoCAD or FreeCAD. [...] Read more.
Computer Aided Design (CAD) is a family of techniques that support the automation of designing and drafting 2D and 3D models with computer programs. CAD software is a software platform that provides the process from designing to modeling, such as AutoCAD or FreeCAD. Due to complex functions, the quality of CAD software plays an important role in designing reliable 2D and 3D models. There are many dependencies between defects in CAD software. Software testing is a practical way to detect defects in CAD software development. However, it is expensive to frequently run all the test cases for all functions. In this paper, we design an approach to learning to prioritize test cases for the CAD software, called PriorCadTest. The key idea of this approach is to quantify functional units and to train a learnable model to prioritize test cases. The output of the approach is a sequence of existing test cases. We evaluate PriorCadTest on seven modules of an open-source real-world CAD project, ArtOfIllusion. The Average Percentage of Fault Detect (APFD) is used to measure the effectiveness. Experimental results show that the proposed approach outperforms the current industrial practice without test case prioritization. Full article
(This article belongs to the Special Issue Reliability and Safety of Software Systems)
Show Figures

Figure 1

22 pages, 5558 KiB  
Article
Code Smell Detection Using Ensemble Machine Learning Algorithms
by Seema Dewangan, Rajwant Singh Rao, Alok Mishra and Manjari Gupta
Appl. Sci. 2022, 12(20), 10321; https://0-doi-org.brum.beds.ac.uk/10.3390/app122010321 - 13 Oct 2022
Cited by 16 | Viewed by 3116
Abstract
Code smells are the result of not following software engineering principles during software development, especially in the design and coding phase. It leads to low maintainability. To evaluate the quality of software and its maintainability, code smell detection can be helpful. Many machine [...] Read more.
Code smells are the result of not following software engineering principles during software development, especially in the design and coding phase. It leads to low maintainability. To evaluate the quality of software and its maintainability, code smell detection can be helpful. Many machine learning algorithms are being used to detect code smells. In this study, we applied five ensemble machine learning and two deep learning algorithms to detect code smells. Four code smell datasets were analyzed: the Data class, the God class, the Feature-envy, and the Long-method datasets. In previous works, machine learning and stacking ensemble learning algorithms were applied to this dataset and the results found were acceptable, but there is scope of improvement. A class balancing technique (SMOTE) was applied to handle the class imbalance problem in the datasets. The Chi-square feature extraction technique was applied to select the more relevant features in each dataset. All five algorithms obtained the highest accuracy—100% for the Long-method dataset with the different selected sets of metrics, and the poorest accuracy, 91.45%, was achieved by the Max voting method for the Feature-envy dataset for the selected twelve sets of metrics. Full article
(This article belongs to the Special Issue Reliability and Safety of Software Systems)
Show Figures

Figure 1

26 pages, 2476 KiB  
Article
Research on Design Pattern Detection Method Based on UML Model with Extended Image Information and Deep Learning
by Lei Wang, Tian Song, Hui-Na Song and Shuai Zhang
Appl. Sci. 2022, 12(17), 8718; https://0-doi-org.brum.beds.ac.uk/10.3390/app12178718 - 30 Aug 2022
Cited by 2 | Viewed by 2175
Abstract
Detecting relevant design patterns from system design or source code helps software developers and maintainers understand the ideas behind the design of large-scale, highly complicated software systems, thereby improving the quality of software systems. Currently, design pattern detection based on machine learning has [...] Read more.
Detecting relevant design patterns from system design or source code helps software developers and maintainers understand the ideas behind the design of large-scale, highly complicated software systems, thereby improving the quality of software systems. Currently, design pattern detection based on machine learning has become a hot research direction. Scholars have proposed many design pattern detection methods based on machine learning. However, most of the existing literature only reports the utilization of traditional machine learning algorithms such as KNN, decision trees, ANN, SVM, etc., which require manual feature extraction and feature selection. It is very difficult to find suitable and effective features for the detection of design patterns. In the previous research, we have initially explored a design pattern detection method based on graph theory and ANN. Based on the research work done, we speculate that if we can realize the end-to-end design pattern detection from system design or source code to design pattern with the help of the powerful automatic feature extraction and other advantages of deep learning, the detection effect can be further improved. This paper intends to first explore a UML model that extends image information, called colored UML, so as to transform the design pattern detection problem into an image classification problem; on this basis, the positive and negative sample sets and the system to be recognized are all expressed in the form of colored UML models, the convolutional neural network VGGNet is used to train the data set to extract features, and the extracted features are trained by the SVM for binary classification to judge the pattern instances. Experiments were carried out on three open-source projects. We used three non-machine learning design pattern detection methods and five design pattern detection methods based on traditional machine learning algorithms, as well as the method in this paper. In general, the method proposed in this paper achieved higher precision and recall, and for different programs and their patterns, the precision and recall were stable at more than 85% in most cases. The experimental results demonstrate that this paper can achieve a better effect in recognizing design patterns. The research is, therefore, of both theoretical significance and application value. Full article
(This article belongs to the Special Issue Reliability and Safety of Software Systems)
Show Figures

Figure 1

Review

Jump to: Research

16 pages, 1269 KiB  
Review
RESTful API Testing Methodologies: Rationale, Challenges, and Solution Directions
by Adeel Ehsan, Mohammed Ahmad M. E. Abuhaliqa, Cagatay Catal and Deepti Mishra
Appl. Sci. 2022, 12(9), 4369; https://0-doi-org.brum.beds.ac.uk/10.3390/app12094369 - 26 Apr 2022
Cited by 18 | Viewed by 8494
Abstract
Service-oriented architecture has evolved to be the backbone for large-scale integration between different applications and platforms. This concept has led to today’s reality of cloud services. Many of the major business platforms are providing their services to end-users and other companies as well. [...] Read more.
Service-oriented architecture has evolved to be the backbone for large-scale integration between different applications and platforms. This concept has led to today’s reality of cloud services. Many of the major business platforms are providing their services to end-users and other companies as well. Companies are crafting ways to allow other businesses fast service integration and to get on board quickly in the market. REST (representational state transfer) has emerged as the standard protocol for implementing and consuming these services, which are called RESTful application programming interfaces (APIs). As the internal details of the RESTful APIs are not completely available during consumption, thorough testing has been a major challenge. Any unprecedented change in the APIs can cause the major failure of service operations, which can cause an organization to face both financial and trust losses. Research efforts have been made to alleviate testing challenges by introducing different frameworks and auto-generating unit test approaches. However, there is still a lack of an overview of the state-of-the-art in RESTful API testing. As such, the objective of this article is to identify, analyze, and synthesize the studies that have been performed related to RESTful APIs’ testing methodologies and unit test generation. With this perspective, a systematic literature review (SLR) study was conducted. In total, 16 papers were retrieved and included based on study selection criteria for in-depth analysis. This SLR discusses and categorizes different problems and solutions related to RESTful APIs’ testing and unit test generation. Full article
(This article belongs to the Special Issue Reliability and Safety of Software Systems)
Show Figures

Figure 1

Back to TopTop