Stefan Karlsson, John Hughes, Robbert Jongeling, Adnan Čaušević, Daniel Sundmark
{"title":"Exploring API behaviours through generated examples","authors":"Stefan Karlsson, John Hughes, Robbert Jongeling, Adnan Čaušević, Daniel Sundmark","doi":"10.1007/s11219-024-09668-2","DOIUrl":"https://doi.org/10.1007/s11219-024-09668-2","url":null,"abstract":"<p>Understanding the behaviour of a system’s API can be hard. Giving users access to <i>relevant</i> examples of how an API behaves has been shown to make this easier for them. In addition, such examples can be used to verify expected behaviour or identify unwanted behaviours. Methods for automatically generating examples have existed for a long time. However, state-of-the-art methods rely on either white-box information, such as source code, or on formal specifications of the system behaviour. But what if you do not have access to either? This may be the case, for example, when interacting with a third-party API. In this paper, we present an approach to automatically generate relevant examples of behaviours of an API, without requiring either source code or a formal specification of behaviour. Evaluation on an industry-grade REST API shows that our method can produce small and relevant examples that can help engineers to understand the system under exploration.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"30 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-04-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140798909","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}
{"title":"Enhancing big data analytics deployment: uncovering stakeholder dynamics and balancing salience in project roles","authors":"Maria Hoffmann Jensen, Maja Due Kadenic","doi":"10.1007/s11219-024-09665-5","DOIUrl":"https://doi.org/10.1007/s11219-024-09665-5","url":null,"abstract":"<p>Deployment constitutes a pivotal aspect of data science projects, such as big data analytics (BDA). A comprehensive definition of successful deployment necessitates the integration of perspectives from both the project stakeholders and the end-users. However, adequate consideration of project stakeholders remains notably absent within the broader view of project deployment. This paper investigates the role of stakeholders in the deployment of BDA projects by applying an ethnographic research design throughout a 12-month period within a large multinational organization. The study employs critical systems heuristics concepts to identify stakeholder roles, which are subsequently classified and analyzed according to the salience model. The empirical findings point towards the missing link between the technical and the business aspects of a BDA project. The organizational function and product management, (capable of comprehending both the technical and business dimensions) must undertake a highly salient stakeholder role to effectively guide the project toward the successful deployment. Additionally, this role will be able to identify the exact beneficiaries, thus enabling them to increase their salience and their interests to resonate across the spectrum of project stakeholders. This study advances the knowledge and understanding of BDA deployment through the lens of a stakeholder perspective and systems thinking. It uncovers the necessary resources by mapping the social roles of a project and assessing their salience. Balancing role-based salience contributes to successful BDA project deployment.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"91 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-03-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140126377","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}
{"title":"Tackling visual and conceptual complexity of problem-oriented modeling of requirements","authors":"Waqas Junaid, Zhi Li","doi":"10.1007/s11219-024-09662-8","DOIUrl":"https://doi.org/10.1007/s11219-024-09662-8","url":null,"abstract":"<p>In the contemporary age of cyber-physical systems (CPS), where software governs the control, coordination, and management of physical objects to tackle real-world problems, engineering requirements for such systems present considerable challenges. Consequently, it is not surprising that the requirements engineering (RE) community, encompassing both academia and industry, has turned to established RE methodologies and applied them within the context of CPS; notably, Jackson’s Problem Frames (PF) approach deploys problem diagrams for modeling CPS. However, problem diagrams of realistic CPS often present visual and conceptual complexities, which must be addressed before PF can be usefully applied in practice. In this paper, the above problem is addressed in two steps: firstly, preliminary findings are presented by deriving from the application of eye-tracking software in the assessment of a technique designed to mitigate the visual complexity inherent in the CARE (Computer-Aided Requirements Engineering) tool developed for PF. An auto-layout technique is developed for detecting and resolving overlaps, aimed at enhancing its usability from the perspectives of cognition, psychology, and user studies; secondly, the technique of a complexity matrix is applied for calculating and evaluating the conceptual complexity inherent in problem diagrams. Our eye-tracking results show the successful implementation of overlap detection and resolution. The case studies in the second step also demonstrate the applicability and effectiveness of the complexity matrix calculations.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"98 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-03-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140097611","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}
Luana Martins, Taher A. Ghaleb, Heitor Costa, Ivan Machado
{"title":"A comprehensive catalog of refactoring strategies to handle test smells in Java-based systems","authors":"Luana Martins, Taher A. Ghaleb, Heitor Costa, Ivan Machado","doi":"10.1007/s11219-024-09663-7","DOIUrl":"https://doi.org/10.1007/s11219-024-09663-7","url":null,"abstract":"<p>Test smells, detrimental coding practices that hinder high-quality test code development, pose a significant challenge in software testing and maintenance. Software refactoring, traditionally a powerful approach for addressing code smells and improving software quality without changing functionality, often focuses on production code, leaving test code overlooked. Despite extensive research in test smell refactoring, understanding the efficacy of existing refactoring operations on test code quality remains limited. Investigating real-world developer refactoring practices is crucial to bridge this knowledge gap. In this study, we investigate refactorings performed by developers to address test smells, resulting in a comprehensive catalog of test smells and their corresponding test-specific refactorings. Two test-specific refactorings closely tied to <span>JUnit5</span> and seven version-agnostic refactorings for various <span>JUnit</span> versions have been identified. While many of these test-specific refactorings are documented in the literature, this analysis unveils new test-specific refactorings aimed at dealing with the “Inappropriate Assertion” test smell. This research provides insights into the challenges faced by developers and prevailing practices for effectively refactoring test code, thereby enhancing software testing and maintenance.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"20 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-03-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140076241","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}
{"title":"Exploring the role of big data analytics and dynamic capabilities in ESG programs within pharmaceuticals","authors":"","doi":"10.1007/s11219-024-09666-4","DOIUrl":"https://doi.org/10.1007/s11219-024-09666-4","url":null,"abstract":"<h3>Abstract</h3> <p>Achieving the United Nations’ Sustainable Development Goals (SDGs) requires environmental, social, and governance (ESG) programs in the pharmaceutical industry. Using the Millennium Development Goals, the 2030 agenda aims to transform European Union companies toward sustainability. In pharmaceuticals, in particular, ESG programs come with complexities such as employee skills, corporate goals, and management expectations. Managing these programs effectively requires advanced technologies such as big data analytics (BDA) and dynamic capabilities (DC). In this study, DC theory is used to develop an architecture for managing ESG criteria, focusing on provenance, traceability, and availability. BDA’s role in ESG programs is explored, along with its use cases and benefits, and how DC drives success in ESG implementation. The study examined five pharmaceutical companies in Germany, Portugal, and Switzerland, all consulting the same firm for BDA systems, to identify the characteristics of effective BDA implementation. The research explores how BDA and DC jointly enhance ESG efforts, the essential skills needed, and how DC aids in real-time decision-making in BDA projects aligned with ESG standards. It highlights the BDA system’s accuracy and effectiveness in managing ESG programs, with DC as a pivotal facilitator. Findings reveal BDA’s value in operational efficiency and aligning business models with ESG goals, underscoring the need for diverse skills in BDA implementation and DC’s importance in integrating various managerial capacities into effective strategies. The study promotes a dynamic, data-driven approach in the pharmaceutical industry for managing complex ESG initiatives. It stresses continuous learning, adaptation, and integrating technological advances with ethical business practices. The research concludes by emphasizing BDA and DC’s vital roles in advocating ethical, socially responsible, and environmentally sustainable practices in the pharmaceutical sector, marrying technology with ethical business strategies.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"192 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-03-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140045191","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}
{"title":"A family of experiments about how developers perceive delayed system response time","authors":"","doi":"10.1007/s11219-024-09660-w","DOIUrl":"https://doi.org/10.1007/s11219-024-09660-w","url":null,"abstract":"<h3>Abstract</h3> <p>Collecting and analyzing data about developers working on their development tasks can help improve development practices, finally increasing the productivity of teams. Indeed, monitoring and analysis tools have already been used to collect data from productivity tools. Monitoring inevitably consumes resources and, depending on their extensiveness, may significantly slow down software systems, interfering with developers’ activity. There is thus a challenging trade-off between monitoring and validating applications in their operational environment and preventing the degradation of the user experience. The lack of studies about <em>when</em> developers perceive an overhead introduced in an application makes it extremely difficult to fine-tune techniques working in the field. In this paper, we address this challenge by presenting an empirical study that quantifies how developers perceive overhead. The study consists of three replications of an experiment that involved 99 computer science students in total, followed by a small-scale experimental assessment of the key findings with 12 professional developers. Results show that non-negligible overhead can be introduced for a short period into applications without developers perceiving it and that the sequence in which complex operations are executed influences the perception of the system response time. This information can be exploited to design better monitoring techniques.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"5 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-03-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140034661","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}
{"title":"Optimal test case generation for boundary value analysis","authors":"Xiujing Guo, Hiroyuki Okamura, Tadashi Dohi","doi":"10.1007/s11219-023-09659-9","DOIUrl":"https://doi.org/10.1007/s11219-023-09659-9","url":null,"abstract":"<p>Boundary value analysis (BVA) is a common technique in software testing that uses input values that lie at the boundaries where significant changes in behavior are expected. This approach is widely recognized and used as a natural and effective strategy for testing software. Test coverage is one of the criteria to measure how much the software execution paths are covered by the set of test cases. This paper focuses on evaluating test coverage with respect to BVA by defining a metric called boundary coverage distance (BCD). The BCD metric measures the extent to which a test set covers the boundaries. In addition, based on BCD, we consider the optimal test input generation to minimize BCD under the random testing scheme. We propose three algorithms, each representing a different test input generation strategy, and evaluate their fault detection capabilities through experimental validation. The results indicate that the BCD-based approach has the potential to generate boundary values and improve the effectiveness of software testing.\u0000</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"217 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-02-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139770058","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}
{"title":"Quality evaluation meta-model for open-source software: multi-method validation study","authors":"Nebi Yılmaz, Ayça Kolukısa Tarhan","doi":"10.1007/s11219-023-09658-w","DOIUrl":"https://doi.org/10.1007/s11219-023-09658-w","url":null,"abstract":"<p>In recent years, open-source software (OSS) has attracted increasing attention due to its easy accessibility via cloud repositories, voluntary community, no vendor lock-in, and low total cost of ownership. In turn, specifying and evaluating OSS quality has become a significant challenge for OSS adoption in organizations that are inclined to use them. Although many OSS quality models have been proposed in the literature, the dynamic and diverse nature of OSS has caused these models to be heterogeneous in terms of structure and content. This has adversely affected the standardization of evaluations and led to the evaluation results obtained from different OSS quality models for the same purpose being incomparable and sometimes unreliable. Therefore, in this study, a meta-model for OSS quality (OSS-QMM), which employs a unified structure from existing quality models and enables the derivation of homogeneous models, has been proposed. For this purpose, a systematic and laborious effort has been spent via a step-based meta-model creation process including review-and-revise iterations. In order to validate the OSS-QMM, case study and expert opinion methods have been applied to answer three research questions (RQs) targeted to investigate practical applicability, results comparability, and effectiveness of using the meta-model. Multiple and embedded case study designs have been employed for evaluating three real ERP systems, and 20 subject matter experts have been interviewed during the validation process. The results of multi-faceted empirical studies have indicated that the OSS-QMM has addressed solving problems in OSS quality evaluation and its adoption with high degrees of confidence.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"29 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139770061","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}
Hanna Looks, Jannik Fangmann, Jörg Thomaschewski, María-José Escalona, Eva-Maria Schön
{"title":"Towards improving agility in public administration","authors":"Hanna Looks, Jannik Fangmann, Jörg Thomaschewski, María-José Escalona, Eva-Maria Schön","doi":"10.1007/s11219-023-09657-x","DOIUrl":"https://doi.org/10.1007/s11219-023-09657-x","url":null,"abstract":"<p>In times of crises, such as the refugee crisis or the corona pandemic, the workload in public administrations increases because of the demands of citizens or short-term legal changes. In addition, there is an increasing need for digitalization or to be able to react flexibly to changes. Agile process models and agile practices are appropriate to overcome these challenges. The objective of this paper is to investigate how public administrations can measure their degree of agility to identify potential for improving it. The authors conducted a descriptive single-case study which included multiple units of analysis in a public administration in Germany. The case study was supported by their questionnaire for measuring the degree of agility. One outcome of this study is a conceptual framework that can be used to drive agile transformation in public administrations by continuously measuring agility. Therefore, a questionnaire for measuring agility at team level in public administrations has been developed. The application of the questionnaire in three teams provide insights into dysfunctionality in the interdisciplinary teams as well as optimization potential in terms of affinity to change. The adoption of agility in public administration is a challenge, given that resistance to change is still prevalent. A transformational change is a constant journey, and therefore, the measurement of progress plays an important role in the continuous improvement of an organization. The applied approach delivers high potential for improvement in terms of agility and provides interesting insights for both practitioners and academics.</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"136 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2024-01-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139508233","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}
{"title":"Exploring better alternatives to size metrics for explainable software defect prediction","authors":"Chenchen Chai, Guisheng Fan, Huiqun Yu, Zijie Huang, Jianshu Ding, Yao Guan","doi":"10.1007/s11219-023-09656-y","DOIUrl":"https://doi.org/10.1007/s11219-023-09656-y","url":null,"abstract":"<p>Delivering reliable software under the constraint of limited time and budget is a significant challenge. Recent progress in software defect prediction is helping developers to locate defect-prone code components and allocate quality assurance resources more efficiently. However, practitioners’ criticisms on defect predictors from academia are not practical since they rely heavily on size metrics such as lines of code (LOC), which over-abstracts technical details and provides limited insights for software maintenance. Thus, the performance of predictors may be overclaimed. In response, based on a state-of-the-art defect prediction model, we (1) exclude size metrics and evaluate the impact on performance, (2) include new features such as network dependency metrics, and (3) explore which ones are better alternatives to size metrics using explainable artificial intelligence (XAI) technique. We find that excluding size metrics decreases model performance by 1.99% and 0.66% on AUC-ROC in within- and cross-project prediction respectively. The results show that two involved network dependence metrics (i.e., Betweenness and pWeakC(out)) and four other code metrics (i.e., LCOM, AVG(CC), LCOM3, and CAM) could effectively preserve or improve the prediction performance, even if we exclude size metrics. In conclusion, we suggest discarding size metrics and involving the mentioned network dependency metrics for better performance and explainability.\u0000</p>","PeriodicalId":21827,"journal":{"name":"Software Quality Journal","volume":"43 7 1","pages":""},"PeriodicalIF":1.9,"publicationDate":"2023-12-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139063487","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}