Muhammad Yaseen, Muhammad Asif Nauman, Roobaea Alroobaea, Hamed Alsufyani, Umar Farooq Khattak
{"title":"Prioritization of Functional Requirements Using Directed Graph and K-Means Clustering","authors":"Muhammad Yaseen, Muhammad Asif Nauman, Roobaea Alroobaea, Hamed Alsufyani, Umar Farooq Khattak","doi":"10.1002/smr.70019","DOIUrl":"https://doi.org/10.1002/smr.70019","url":null,"abstract":"<div>\u0000 \u0000 <p>Functional requirements (FRs) prioritization is process of ranking of software FRs from development perspective such that which requirement to be implemented first and which should not. FRs prioritization is necessary as these requirements are interrelated such that one requirement is necessary for the implementation of another requirement. Also, when two parallel developers work on interrelated dependent requirements, requirements must be prioritized. Prioritizing small size requirements is not a big issue due to a fewer number of comparisons but when developers implement large size requirements such as enterprise resource planning (ERP), it requires a huge number of comparisons. Numerous techniques are suggested for FRs prioritization such as AHP, which yield more accurate results, but these techniques are not scalable for large size software requirements. In this research paper, a new prioritization approach based on graph and k-means clustering is suggested that will capture all dependencies from a list of FRs using a directed graph and then prioritize it with a clustering technique with fewer comparisons. The proposed technique based on directed graph and clustering approach is validated on ODOO ERP, which shows that with n-1 pairwise comparisons, requirements can be prioritized.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 4","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143741562","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"How Software Design Affects Energy Performance: A Systematic Literature Review","authors":"Déaglán Connolly Bree, Mel Ó Cinnéide","doi":"10.1002/smr.70014","DOIUrl":"https://doi.org/10.1002/smr.70014","url":null,"abstract":"<p>Interest in the energy consumption of software has grown with rising energy costs and greater environmental awareness. Many approaches to research in this area have been proposed, from the examination of hardware and compiler optimizations to platform specific software modifications. However, the impact of general software design on energy efficiency remains unclear. The goal of this research is to summarize the findings of studies that empirically examine the impact of design patterns, code smells, and refactorings (which we collectively describe as <i>design elements</i>) on energy consumption. Our secondary goal is to provide an overview of the impact of these aspects of software design on energy performance and discuss the current state of the art. We present a systematic literature review (SLR) of papers that examine the impact of the aforementioned design elements on energy consumption. We perform a search through four major databases, a manual search through publications of eight conferences and five journals from 2010 through 2023, in addition to snowballing. We extract relevant data from the literature and present an overview of each experiment's setup, the data reported, and results for each design element studied. Beginning with a set of 8684 papers, we select 24 that include studies of these design elements. Overall, they provide data on 22 design patterns, 17 code smells, and 31 refactorings. Many studies are preliminary in nature, and contradictory findings are frequent. We present three main findings: (i) a wide array of design patterns, code smells, and refactorings have been examined from an energy performance perspective; (ii) many of these studies are preliminary in nature and indicate the need for further research; (iii) there has been little growth recently in publications empirically examining these aspects of software design.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 4","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.70014","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143726770","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Guillermo Fuentes-Quijada, Francisco Ruiz-González, Angélica Caro
{"title":"Improving IT/Business Alignment in DevOps: Business Capability for Adopting BizDevOps","authors":"Guillermo Fuentes-Quijada, Francisco Ruiz-González, Angélica Caro","doi":"10.1002/smr.70016","DOIUrl":"https://doi.org/10.1002/smr.70016","url":null,"abstract":"<div>\u0000 \u0000 <p>As organizations increasingly adopt DevOps practices, they often face limitations in IT/business alignment. BizDevOps emerges as an evolutionary and complementary approach that integrates business perspectives directly into the software development lifecycle, aiming to address these limitations and enhance overall organizational performance. This study investigates how BizDevOps builds upon and extends DevOps practices, focusing on developing a business capability to facilitate their integration and improve alignment without compromising agility. The study develops the BizDevOps Business Capability (BizDevOps-<span>BC</span>) through metaethnographic analysis and design principles application. To validate the applicability of this capability, both a proof of concept and an expert opinion survey were conducted. The PoC was implemented in a DevOps organization to evaluate whether this business capability improves IT-business alignment while maintaining software development agility. The expert survey gathered qualitative insights from industry professionals and academics, evaluating the relevance of BizDevOps-<span>BC</span> in various organizational contexts. The findings suggest that BizDevOps-<span>BC</span> has the potential to enhance alignment between IT and business, offering a structured approach that, if properly implemented, could help organizations evolve their DevOps practices, further improving overall IT/business alignment, without compromising their existing agility.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 3","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143699031","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Leveraging Levy Flight and Greylag Goose Optimization for Enhanced Cross-Project Defect Prediction in Software Evolution","authors":"Kripa Sekaran, Sherly Puspha Annabel Lawrence","doi":"10.1002/smr.70013","DOIUrl":"https://doi.org/10.1002/smr.70013","url":null,"abstract":"<div>\u0000 \u0000 <p>The cross-project defect prediction (CPDP) in software applications is crucial to predict defects and ensure software quality. The performance of the traditional CPDP models is degraded due to the class imbalance issue between different projects and differences in the data distribution. To overcome these limitations, a novel approach is proposed named as Levy flight–enabled greylag goose optimized UniXcoder-based stacked defect predictor (LFGGO-USDP) for the prediction of cross-project defects in the software engineering. In this paper, 23 software projects are selected from diverse datasets such as PROMISE, ReLink, AEEEM, and NASA that are preprocessed for enhancing reliability and reducing class imbalance issues. The transformation model maps source and target projects that are present in the feature space for enhancing predictive performances. During feature selection, the LF mechanism is embedded with the GGO algorithm to localize the features in the source code for enhancing diversity and minimizing local optimum issues. The integration of UniXcoder-based stacked bidirectional long short-term memory (U-SBiLSTM) is implemented as a cross-project defect predictor. The UniXcoder model extracts semantic information for source code tokenization. Then, the output of UniXcoder is fed as input to SBiLSTM, and the SBiLSTM model is applied to determine the relationship between the source code. After that, the output of UniXcoder (which contains the semantic features) is integrated with the output of SBiLSTM (which contains the sequential and temporal dependencies). After concatenating these features, the particular information is selected by using an attention mechanism for categorizing defective and nondefective classes. The experimental investigations are performed to analyze the nondefective and defective cases in software projects and numerical validation is conducted by applying different evaluation models for analyzing the superiority. The proposed model achieved the highest defect prediction accuracy of 0.986 compared to other existing approaches that demonstrates the proposed model provided better prediction outcomes.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 3","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143689672","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Multi-Perspective Review on Embedded Systems Quality: State of the Field, Challenges, and Research Directions","authors":"Müge Canpolat Şahin, Ayça Kolukisa Tarhan","doi":"10.1002/smr.70007","DOIUrl":"https://doi.org/10.1002/smr.70007","url":null,"abstract":"<div>\u0000 \u0000 <p>The use of embedded systems has increased significantly over the last decade with the proliferation of Internet of Things technology, automotive and healthcare innovations and the use of smart home appliances and consumer electronics. With this increase, the need for higher quality embedded systems has increased. There are various guidelines and standards, such as ISO/IEC 9126 and ISO/IEC 25010, for product quality evaluation. However, these guidelines cannot be directly applied to embedded systems due to the nature of these systems. Applying traditional quality standards or guidelines on these systems without modification may degrade the performance of the system, increase memory usage or energy consumption, or affect other critical physical metrics adversely. Consequently, several models and approaches have either been introduced or have adopted existing guidelines to produce high-quality embedded systems. With this motivation, to understand the state of the art, and to identify the research directions in the field, we conducted a systematic literature review (SLR). In our research, we have investigated studies published from 1980 to 2024 and provided a comprehensive review of the scientific literature on quality models, quality attributes, employed practices, and the challenges, gaps, and pitfalls in the field.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 3","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143632843","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Multilabeled Emotions Classification in Software Engineering Text Using Convolutional Neural Networks and Word Embeddings","authors":"Atif Ali Wagan, Shuaiyong Li","doi":"10.1002/smr.70010","DOIUrl":"https://doi.org/10.1002/smr.70010","url":null,"abstract":"<div>\u0000 \u0000 <p>Effective collaboration among software developers relies heavily on their ability to communicate efficiently, with emotions playing a pivotal role in this process. Emotions are widely used in human decision-making, making automated tools for emotion classification within developer communication channels essential. These tools can enhance productivity and collaboration by increasing awareness of fellow developers' emotions. Previous approaches, such as HOMER, RAKEL, and EmoTxt, have been proposed to classify emotions in Stack Overflow and Jira datasets at a finer granularity. However, these tools face performance challenges. To address these limitations, we aim to enhance multilabeled emotion classification performance by leveraging TextCNN, word embeddings, and hyper-parameter optimization. We validate the performance of this method by comparing it with the best previous methods for emotion classification in software engineering text. This approach achieves an F1-Micro score of 84.6001% on the Jira dataset and 76.9366% on the Stack Overflow dataset, showing an improvement of 3.5001% and 8.6366%, respectively. This advancement underscores the potential of this method in improving emotion classification performance, thereby fostering better collaboration and productivity among software developers.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 3","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143595191","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Using Dynamic and Static Techniques to Establish Traceability Links Between Production Code and Test Code on Python Projects: A Replication Study","authors":"Zhifei Chen, Chiheng Jia, Yanhui Li, Lin Chen","doi":"10.1002/smr.70011","DOIUrl":"https://doi.org/10.1002/smr.70011","url":null,"abstract":"<div>\u0000 \u0000 <p>The relationship between test code and production code, that is, test-to-code traceability, plays an essential role in the verification, reliability, and certification of software systems. Prior work on test-to-code traceability focuses mainly on Java. However, as Python allows more flexible testing styles, it is still unknown whether existing traceability approaches work well on Python projects. In order to address this gap in knowledge, this paper evaluates whether existing traceability approaches can accurately identify test-to-code links in Python projects. We collected seven popular Python projects and carried out an exploratory study at both the method and module levels (involving a total of 3198 test cases). On these projects, we evaluated 15 individual traceability techniques along with cross-level information propagation and four combining resolution strategies. The results reveal that the performance of test-to-code traceability approaches on Python has many differences with Java: (1) most of the existing techniques have poor effectiveness for Python; (2) after augmenting with cross-level information, the recall surprisingly drops; and (3) machine learning based combination approach achieves the best recall but the worst precision. These findings shed light on the best traceability approaches for Python projects, and also provide guidelines for researchers and the Python community.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 3","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143595190","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Guest Editorial for the Special Issue on Source Code Analysis and Manipulation, SCAM 2022","authors":"Banani Roy, Mohammad Ghafari, Mariano Ceccato","doi":"10.1002/smr.70006","DOIUrl":"https://doi.org/10.1002/smr.70006","url":null,"abstract":"<p>This issue of the <i>Journal of Software:Evolution and Process</i> focuses on the foundation of software engineering—the source code itself. While much of the software engineering community properly emphasizes aspects like specification, design, and requirements engineering, the source code provides the only precise description of a system's behavior. Therefore, the analysis and manipulation of source code remain critical concerns.</p><p>This issue contains, among others, the extended version of the best papers presented at the 22nd IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2022) held in Limassol Cyprus, in October 2022.</p><p>The SCAM Conference aims to bring together researchers and practitioners working on theory, techniques, and applications that concern analysis and/or manipulation of the source code of software systems. The term <i>“source code”</i> refers to any fully executable description of a software system, such as machine code, (very) high-level languages, and executable graphical representations of systems. The term <i>“analysis”</i> refers to any (semi)automated procedure that yields insight into source code, while <i>“manipulation”</i> refers to any automated or semi-automated procedure that takes and returns source code. While much attention in the wider software engineering community is directed towards other aspects of systems development and evolution, such as specification, design, and requirements engineering, it is the source code that contains the only precise description of the behavior of a system. Hence, the analysis and manipulation of source code remains a pressing concern for which SCAM 2022 solicited high-quality paper submissions.</p><p>The SCAM 2022 conference received a total of 73 submissions. There were 45 submissions to the main research track, of which one was desk rejected for violation of the double-blind policy. The remaining 44 submissions went through a thorough review process. Every paper was fully reviewed by three or more program committee members for relevance, soundness and originality and discussed before final decisions were made. The program committee decided to accept 17 papers (acceptance rate 39%). The Engineering track has received 11 submissions, desk rejected one and accepted 5, the NIER track has received 16 submissions and accepted 10, and finally, the RENE track has received 4 submissions and accepted 1.</p><p>A public open call was published to invite outstanding papers by other authors on source code analysis and manipulation. In total, 10 papers were submitted to this special issue. Each of the submissions was reviewed by a minimum of three expert referees. Following the first round of review, the authors were asked to revise their papers in response to the referees' comments, and the revised drafts were then reviewed for conformance to the referees' comments. Among those, only five papers were selected for publication in this special issu","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 3","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.70006","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143554530","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"BET-BiLSTM Model: A Robust Solution for Automated Requirements Classification","authors":"Jalil Abbas, Cheng Zhang, Bin Luo","doi":"10.1002/smr.70012","DOIUrl":"https://doi.org/10.1002/smr.70012","url":null,"abstract":"<div>\u0000 \u0000 <p>Transformer methods have revolutionized software requirements classification by combining advanced natural language processing to accurately understand and categorize requirements. While traditional methods like Doc2Vec and TF-IDF are useful, they often fail to capture the deep contextual relationships and subtle meanings inherent in textual data. Transformer models possess unique strengths and weaknesses, impacting their ability to capture various aspects of the data. Consequently, relying on a single model can lead to suboptimal feature representations, limiting the overall performance of the classification task. To address this challenge, our study introduces an innovative BET-BiLSTM (balanced ensemble transformers using Bi-LSTM) model. This model combines the strengths of five transformer–based models BERT, RoBERTa, XLNet, GPT-2, and T5 through weighted averaging ensemble, resulting in a sophisticated and resilient feature set. By employing data balancing techniques, we ensure a well-distributed representation of features, addressing the issue of class imbalance. The BET-BiLSTM model plays a crucial role in the classification process, achieving an impressive accuracy of 96%. Moreover, the practical applicability of this model is validated through its successful implementation on three publicly available unlabeled datasets and one additional labeled dataset. The model significantly improved the completeness and reliability of these datasets by accurately predicting labels for previously unclassified requirements. This makes our approach a powerful tool for large-scale requirements analysis and classification tasks, outperforming traditional single-model methods and showcasing its real-world effectiveness.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 3","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143554528","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Why Not Fix This Bug? Characterizing and Identifying Bug-Tagged Issues That Are Truly Fixed by Developers","authors":"Ye Wang, Zhengru Han, Qiao Huang, Bo Jiang","doi":"10.1002/smr.70008","DOIUrl":"https://doi.org/10.1002/smr.70008","url":null,"abstract":"<div>\u0000 \u0000 <p>The GitHub issue community serves as the primary means for project developers to obtain information about program bugs, and numerous GitHub users post issues based on encountered project vulnerabilities or error messages. However, these issues often vary in quality, leading to a significant time burden on project developers. By collecting 2500 bug-related issues from five GitHub projects, we first manually analyze a large volume of issue information to formulate rules for identifying whether a bug-tagged issue is truly fixed by project developers. We find that a substantial number (ranging from 29% to 68.4% in different projects) of bug-tagged issues are not truly fixed by project developers. We empirically investigate the characteristics of such issues and summarize the reasons why they are not fixed. Then, we propose an automated approach called DFBERT to identify the bug-tagged issues that are more likely to be fixed by project developers. Our approach incorporates both text and non-text features to train a neural network-based prediction model. The experimental results show that our approach achieves an average F1-score of 0.66 in inter-project setting, and the F1-score increase to 0.77 when adding part of testing data for training.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 2","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-02-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143489890","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}