Microservices architecture smells can significantly affect the quality of microservices due to poor design decisions, especially the granularity smells of microservice architectures will greatly affect the quality of a microservices architecture. The state-of-the-art methods of microservice architectural granularity detection primarily focus on the service level, which lacks consideration of detailed information such as interfaces, and these methods also lack considerations about semantic information related to business logic, leading to lower accuracy in the detection results. To address these issues, we introduce ASDMG, which takes semantic information within the Abstract Syntax Tree (AST) into consideration, integrating them with data dependency to extract business topic relationships of functions. It performs interface-oriented business topic clustering, allowing comprehensive detection of granularity smells both within individual microservices as well as the overall microservice architecture. Experiments were conducted using 5 open-source microservice systems in different scales and domains. Results show that ASDMG achieves an average precision of 83.41%, an average recall of 95.84%, and an average accuracy of 95.85% in detecting architectural granularity smells. Compared to state-of-the-art methods, it achieves better detection results and can improve the quality of microservice architecture.
{"title":"ASDMG: business topic clustering-based architecture smell detection for microservice granularity","authors":"Sixuan Wang, Baoqing Jin, Dongjin Yu, Shuhan Cheng","doi":"10.1007/s11219-024-09681-5","DOIUrl":"https://doi.org/10.1007/s11219-024-09681-5","url":null,"abstract":"<p>Microservices architecture smells can significantly affect the quality of microservices due to poor design decisions, especially the granularity smells of microservice architectures will greatly affect the quality of a microservices architecture. The state-of-the-art methods of microservice architectural granularity detection primarily focus on the service level, which lacks consideration of detailed information such as interfaces, and these methods also lack considerations about semantic information related to business logic, leading to lower accuracy in the detection results. To address these issues, we introduce ASDMG, which takes semantic information within the Abstract Syntax Tree (AST) into consideration, integrating them with data dependency to extract business topic relationships of functions. It performs interface-oriented business topic clustering, allowing comprehensive detection of granularity smells both within individual microservices as well as the overall microservice architecture. Experiments were conducted using 5 open-source microservice systems in different scales and domains. Results show that ASDMG achieves an average precision of 83.41%, an average recall of 95.84%, and an average accuracy of 95.85% in detecting architectural granularity smells. Compared to state-of-the-art methods, it achieves better detection results and can improve the quality of microservice architecture.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"8 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141569078","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-07-05DOI: 10.1007/s11219-024-09685-1
Xufeng Zhao, Yilei Bu, Wendi Pang, Jiajia Cai
For a 24/7 database system, backups should be implemented right after a large volume of data has been updated, putting their backup windows in non-busy states with user’s convenience.From this viewpoint, this paper studies periodic and random incremental backup policies, in which, incremental backup is implemented right after data update and full backup is performed at periodic times (varvec{KT}), or at a number (varvec{N}) of data updates, respectively. We firstly describe the stochastic processes of data update and database failure, and then model the expected cost rates for data backup and data restoration.Respective (varvec{K^*, N^*, K_f^*}), and (varvec{N_f^*}) are obtained to minimize their expected cost rates in analytical ways, respectively. Finally, numerical examples are given to illustrate the optimum policies.
{"title":"Periodic and random incremental backup policies in reliability theory","authors":"Xufeng Zhao, Yilei Bu, Wendi Pang, Jiajia Cai","doi":"10.1007/s11219-024-09685-1","DOIUrl":"https://doi.org/10.1007/s11219-024-09685-1","url":null,"abstract":"<p>For a 24/7 database system, backups should be implemented right after a large volume of data has been updated, putting their backup windows in non-busy states with user’s convenience.From this viewpoint, this paper studies periodic and random incremental backup policies, in which, incremental backup is implemented right after data update and full backup is performed at periodic times <span>(varvec{KT})</span>, or at a number <span>(varvec{N})</span> of data updates, respectively. We firstly describe the stochastic processes of data update and database failure, and then model the expected cost rates for data backup and data restoration.Respective <span>(varvec{K^*, N^*, K_f^*})</span>, and <span>(varvec{N_f^*})</span> are obtained to minimize their expected cost rates in analytical ways, respectively. Finally, numerical examples are given to illustrate the optimum policies.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"85 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141546997","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Development of machine learning (ML) systems differs from traditional approaches. The probabilistic nature of ML leads to a more experimentative development approach, which often results in a disparity between the quality of ML models with other aspects such as business, safety, and the overall system architecture. Herein the Multi-view Modeling Framework for ML Systems (M3S) is proposed as a solution to this problem. M3S provides an analysis framework that integrates different views. It is supported by an integrated metamodel to ensure the connection and consistency between different models. To facilitate the experimentative nature of ML training, M3S provides an integrated platform between the modeling environment and the ML training pipeline. M3S is validated through a case study and a controlled experiment. M3S shows promise, but future research needs to confirm its generality.
机器学习(ML)系统的开发不同于传统方法。机器学习的概率性质导致开发方法更具实验性,这往往会造成机器学习模型的质量与业务、安全和整体系统架构等其他方面之间的差异。本文提出的多视角 ML 系统建模框架(M3S)就是解决这一问题的方案。M3S 提供了一个整合不同视图的分析框架。它由一个集成元模型提供支持,以确保不同模型之间的连接和一致性。为了促进 ML 训练的实验性质,M3S 在建模环境和 ML 训练管道之间提供了一个集成平台。M3S 通过案例研究和对照实验进行了验证。M3S 显示了前景,但未来的研究需要确认其通用性。
{"title":"Integrated multi-view modeling for reliable machine learning-intensive software engineering","authors":"Jati H. Husen, Hironori Washizaki, Jomphon Runpakprakun, Nobukazu Yoshioka, Hnin Thandar Tun, Yoshiaki Fukazawa, Hironori Takeuchi","doi":"10.1007/s11219-024-09687-z","DOIUrl":"https://doi.org/10.1007/s11219-024-09687-z","url":null,"abstract":"<p>Development of machine learning (ML) systems differs from traditional approaches. The probabilistic nature of ML leads to a more experimentative development approach, which often results in a disparity between the quality of ML models with other aspects such as business, safety, and the overall system architecture. Herein the Multi-view Modeling Framework for ML Systems (M<sup>3</sup>S) is proposed as a solution to this problem. M<sup>3</sup>S provides an analysis framework that integrates different views. It is supported by an integrated metamodel to ensure the connection and consistency between different models. To facilitate the experimentative nature of ML training, M<sup>3</sup>S provides an integrated platform between the modeling environment and the ML training pipeline. M<sup>3</sup>S is validated through a case study and a controlled experiment. M<sup>3</sup>S shows promise, but future research needs to confirm its generality.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"20 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141523169","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-07-03DOI: 10.1007/s11219-024-09683-3
Hongwei Tao, Xiaoxu Niu, Lang Xu, Lianyou Fu, Qiaoling Cao, Haoran Chen, Songtao Shang, Yang Xian
As information technology continues to advance, software applications are becoming increasingly critical. However, the growing size and complexity of software development can lead to serious flaws resulting in significant financial losses. To address this issue, Software Defect Prediction (SDP) technology is being developed to detect and resolve defects early in the software development process, ensuring high software quality. As a result, SDP research has become a major focus for academics worldwide. This study aims to compare various machine learning-based SDP algorithm models and determine if traditional machine learning algorithms affect SDP outcomes. Unlike previous studies that aimed to identify the best prediction model for all datasets, this paper constructs SDP superiority models separately for different datasets. Using the publicly available ESEM2016 dataset, 13 machine learning classification algorithms are employed to predict software defects. Evaluation indicators such as Accuracy, AUC(Area Under the Curve), F-measure, and Running Time(RT) are utilized to assess the performance of the classification algorithms. Due to the serious class imbalance problem in this dataset, 10 sampling methods are combined with the 13 machine learning algorithms to explore the effect of sampling techniques on the performance of traditional machine learning classification models. Finally, a comprehensive evaluation is conducted to identify the best combination of sampling techniques and classification models to construct the final dominant model for SDP.
{"title":"A comparative study of software defect binomial classification prediction models based on machine learning","authors":"Hongwei Tao, Xiaoxu Niu, Lang Xu, Lianyou Fu, Qiaoling Cao, Haoran Chen, Songtao Shang, Yang Xian","doi":"10.1007/s11219-024-09683-3","DOIUrl":"https://doi.org/10.1007/s11219-024-09683-3","url":null,"abstract":"<p>As information technology continues to advance, software applications are becoming increasingly critical. However, the growing size and complexity of software development can lead to serious flaws resulting in significant financial losses. To address this issue, Software Defect Prediction (SDP) technology is being developed to detect and resolve defects early in the software development process, ensuring high software quality. As a result, SDP research has become a major focus for academics worldwide. This study aims to compare various machine learning-based SDP algorithm models and determine if traditional machine learning algorithms affect SDP outcomes. Unlike previous studies that aimed to identify the best prediction model for all datasets, this paper constructs SDP superiority models separately for different datasets. Using the publicly available ESEM2016 dataset, 13 machine learning classification algorithms are employed to predict software defects. Evaluation indicators such as Accuracy, AUC(Area Under the Curve), F-measure, and Running Time(RT) are utilized to assess the performance of the classification algorithms. Due to the serious class imbalance problem in this dataset, 10 sampling methods are combined with the 13 machine learning algorithms to explore the effect of sampling techniques on the performance of traditional machine learning classification models. Finally, a comprehensive evaluation is conducted to identify the best combination of sampling techniques and classification models to construct the final dominant model for SDP.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"189 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141523168","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-07-03DOI: 10.1007/s11219-024-09686-0
Stefan Karlsson, Robbert Jongeling, Adnan Čaušević, Daniel Sundmark
A common way of exposing functionality in contemporary systems is by providing a Web-API based on the REST API architectural guidelines. To describe REST APIs, the industry standard is currently OpenAPI-specifications. Test generation and fuzzing methods targeting OpenAPI-described REST APIs have been a very active research area in recent years. An open research challenge is to aid users in better understanding their API, in addition to finding faults and to cover all the code. In this paper, we address this challenge by proposing a set of behavioural properties, common to REST APIs, which are used to generate examples of behaviours that these APIs exhibit. These examples can be used both (i) to further the understanding of the API and (ii) as a source of automatic test cases. Our evaluation shows that our approach can generate examples deemed relevant for understanding the system and for a source of test generation by practitioners. In addition, we show that basing test generation on behavioural properties provides tests that are less dependent on the state of the system, while at the same time yielding a similar code coverage as state-of-the-art methods in REST API fuzzing in a given time limit.
在当代系统中,公开功能的一种常见方式是根据 REST API 架构指南提供网络应用程序接口(Web-API)。目前,描述 REST API 的行业标准是 OpenAPI 规范。近年来,针对 OpenAPI 描述的 REST API 的测试生成和模糊处理方法一直是一个非常活跃的研究领域。除了查找故障和覆盖所有代码外,帮助用户更好地理解其 API 也是一项公开的研究挑战。在本文中,我们针对这一挑战提出了一套 REST 应用程序接口常见的行为属性,用于生成这些应用程序接口的行为示例。这些示例可用于:(i) 进一步理解 API;(ii) 作为自动测试案例的来源。我们的评估结果表明,我们的方法可以生成与理解系统相关的示例,并可作为从业人员生成测试的来源。此外,我们还表明,基于行为属性生成测试可提供对系统状态依赖性较低的测试,同时在给定的时间限制内,其代码覆盖率与 REST API 模糊测试中最先进的方法相似。
{"title":"Exploring behaviours of RESTful APIs in an industrial setting","authors":"Stefan Karlsson, Robbert Jongeling, Adnan Čaušević, Daniel Sundmark","doi":"10.1007/s11219-024-09686-0","DOIUrl":"https://doi.org/10.1007/s11219-024-09686-0","url":null,"abstract":"<p>A common way of exposing functionality in contemporary systems is by providing a Web-API based on the REST API architectural guidelines. To describe REST APIs, the industry standard is currently OpenAPI-specifications. Test generation and fuzzing methods targeting OpenAPI-described REST APIs have been a very active research area in recent years. An open research challenge is to aid users in better understanding their API, in addition to finding faults and to cover all the code. In this paper, we address this challenge by proposing a set of behavioural properties, common to REST APIs, which are used to generate examples of behaviours that these APIs exhibit. These examples can be used both (i) to further the understanding of the API and (ii) as a source of automatic test cases. Our evaluation shows that our approach can generate examples deemed <i>relevant</i> for understanding the system and for a source of test generation by practitioners. In addition, we show that basing test generation on behavioural properties provides tests that are less dependent on the state of the system, while at the same time yielding a similar code coverage as state-of-the-art methods in REST API fuzzing in a given time limit.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"33 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141546998","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-06-27DOI: 10.1007/s11219-024-09684-2
Jiaqi Yin, Sini Chen, Yixiao Lv, Huibiao Zhu
Inter-Component Communication (ICC) plays a crucial role in facilitating information exchange and functionality integration within the complex ecosystem of Android systems. However, the security and safety implications arising from ICC interactions pose significant challenges. This paper is an extended work building upon our previously published research that focuses on the verification of safety properties in the ICC mechanism. We address the previously observed issues of data leakage and privilege escalation by incorporating a sandbox mechanism and permission control. The sandbox mechanism provides an isolated and controlled environment in which ICC components can operate while permission control mechanisms are introduced to enforce fine-grained access controls, ensuring that only authorized entities have access to sensitive resources. We further leverage formal methods, specifically communicating sequential processes (CSP), to verify several properties of the enhanced ICC mechanism. By employing CSP, we aim to systematically model and analyze the flow of information, the behavior of components, and the potential vulnerabilities associated with the enhanced ICC mechanism. The verification results highlight the effectiveness of our approach in enhancing the security and reliability of ICC mechanisms, ultimately contributing to the development of safer and more trustworthy Android Systems.
{"title":"Enhancement and formal verification of the ICC mechanism with a sandbox approach in android system","authors":"Jiaqi Yin, Sini Chen, Yixiao Lv, Huibiao Zhu","doi":"10.1007/s11219-024-09684-2","DOIUrl":"https://doi.org/10.1007/s11219-024-09684-2","url":null,"abstract":"<p>Inter-Component Communication (ICC) plays a crucial role in facilitating information exchange and functionality integration within the complex ecosystem of Android systems. However, the security and safety implications arising from ICC interactions pose significant challenges. This paper is an extended work building upon our previously published research that focuses on the verification of safety properties in the ICC mechanism. We address the previously observed issues of data leakage and privilege escalation by incorporating a sandbox mechanism and permission control. The sandbox mechanism provides an isolated and controlled environment in which ICC components can operate while permission control mechanisms are introduced to enforce fine-grained access controls, ensuring that only authorized entities have access to sensitive resources. We further leverage formal methods, specifically communicating sequential processes (CSP), to verify several properties of the enhanced ICC mechanism. By employing CSP, we aim to systematically model and analyze the flow of information, the behavior of components, and the potential vulnerabilities associated with the enhanced ICC mechanism. The verification results highlight the effectiveness of our approach in enhancing the security and reliability of ICC mechanisms, ultimately contributing to the development of safer and more trustworthy Android Systems.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"60 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141529571","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Auxiliary functions in software systems, often overlooked due to their perceived simplicity, play a crucial role in overall system reliability. This study focuses on the effectiveness of agile practices, specifically the pair programming and the test-first programming practices. Despite the importance of these functions, there exists a dearth of empirical evidence on the impact of agile practices on their development, raising questions about their potential to enhance correctness without affecting time-to-market. This paper aims to bridge this gap by comparing the application of agile practices with traditional approaches in the context of auxiliary function development. We conducted six experiments involving 122 participants (85 novices and 37 professionals) who used both traditional and agile methods to develop six auxiliary functions across three different domains. Our analysis of 244 implementations suggests the potential benefits of agile practices in auxiliary function development. Pair programming showed a tendency towards improved correctness, while test-first programming did not significantly extend the total development time, particularly among professionals. However, these findings should be interpreted cautiously as they do not conclusively establish that agile practices outperform traditional approaches universally. As indicated by our results, the potential benefits of agile practices may vary depending on factors such as the programmer’s experience level and the nature of the functions being developed. Further research is needed to fully understand the contexts in which these practices can be most effectively applied and to address the potential limitations of our study.
{"title":"Unraveling the code: an in-depth empirical study on the impact of development practices in auxiliary functions implementation","authors":"Otávio Lemos, Fábio Silveira, Fabiano Ferrari, Tiago Silva, Eduardo Guerra, Alessandro Garcia","doi":"10.1007/s11219-024-09682-4","DOIUrl":"https://doi.org/10.1007/s11219-024-09682-4","url":null,"abstract":"<p>Auxiliary functions in software systems, often overlooked due to their perceived simplicity, play a crucial role in overall system reliability. This study focuses on the effectiveness of agile practices, specifically the pair programming and the test-first programming practices. Despite the importance of these functions, there exists a dearth of empirical evidence on the impact of agile practices on their development, raising questions about their potential to enhance correctness without affecting time-to-market. This paper aims to bridge this gap by comparing the application of agile practices with traditional approaches in the context of auxiliary function development. We conducted six experiments involving 122 participants (85 novices and 37 professionals) who used both traditional and agile methods to develop six auxiliary functions across three different domains. Our analysis of 244 implementations suggests the potential benefits of agile practices in auxiliary function development. Pair programming showed a tendency towards improved correctness, while test-first programming did not significantly extend the total development time, particularly among professionals. However, these findings should be interpreted cautiously as they do not conclusively establish that agile practices outperform traditional approaches universally. As indicated by our results, the potential benefits of agile practices may vary depending on factors such as the programmer’s experience level and the nature of the functions being developed. Further research is needed to fully understand the contexts in which these practices can be most effectively applied and to address the potential limitations of our study.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"25 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141507337","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-05-14DOI: 10.1007/s11219-024-09667-3
Monika Rani Golla, Sangharatna Godboley
One of the main objectives of testing is to achieve adequate code coverage. Modern code coverage standards suggest MC/DC (Modified Condition/Decision Coverage) instead of MCC (Multiple Condition Coverage) due to its ability to generate a feasible number of test cases. In contrast to the MC/DC, which only takes independent pairs into consideration, the MCC often considers each and every test case. In our work, we suggest SC-MCC, i.e., MCC with Short-Circuit. The key aspect of this paper is to demonstrate the effectiveness of SC-MCC-based test cases compared to MC/DC using Coverage-Guided Fuzzing (CGF) technique. In this work, we have considered American Fuzzy Lop (AFL) tool to generate both the SC-MCC and MC/DC test cases for 54 RERS benchmark programs. As part of this paper, we propose unique goal constraint generation and fuzz-instrumentation techniques that help in mitigating the masking problem of AFL. Subsequently, we performed mutation testing by employing the GCOV tool and computed the mutation score in order to evaluate the quality of the generated test cases. Finally, based on our observations, SC-MCC has performed better for over 85% of the programs taken into consideration.
{"title":"Automated SC-MCC test case generation using coverage-guided fuzzing","authors":"Monika Rani Golla, Sangharatna Godboley","doi":"10.1007/s11219-024-09667-3","DOIUrl":"https://doi.org/10.1007/s11219-024-09667-3","url":null,"abstract":"<p>One of the main objectives of testing is to achieve adequate code coverage. Modern code coverage standards suggest MC/DC (Modified Condition/Decision Coverage) instead of MCC (Multiple Condition Coverage) due to its ability to generate a feasible number of test cases. In contrast to the MC/DC, which only takes independent pairs into consideration, the MCC often considers each and every test case. In our work, we suggest SC-MCC, i.e., MCC with Short-Circuit. The key aspect of this paper is to demonstrate the effectiveness of SC-MCC-based test cases compared to MC/DC using Coverage-Guided Fuzzing (CGF) technique. In this work, we have considered American Fuzzy Lop (AFL) tool to generate both the SC-MCC and MC/DC test cases for 54 RERS benchmark programs. As part of this paper, we propose unique goal constraint generation and fuzz-instrumentation techniques that help in mitigating the masking problem of AFL. Subsequently, we performed mutation testing by employing the GCOV tool and computed the mutation score in order to evaluate the quality of the generated test cases. Finally, based on our observations, SC-MCC has performed better for over 85% of the programs taken into consideration.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"161 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140939100","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-05-14DOI: 10.1007/s11219-024-09669-1
Umut Şener, Ebru Gökalp, P. Erhan Eren
Organizations are increasingly migrating from on-premise enterprise information systems (EIS) to cloud products due to cloud computing benefits, such as flexibility, elasticity, and on-demand service. However, identifying the most suitable option becomes challenging with the proliferation of Cloud-EIS solutions in the market. To address this challenge, this study introduces a novel quality model named Cloud-QM, based on ISO/IEC 250nn standards. It diagnoses the quality of Cloud-EIS products, benchmarks available options, and identifies the most suitable choice for the organization. Cloud-QM comprises 10 main dimensions, 33 sub-dimensions, and corresponding metrics for a systematic quality assessment. Furthermore, the practical use of Cloud-QM is illustrated through a case study that evaluates two substitute Cloud-EIS products. The results from the case study highlight the effectiveness of Cloud-QM in enabling decision-makers to delve into the quality dimensions and facilitate the selection of the most suitable product for their organizations. The main contributions are as follows: (1) proposing a comprehensive and hierarchically structured quality model for Cloud-EIS products; (2) offering a quantifiable and standardized assessment approach through a set of metrics for quality evaluation; and (3) demonstrating applicability and usability of Cloud-QM by benchmarking Cloud-EIS products.
{"title":"CLOUD-QM: a quality model for benchmarking cloud-based enterprise information systems","authors":"Umut Şener, Ebru Gökalp, P. Erhan Eren","doi":"10.1007/s11219-024-09669-1","DOIUrl":"https://doi.org/10.1007/s11219-024-09669-1","url":null,"abstract":"<p>Organizations are increasingly migrating from on-premise enterprise information systems (EIS) to cloud products due to cloud computing benefits, such as flexibility, elasticity, and on-demand service. However, identifying the most suitable option becomes challenging with the proliferation of Cloud-EIS solutions in the market. To address this challenge, this study introduces a novel quality model named Cloud-QM, based on ISO/IEC 250nn standards. It diagnoses the quality of Cloud-EIS products, benchmarks available options, and identifies the most suitable choice for the organization. Cloud-QM comprises 10 main dimensions, 33 sub-dimensions, and corresponding metrics for a systematic quality assessment. Furthermore, the practical use of Cloud-QM is illustrated through a case study that evaluates two substitute Cloud-EIS products. The results from the case study highlight the effectiveness of Cloud-QM in enabling decision-makers to delve into the quality dimensions and facilitate the selection of the most suitable product for their organizations. The main contributions are as follows: (1) proposing a comprehensive and hierarchically structured quality model for Cloud-EIS products; (2) offering a quantifiable and standardized assessment approach through a set of metrics for quality evaluation; and (3) demonstrating applicability and usability of Cloud-QM by benchmarking Cloud-EIS products.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"98 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140939288","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-05-10DOI: 10.1007/s11219-024-09670-8
Xinjie Wei, Chang-ai Sun, Xiao-Yi Zhang
Large-scale distributed systems are becoming key engines of the IT industry due to their scalability and extensibility. A distributed system often involves numerous complex interactions among components, suffering anomalies such as data inconsistencies between components and unanticipated delays in response times. Existing anomaly detection techniques, which extract knowledge from system logs using either statistical or machine learning techniques, exhibit limitations. Statistical techniques often miss implicit anomalies that are related to complex interactions manifested by logs, whereas machine learning techniques lack explainability and they are usually sensitive to log variations. In this paper, we propose KAD, a knowledge formalization-based anomaly detection approach for distributed systems. KAD includes a general knowledge description language (KDL), leveraging the general structure of system logs and extended Backus-Naur form (EBNF) for complex knowledge extraction. Particularly, the semantic set is constructed based on the bidirectional encoder representation from the transformer (BERT) model to improve the expressive capabilities of KDL in knowledge description. In addition, KAD incorporates distributed scheduling computation module to improve the efficiency of anomaly detection processes. Experimental results based on two widely used benchmarks show that KAD can accurately describe the knowledge associated with anomalies, with a high F1-score in detecting various anomaly types.
大型分布式系统因其可扩展性和可伸缩性,正在成为 IT 行业的关键引擎。分布式系统通常涉及众多组件之间的复杂交互,会出现组件之间数据不一致和响应时间意外延迟等异常情况。现有的异常检测技术利用统计或机器学习技术从系统日志中提取知识,但这些技术都有局限性。统计技术往往会遗漏与日志中表现出的复杂交互相关的隐含异常,而机器学习技术则缺乏可解释性,它们通常对日志变化很敏感。在本文中,我们提出了一种基于知识形式化的分布式系统异常检测方法 KAD。KAD 包括通用知识描述语言(KDL),利用系统日志的通用结构和扩展 Backus-Naur form(EBNF)进行复杂知识提取。特别是,语义集是基于转换器(BERT)模型的双向编码器表示法构建的,以提高 KDL 在知识描述方面的表达能力。此外,KAD 还加入了分布式调度计算模块,以提高异常检测过程的效率。基于两个广泛使用的基准的实验结果表明,KAD 能够准确描述与异常相关的知识,在检测各种异常类型时具有较高的 F1 分数。
{"title":"KAD: a knowledge formalization-based anomaly detection approach for distributed systems","authors":"Xinjie Wei, Chang-ai Sun, Xiao-Yi Zhang","doi":"10.1007/s11219-024-09670-8","DOIUrl":"https://doi.org/10.1007/s11219-024-09670-8","url":null,"abstract":"<p>Large-scale distributed systems are becoming key engines of the IT industry due to their scalability and extensibility. A distributed system often involves numerous complex interactions among components, suffering anomalies such as data inconsistencies between components and unanticipated delays in response times. Existing anomaly detection techniques, which extract knowledge from system logs using either statistical or machine learning techniques, exhibit limitations. Statistical techniques often miss implicit anomalies that are related to complex interactions manifested by logs, whereas machine learning techniques lack explainability and they are usually sensitive to log variations. In this paper, we propose KAD, a knowledge formalization-based anomaly detection approach for distributed systems. KAD includes a general knowledge description language (KDL), leveraging the general structure of system logs and extended Backus-Naur form (EBNF) for complex knowledge extraction. Particularly, the semantic set is constructed based on the bidirectional encoder representation from the transformer (BERT) model to improve the expressive capabilities of KDL in knowledge description. In addition, KAD incorporates distributed scheduling computation module to improve the efficiency of anomaly detection processes. Experimental results based on two widely used benchmarks show that KAD can accurately describe the knowledge associated with anomalies, with a high F1-score in detecting various anomaly types.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"40 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-05-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140939196","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}