{"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}
Vita Santa Barletta, Danilo Caivano, Anibrata Pal, Michele Scalera, Manuel A. Serrano Martin
{"title":"Enabling Quantum Privacy and Security by Design: Imperatives for Contemporary State-of-the-Art in Quantum Software Engineering","authors":"Vita Santa Barletta, Danilo Caivano, Anibrata Pal, Michele Scalera, Manuel A. Serrano Martin","doi":"10.1002/smr.70005","DOIUrl":"https://doi.org/10.1002/smr.70005","url":null,"abstract":"<p>With the advent of Quantum Computing and its exponential research endeavors in the past couple of decades, we are looking at a Golden Era of Quantum Computing. We are transitioning into an age of Hybrid Classical-Quantum Computers, where the quantum computational resources are selectively harnessed for resource-intensive tasks. On the one hand, Quantum Computing promises immense future computational innovation, and it also comes with privacy and security challenges. To date, Privacy by Design (PbD) and Security by Design (SbD) frameworks and guidelines in the Quantum Software Engineering (QSE) domain are still nebulous, and there are no comprehensive studies on the same. In this study, therefore, we identify the current state-of-the-art in the relevant literature and investigate the principles of PbD and SbD in the domain of QSE. This is the first study to identify state-of-the-art Quantum PbD and Quantum SbD in QSE. Furthermore, we also identified the gaps in the current literature, which were extended into action points for a robust literature for Quantum PbD and SbD. We recognize the crucial role of researchers, academics, and professionals in the field of Quantum Computing and Software Engineering in conducting more empirical studies and shaping the future of PbD and SbD principles in QSE.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 2","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.70005","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143475660","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":"cvrip: A Visual GUI Ripping Framework","authors":"Heji Huang, Ju Qian, Wenduo Jia, Yiming Jin","doi":"10.1002/smr.70009","DOIUrl":"https://doi.org/10.1002/smr.70009","url":null,"abstract":"<div>\u0000 \u0000 <p>GUI ripping explores the graphical user interface of an application to build a model which can express the application behavior. The ripped GUI model is useful in various software engineering tasks. Traditional GUI ripping techniques depend on the underlying GUI frameworks to provide the GUI structure information. They are difficult to work across platforms or on nonnative applications where the GUI structure information cannot easily be obtained. This work introduces cvrip, a visual GUI ripping framework, to address the problem. cvrip visually analyzes the GUI screen for ripping and does not rely on the underlying GUI frameworks. We introduce many new techniques to enable efficient visual GUI ripping, for example, a YOLO v5-based model to detect executable widgets, a state recognition acceleration method for fast model updating, and several GUI exploration strategies taking the characteristics of imperfect visual analysis into account. Experiments are conducted to evaluate many technique choices in visual GUI ripping and compare the solution with the traditional style ripping. The results show that cvrip can get competitive exploration coverage compared to traditional approaches. This suggests visual GUI ripping is a direction worthy of more future studies.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 2","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143475661","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}
Eladio Domínguez, Beatriz Pérez, Ángel L. Rubio, María A. Zapata
{"title":"A Flexible Framework to Ensure Traceability, Consistency, and Propagation of KPIs Evolution","authors":"Eladio Domínguez, Beatriz Pérez, Ángel L. Rubio, María A. Zapata","doi":"10.1002/smr.70004","DOIUrl":"https://doi.org/10.1002/smr.70004","url":null,"abstract":"<div>\u0000 \u0000 <p>Organizations use key performance indicators (KPIs) to assess the effectiveness and efficiency of their procedures and processes. In a world that is constantly evolving and hyperconnected via the internet, it is of great interest to analyze how changes (organizational, legal, technological or other) can lead to modifications in the KPIs involved. However, little attention has been paid to KPI evolution either in the scientific literature or in developed solutions. This paper presents <i>A Flexible Framework for the Evolution, Consistency and Traceability of KPIs</i> (AFFECTK) that aims at establishing the basis for suitable KPIs' evolution management. The feasibility of this proposal is demonstrated through a proof-of-concept developed using a reasoning tool based on Constraint Logic Programming. The framework is further evaluated, using real KPI case studies, to assess the functional suitability of our approach.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 2","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143438830","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":"Multilanguage Detection of Design Pattern Instances","authors":"Hugo Andrade, João Bispo, Filipe F. Correia","doi":"10.1002/smr.2738","DOIUrl":"https://doi.org/10.1002/smr.2738","url":null,"abstract":"<div>\u0000 \u0000 <p>Code comprehension is often supported by source code analysis tools that provide more abstract views over software systems, such as those detecting design patterns. These tools encompass analysis of source code and ensuing extraction of relevant information. However, the analysis of the source code is often specific to the target programming language. We propose DP-LARA, a multilanguage pattern detection tool that uses the multilanguage capability of the LARA framework to support finding pattern instances in a code base. LARA provides a virtual AST, which is common to multiple OOP programming languages, and DP-LARA then performs code analysis of detecting pattern instances on this abstract representation. We evaluate the detection performance and consistency of DP-LARA with a few software projects. Results show that a multilanguage approach does not compromise detection performance, and DP-LARA is consistent across the languages we tested it for (i.e., Java and C/C++). Moreover, by providing a virtual AST as the abstract representation, we believe to have decreased the effort of extending the tool to new programming languages and maintaining existing ones.</p>\u0000 </div>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 2","pages":""},"PeriodicalIF":1.7,"publicationDate":"2025-02-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143438831","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}