Zheng Li , Mingyu Li , Shumei Wu , Shunqing Xu , Xiang Chen , Yong Liu
{"title":"GBSR: Graph-based suspiciousness refinement for improving fault localization","authors":"Zheng Li , Mingyu Li , Shumei Wu , Shunqing Xu , Xiang Chen , Yong Liu","doi":"10.1016/j.jss.2024.112189","DOIUrl":"10.1016/j.jss.2024.112189","url":null,"abstract":"<div><p>Fault Localization (FL) is an important and time-consuming phase of software debugging. The essence of FL lies in the process of calculating the suspiciousness of different program entities (e.g., statements) and generating a ranking list to guide developers in their code inspection. Nonetheless, a prevalent challenge within existing FL methodologies is the propensity for program entities with analogous execution information to receive a similar suspiciousness. This phenomenon can lead to confusion among developers, thereby reducing the effectiveness of debugging significantly. To alleviate this issue, we introduce fine-grained contextual information (such as partial code structural, coverage, and features from mutation analysis) to enrich the characteristics of program entities. Graphical structures are proposed to organize such information, where the passed and failed tests are constructed separately with the consideration of their differential impacts. In order to support the analysis of multidimensional features and the representation of large-scale programs, the PageRank algorithm is adopted to compute each program entity’s weight. Rather than altering the fundamental FL process, we leverage these computed weights to refine the suspiciousness produced by various FL techniques, thereby providing developers with a more precise and actionable ranking of potential fault locations. The proposed strategy Graph-Based Suspiciousness Refinement (GBSR) is evaluated on 243 real-world faulty programs from the Defects4J. The results demonstrate that GBSR can improve the accuracy of various FL techniques. Specifically, for the refinement with traditional SBFL and MBFL techniques, the number of faults localized by the first position of the ranking list (<span><math><mrow><mi>T</mi><mi>o</mi><mi>p</mi></mrow></math></span>-1) is increased by 189% and 68%, respectively. Furthermore, GBSR can also boost the state-of-the-art learning-based FL technique Grace by achieving a 2.8% performance improvement in <span><math><mrow><mi>T</mi><mi>o</mi><mi>p</mi></mrow></math></span>-1.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"218 ","pages":"Article 112189"},"PeriodicalIF":3.7,"publicationDate":"2024-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142098169","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Web application testing—Challenges and opportunities","authors":"Sebastian Balsam, Deepti Mishra","doi":"10.1016/j.jss.2024.112186","DOIUrl":"10.1016/j.jss.2024.112186","url":null,"abstract":"<div><h3>Context:</h3><p>A large part of the software produced by many companies and organizations today are web applications. Testing web applications is vital to ensure and maintain the quality of these systems. They play an important role in promoting brands and enabling better communication with customers.</p></div><div><h3>Objective:</h3><p>There is a gap in existing literature research in recent years regarding testing of web applications, although the landscape of web applications techniques has changed. New methods, frameworks, environments and techniques have recently been used both for developing and testing these applications. This paper presents an overview of the research directions, problems and challenges in the field of Web application testing in the last decade. Our paper investigates current implementation and validation techniques, the quality of existing approaches and reveals areas of incomplete or superficial research.</p></div><div><h3>Methods:</h3><p>In this paper, a systematic literature review about the state of web application testing has been conducted. Based on initially about 6000 papers, that were extracted from Science Direct, Springer Link, WebOfScience, IEEE Explore and ACM, we used a final number of 72 papers after a filtration process for this literature review. The extracted papers were examined for demographics, problems, techniques and tools. We looked at the quality, the empirical evidence and the test application used for validating the different methods in the extracted papers.</p></div><div><h3>Results:</h3><p>The most important journals, authors, tools and research directions in this field are discovered, a deep analysis of quality, rigor and empirical evidence is given, and the most important validation applications are described. We found that three groups of authors contributed to more than 25% of the papers, the three most important journals published more than 50% of the papers. 30% of the developed tools were open accessible. Most papers had a good description of study design and threats for validity, but have little industrial relevance. Only 6 papers validated on industrial applications. Only 40% of these papers compared their technique with other existing techniques, and applications used for validation are usually outdated.</p></div><div><h3>Conclusions:</h3><p>We discuss trends and challenges in research in web application testing. We also show gaps in research and areas that need more attention from the research community. Research in web application testing needs more focus on industrial relevance and scalability to analyze the usability for industry. New techniques should be validated on modern test application frameworks to get comparable results. The results can help researchers to get an overview of publication venues, active researchers, current research gaps and problems in the field.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"219 ","pages":"Article 112186"},"PeriodicalIF":3.7,"publicationDate":"2024-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0164121224002309/pdfft?md5=3ef92544adb97aa90f903887254cfc82&pid=1-s2.0-S0164121224002309-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142167884","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Astri Moksnes Barbala, Geir Kjetil Hanssen, Tor Sporsem
{"title":"Towards a common data-driven culture: A longitudinal study of the tensions and emerging solutions involved in becoming data-driven in a large public sector organization","authors":"Astri Moksnes Barbala, Geir Kjetil Hanssen, Tor Sporsem","doi":"10.1016/j.jss.2024.112185","DOIUrl":"10.1016/j.jss.2024.112185","url":null,"abstract":"<div><p>In recent years, the push to make organizations data-driven has led to data-focused software projects, both in the private and public sectors. The strive for increasing data-driven initiatives introduces a range of new socio-technical challenges, yet there are to date few empirical studies in terms of how data-focused initiatives affect large organizations with significant variations in terms of data needs and usage. This study presents a longitudinal descriptive case study of how data-driven initiatives in the Norwegian public sector cause organizational tensions in a very large, complex organization. We conducted 32 semi-structured interviews over a period of 18 months representing two different data-intensive parts of the organization that had developed incompatible data cultures. Our study shows that these cultural differences create organizational conflicts that hinder data-driven initiatives. The findings also suggest, however, that overcoming these is possible through the strategic, top-down facilitation of a common data-driven culture built on uniting data principles, in turn potentially leading to improved decision-making and enhanced innovation.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"218 ","pages":"Article 112185"},"PeriodicalIF":3.7,"publicationDate":"2024-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142098170","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adaptive data quality scoring operations framework using drift-aware mechanism for industrial applications","authors":"Firas Bayram , Bestoun S. Ahmed , Erik Hallin","doi":"10.1016/j.jss.2024.112184","DOIUrl":"10.1016/j.jss.2024.112184","url":null,"abstract":"<div><p>Within data-driven artificial intelligence (AI) systems for industrial applications, ensuring the reliability of the incoming data streams is an integral part of trustworthy decision-making. An approach to assess data validity is data quality scoring, which assigns a score to each data point or stream based on various quality dimensions. However, certain dimensions exhibit dynamic qualities, which require adaptation on the basis of the system’s current conditions. Existing methods often overlook this aspect, making them inefficient in dynamic production environments. In this paper, we introduce the Adaptive Data Quality Scoring Operations Framework, a novel framework developed to address the challenges posed by dynamic quality dimensions in industrial data streams. The framework introduces an innovative approach by integrating a dynamic change detector mechanism that actively monitors and adapts to changes in data quality, ensuring the relevance of quality scores. We evaluate the proposed framework performance in a real-world industrial use case. The experimental results reveal high predictive performance and efficient processing time, highlighting its effectiveness in practical quality-driven AI applications.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"217 ","pages":"Article 112184"},"PeriodicalIF":3.7,"publicationDate":"2024-08-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0164121224002280/pdfft?md5=11e8fc908484f0a491cea864fab6396e&pid=1-s2.0-S0164121224002280-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142002324","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Experimental evaluation of architectural software performance design patterns in microservices","authors":"Willem Meijer , Catia Trubiani , Aldeida Aleti","doi":"10.1016/j.jss.2024.112183","DOIUrl":"10.1016/j.jss.2024.112183","url":null,"abstract":"<div><p>Microservice architectures and design patterns enhance the development of large-scale applications by promoting flexibility. Industrial practitioners perceive the importance of applying architectural patterns but they struggle to quantify their impact on system quality requirements. Our research aims to quantify the effect of design patterns on system performance metrics, e.g., service latency and resource utilization, even more so when the patterns operate in real-world environments subject to heterogeneous workloads. We built a cloud infrastructure to host a well-established benchmark system that represents our test bed, complemented by the implementation of three design patterns: Gateway Aggregation, Gateway Offloading, Pipe and Filters. Real performance measurements are collected and compared with model-based predictions that we derived as part of our previous research, thus further consolidating the actual impact of these patterns. Our results demonstrate that, despite the difficulty to parameterize our benchmark system, model-based predictions are in line with real experimentation, since the performance behaviors of patterns, e.g., bottleneck switches, are mostly preserved. In summary, this is the first work that experimentally demonstrates the performance behavior of microservices-based architectural patterns. Results highlight the complexity of evaluating the performance of design patterns and emphasize the need for complementing theoretical models with empirical data.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"218 ","pages":"Article 112183"},"PeriodicalIF":3.7,"publicationDate":"2024-08-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0164121224002279/pdfft?md5=14118d7bfbb73c2d2f636735b1874ad9&pid=1-s2.0-S0164121224002279-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142098300","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Evolution patterns of software-architecture smells: An empirical study of intra- and inter-version smells","authors":"Philipp Gnoyke , Sandro Schulze , Jacob Krüger","doi":"10.1016/j.jss.2024.112170","DOIUrl":"10.1016/j.jss.2024.112170","url":null,"abstract":"<div><p>Architecture smells are a widely established concept to describe symptoms of software degradation by measuring perceived violations of software-design principles. As such, architecture smells can help developers assess and understand the architectural quality of their software system. However, research has rarely been concerned with how architecture smells evolve and whether they actually foster software degradation during a system’s evolution. Building on our previous work in this direction, we present extended techniques for measuring architecture smells, novel visualizations, as well as an empirical study of how architecture smells evolve and what typical patterns they exhibit in 485 releases of 14 open-source systems. Among others, the results of our study indicate that especially cyclic dependencies on the class-level are prone to becoming highly complex over time, with one of the reasons being the continued merging of smells, most often resulting in tangled multi-hubs. Moreover, we found unstable dependencies to mostly grow slowly over time, whereas hub-like dependencies remain rather stable during a system’s evolution. These findings are valuable for practitioners to identify and tackle system degeneration, as well as for researchers to scope new research on managing architecture smells and technical debt.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"217 ","pages":"Article 112170"},"PeriodicalIF":3.7,"publicationDate":"2024-08-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0164121224002152/pdfft?md5=ee022032f4f27f4603b1cb6a7bc058ba&pid=1-s2.0-S0164121224002152-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141984699","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An empirical study on bug severity estimation using source code metrics and static analysis","authors":"Ehsan Mashhadi , Shaiful Chowdhury , Somayeh Modaberi , Hadi Hemmati , Gias Uddin","doi":"10.1016/j.jss.2024.112179","DOIUrl":"10.1016/j.jss.2024.112179","url":null,"abstract":"<div><p>In the past couple of decades, significant research efforts have been devoted to the prediction of software bugs (i.e., defects). In general, these works leverage a diverse set of metrics, tools, and techniques to predict which classes, methods, lines, or commits are buggy. However, most existing work in this domain treats all bugs the same, which is not the case in practice. The more severe the bugs the higher their consequences. Therefore, it is important for a defect prediction method to estimate the severity of the identified bugs, so that the higher severity ones get immediate attention. In this paper, we provide a quantitative and qualitative study on two popular datasets (Defects4J and Bugs.jar), using 10 common source code metrics, and two popular static analysis tools (SpotBugs and Infer) for analyzing their capability to predict defects and their severity. We studied 3,358 buggy methods with different severity labels from 19 Java open-source projects. Results show that although code metrics are useful in predicting buggy code (Lines of the Code, Maintainable Index, FanOut, and Effort metrics are the best), they cannot estimate the severity level of the bugs. In addition, we observed that static analysis tools have weak performance in both predicting bugs (F1 score range of 3.1%–7.1%) and their severity label (F1 score under 2%). We also manually studied the characteristics of the severe bugs to identify possible reasons behind the weak performance of code metrics and static analysis tools in estimating their severity. Also, our categorization shows that Security bugs have high severity in most cases while Edge/Boundary faults have low severity. Finally, we discuss the practical implications of the results and propose new directions for future research.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"217 ","pages":"Article 112179"},"PeriodicalIF":3.7,"publicationDate":"2024-08-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0164121224002243/pdfft?md5=a39163bbaede6f3d8ae30da169d41fa3&pid=1-s2.0-S0164121224002243-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142021335","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Fengyu Yang , Guangdong Zeng , Fa Zhong , Peng Xiao , Wei Zheng , Fuxing Qiu
{"title":"CfExplainer: Explainable just-in-time defect prediction based on counterfactuals","authors":"Fengyu Yang , Guangdong Zeng , Fa Zhong , Peng Xiao , Wei Zheng , Fuxing Qiu","doi":"10.1016/j.jss.2024.112182","DOIUrl":"10.1016/j.jss.2024.112182","url":null,"abstract":"<div><p>Just-in-time (JIT) defect prediction helps rationally allocate testing resources and reduce testing costs. However, most JIT defect prediction models lack explainability, which significantly affects their credibility. Recently, the local interpretable model-agnostic explanations (LIME) method has been used widely in model-explainable research, and many improved LIME-based methods have been proposed. However, problems with respect to explanation effectiveness and reliability remain, which seriously affects the practical use of LIME. To address this problem, CfExplainer, a local rule-based model-agnostic approach, is proposed. The approach first applies counterfactuals to generate synthetic instances. It then mines weighted class association rules based on synthetic instances, and it optimises the process of generating, ranking, pruning, and predicting the class association rules. Next, it employs the rules with the highest priority to explain the prediction results of the model. Experiments were conducted using the public datasets employed in related studies. Compared to other state-of-the-art methods, in terms of explanation effectiveness, CfExplainer's instance similarity improves by 26.5 %-31.2 %, and local model fittness improves by 2.0 %-3.5 %, 2.3 %-3 %, and 0.7 %-7.5 % on the AUC, F1-score, and Popt metrics, respectively. In terms of the reliability of the explanation, explanations that are 2.6 %-4.7 % more unique and 2.5 %-5.9 % more consistent with the actual characteristics of defect-introducing commits than other state-of-the-art methods. Thus, the explanations of the proposed approach can enhance the model credibility and help guide developers in fixing defects and reducing the risk of introducing them.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"218 ","pages":"Article 112182"},"PeriodicalIF":3.7,"publicationDate":"2024-08-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142047794","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Romina Eramo , Bilal Said , Marc Oriol , Hugo Bruneliere , Sergio Morales
{"title":"An architecture for model-based and intelligent automation in DevOps","authors":"Romina Eramo , Bilal Said , Marc Oriol , Hugo Bruneliere , Sergio Morales","doi":"10.1016/j.jss.2024.112180","DOIUrl":"10.1016/j.jss.2024.112180","url":null,"abstract":"<div><p>The increasing complexity of modern systems poses numerous challenges at all stages of system development and operation. Continuous software and system engineering processes, e.g., DevOps, are increasingly adopted and spread across organizations. In parallel, many leading companies have begun to apply artificial intelligence (AI) principles and techniques, including Machine Learning (ML), to improve their products. However, there is no holistic approach that can support and enhance the growing challenges of DevOps. In this paper, we propose a software architecture that provides the foundations of a model-based framework for the development of AI-augmented solutions incorporating methods and tools for continuous software and system engineering and validation. The key characteristic of the proposed architecture is that it allows leveraging the advantages of both AI/ML and Model Driven Engineering (MDE) approaches and techniques in a DevOps context. This architecture has been designed, developed and applied in the context of the European large collaborative project named AIDOaRt. In this paper, we also report on the practical evaluation of this architecture. This evaluation is based on a significant set of technical solutions implemented and applied in the context of different real industrial case studies coming from the AIDOaRt project. Moreover, we analyze the collected results and discuss them according to both architectural and technical challenges we intend to tackle with the proposed architecture.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"217 ","pages":"Article 112180"},"PeriodicalIF":3.7,"publicationDate":"2024-08-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0164121224002255/pdfft?md5=d54471e0503d6c6e1beee84152a7b5ac&pid=1-s2.0-S0164121224002255-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141963808","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Unlocking inclusive education: A quality assessment of software design in applications for children with autism","authors":"Yussy Chinchay, Javier Gomez, Germán Montoro","doi":"10.1016/j.jss.2024.112164","DOIUrl":"10.1016/j.jss.2024.112164","url":null,"abstract":"<div><p>Digital technologies are an essential resource for maximizing education opportunities, yet the COVID-19 pandemic has exposed learning inequities, particularly among underrepresented groups such as children with autism. In this study, we have evaluated the quality of a distinctive dataset of multiplatform software applications, encompassing both assistive and mainstream software, first-hand acquired from special education professionals and families of children with autism. Through a heuristic evaluation based on a system indicators, and an in-depth analysis, we aimed to (1) assess the quality and effectiveness of assistive technologies in supporting the education of children with autism; (2) determine the adaptability of mainstream applications to the unique educational needs of children with autism; and (3) explore the features and constraints of applications targeting children with ASD, categorized according to the needs they cover. The resulting quality ranking, organized by cognitive domains, provides insights into the engagement and effectiveness of applications supporting the learning of children with autism. Furthermore, the findings delineating the functionalities and limitations of these applications contribute to the identification of necessary software engineering best practices. These practices align with user-centered design principles and drive the development of accessible software, thereby fostering high-quality inclusive education for children with autism.</p></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"217 ","pages":"Article 112164"},"PeriodicalIF":3.7,"publicationDate":"2024-07-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0164121224002097/pdfft?md5=5db804a278992bb8bd75b8f331578e32&pid=1-s2.0-S0164121224002097-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141953727","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}