{"title":"Revisiting ‘revisiting supervised methods for effort-aware cross-project defect prediction’","authors":"Fuyang Li, Peixin Yang, Jacky Wai Keung, Wenhua Hu, Haoyu Luo, Xiao Yu","doi":"10.1049/sfw2.12133","DOIUrl":"https://doi.org/10.1049/sfw2.12133","url":null,"abstract":"<p>Effort-aware cross-project defect prediction (EACPDP), which uses cross-project software modules to build a model to rank within-project software modules based on the defect density, has been suggested to allocate limited testing resource efficiently. Recently, Ni et al. proposed an EACPDP method called EASC, which used all cross-project modules to train a model without considering the data distribution difference between cross-project and within-project data. In addition, Ni et al. employed the different defect density calculation strategies when comparing EASC and baseline methods. To explore the effective defect density calculation strategies and methods on EACPDP, the authors compare four data filtering methods and five transfer learning methods with EASC using four commonly used defect density calculation strategies. The authors use three classification evaluation metrics and seven effort-aware metrics to assess the performance of methods on 11 PROMISE datasets comprehensively. The results show that (1) The classification before sorting (CBS+) defect density calculation strategy achieves the best overall performance. (2) Using balanced distribution adaption (BDA) and joint distribution adaptation (JDA) with the K-nearest neighbour classifier to build the EACPDP model can find 15% and 14.3% more defective modules and 11.6% and 8.9% more defects while achieving the acceptable initial false alarms (IFA). (3) Better comprehensive classification performance of the methods can bring better EACPDP performance to some extent. (4) A flexible adjustment of the defect threshold <i>λ</i> of the CBS+ strategy contribute to different goals. In summary, the authors recommend researchers and practitioners use to BDA and JDA with the CBS+ strategy to build the EACPDP model.</p>","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"17 4","pages":"472-495"},"PeriodicalIF":1.6,"publicationDate":"2023-06-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/sfw2.12133","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50145617","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}
IET SoftwarePub Date : 2023-06-22DOI: 10.1049/sfw2.12128
Farid Arfi, Anne-Lise Courbis, Thomas Lambolais, François Bughin, Maurice Hayot
{"title":"Formal verification of a telerehabilitation system through an abstraction and refinement approach using Uppaal","authors":"Farid Arfi, Anne-Lise Courbis, Thomas Lambolais, François Bughin, Maurice Hayot","doi":"10.1049/sfw2.12128","DOIUrl":"https://doi.org/10.1049/sfw2.12128","url":null,"abstract":"<p>Formal methods are proven techniques that provide a rigorous mathematical basis to software development. In particular, they allow the quality of development to be effectively improved by making accurate and explicit modelling, so that anomalies like ambiguities and incompleteness are identified in the early phases of the software development process. Semi-formal UML models and formal Timed Automata models are used to design a telerehabilitation system through a practical approach based on abstraction and refinement. The formal verification of expected properties of the system is performed by the <span>Uppaal</span> tool. The motivation of this work is threefold: (i) showing the usefulness of formal methods to satisfy the validation needs of a medical telerehabilitation system; (ii) demonstrating our approach of system analysis through refinements to guide the development of a complex system; and (iii) highlighting, from a real-life experience, the usefulness of models to involve the stakeholders all along the design of a system, from requirements to detailed specifications.</p>","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"17 4","pages":"582-599"},"PeriodicalIF":1.6,"publicationDate":"2023-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/sfw2.12128","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50141103","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}
IET SoftwarePub Date : 2023-06-16DOI: 10.1049/sfw2.12131
Huan Zhang, Li Kuang, Aolang Wu, Qiuming Zhao, Xiaoxian Yang
{"title":"Just-in-time defect prediction enhanced by the joint method of line label fusion and file filtering","authors":"Huan Zhang, Li Kuang, Aolang Wu, Qiuming Zhao, Xiaoxian Yang","doi":"10.1049/sfw2.12131","DOIUrl":"https://doi.org/10.1049/sfw2.12131","url":null,"abstract":"<p>Just-In-Time (JIT) defect prediction aims to predict the defect proneness of software changes when they are initially submitted. It has become a hot topic in software defect prediction due to its timely manner and traceability. Researchers have proposed many JIT defect prediction approaches. However, these approaches cannot effectively utilise line labels representing added or removed lines and ignore the noise caused by defect-irrelevant files. Therefore, a JIT defect prediction model enhanced by the joint method of line label Fusion and file Filtering (JIT-FF) is proposed. Firstly, to distinguish added and removed lines while preserving the original software changes information, the authors represent the code changes as original, added, and removed codes according to line labels. Secondly, to obtain semantics-enhanced code representation, a cross-attention-based line label fusion method to perform complementary feature enhancement is proposed. Thirdly, to generate code changes containing fewer defect-irrelevant files, the authors formalise the file filtering as a sequential decision problem and propose a reinforcement learning-based file filtering method. Finally, based on generated code changes, CodeBERT-based commit representation and multi-layer perceptron-based defect prediction are performed to identify the defective software changes. The experiments demonstrate that JIT-FF can predict defective software changes more effectively.</p>","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"17 4","pages":"378-391"},"PeriodicalIF":1.6,"publicationDate":"2023-06-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/sfw2.12131","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50151350","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}
IET SoftwarePub Date : 2023-06-14DOI: 10.1049/sfw2.12127
Adriano M. Rocha, Marcelo A. Maia
{"title":"Mining relevant solutions for programming tasks from search engine results","authors":"Adriano M. Rocha, Marcelo A. Maia","doi":"10.1049/sfw2.12127","DOIUrl":"https://doi.org/10.1049/sfw2.12127","url":null,"abstract":"<p>Official documentation of software development technologies, for example, APIs, may not be sufficient for all developer needs, so searching on the Internet is a usual practice. Nonetheless, finding useful information may be challenging because the best solutions are not always among the first ranked pages. Developers need to read and discard irrelevant pages, that is, those without code examples or those that have content with little focus on the desired solution. This work aims at proposing an approach to mine relevant solutions for programming tasks from search engine results by removing irrelevant pages. The authors evaluated the top-20 pages returned by the Google search engine, for 10 different queries, and observed that only 31% of the evaluated pages are relevant to developers. Then, the authors proposed and evaluated three different approaches to mine the relevant pages returned by the search engine. Google's search engine has been used as a baseline, and authors’ results have shown that it returns a reasonable number of irrelevant pages for developers, and the authors could establish an effective approach to remove irrelevant pages, suggesting that developers could benefit from a customised web search filter for development content.</p>","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"17 4","pages":"455-471"},"PeriodicalIF":1.6,"publicationDate":"2023-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/sfw2.12127","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50132965","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}
IET SoftwarePub Date : 2023-05-30DOI: 10.1049/sfw2.12129
Themistoklis Diamantopoulos, Nikolaos Saoulidis, Andreas Symeonidis
{"title":"Automated issue assignment using topic modelling on Jira issue tracking data","authors":"Themistoklis Diamantopoulos, Nikolaos Saoulidis, Andreas Symeonidis","doi":"10.1049/sfw2.12129","DOIUrl":"https://doi.org/10.1049/sfw2.12129","url":null,"abstract":"<p>As more and more software teams use online issue tracking systems to collaborate on software projects, the accurate assignment of new issues to the most suitable contributors may have significant impact on the success of the project. As a result, several research efforts have been directed towards automating this process to save considerable time and effort. However, most approaches focus mainly on software bugs and employ models that do not sufficiently take into account the semantics and the non-textual metadata of issues and/or produce models that may require manual tuning. A methodology that extracts both textual and non-textual features from different types of issues is designed, providing a Jira dataset that involves not only bugs but also new features, issues related to documentation, patches, etc. Moreover, the semantics of issue text are effectively captured by employing a topic modelling technique that is optimised using the assignment result. Finally, this methodology aggregates probabilities from a set of individual models to provide the final assignment. Upon evaluating this approach in an automated issue assignment setting using a dataset of Jira issues, the authors conclude that it can be effective for automated issue assignment.</p>","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"17 3","pages":"333-344"},"PeriodicalIF":1.6,"publicationDate":"2023-05-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/sfw2.12129","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50148877","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}
IET SoftwarePub Date : 2023-05-29DOI: 10.1049/sfw2.12124
Fernando Uyaguari, Cathy Guevara-Vega, Antonio Quiña-Mera, Alvaro Uyaguari, Cristina Acosta
{"title":"Effect of requirements specification using native language on external software quality","authors":"Fernando Uyaguari, Cathy Guevara-Vega, Antonio Quiña-Mera, Alvaro Uyaguari, Cristina Acosta","doi":"10.1049/sfw2.12124","DOIUrl":"https://doi.org/10.1049/sfw2.12124","url":null,"abstract":"<p>In the context of requirements specification in Global Software Development, aspects such as differences in culture, language and schedule affect software development teams; however, we do not know the effect of these issues. Compare the native language requirements with the foreign language requirements concerning external quality. We conducted a controlled experiment of one-factor two treatments within-subjects with 17 experimental subjects. Wilcoxon test indicates that there is evidence to reject the null hypothesis (<i>p</i>-value = 0.008); there is a statistically significant difference. The external quality value obtained with native language requirements is superior to the external quality produced with the foreign language. The effect size equals an absolute value of 0.45, which corresponds to a medium effect. The language used in the requirements specification influences the external quality; using the native language in the requirements specification significantly increases the external quality. The result obtained in this research should be considered to evaluate the roles and English language skills of GSD team members and their effect on external software quality. We also suggest considering the English language skills of the experimental subjects in the experimental laboratories since language could influence the results of the experiments.</p>","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"17 3","pages":"287-300"},"PeriodicalIF":1.6,"publicationDate":"2023-05-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/sfw2.12124","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50147628","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}
IET SoftwarePub Date : 2023-05-16DOI: 10.3390/software2020014
E. Lukyanchikova, N. Askarbekuly, Hamna Aslam, M. Mazzara
{"title":"A Case Study on Applications of the Hook Model in Software Products","authors":"E. Lukyanchikova, N. Askarbekuly, Hamna Aslam, M. Mazzara","doi":"10.3390/software2020014","DOIUrl":"https://doi.org/10.3390/software2020014","url":null,"abstract":"The Hook model is used in digital products to engage and retain users through the mechanism of habit formation. This paper explores the use of Hook model techniques in two mobile applications, one being a popular taxi service (Uber taxi) and the other a social network (Instagram). The goal of this paper is to explore the Hook cycle patterns in the two products, and to identify commonalities and differences in how they are applied. Our results suggest that Hook cycle patterns appear with similar frequency; however, Instagram includes more internal Trigger calls. Uber uses fewer triggers to encourage usage, most probably because users already have a specific need for the application. For the same reason, Uber has less opportunity to fail in the reward delivery, while Instagram can use the failure (in providing a reward) as another trigger if the usage habit is already established. In addition, we introduce two types of Hook cycle patterns: internal (within a single use case) and external (transition between use cases). The insights obtained through the case studies serve as a practical reference for developing engaging and retention-focused applications.","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"8 1","pages":""},"PeriodicalIF":1.6,"publicationDate":"2023-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87599108","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}
IET SoftwarePub Date : 2023-05-15DOI: 10.1049/sfw2.12126
Jiandong Li, Shaoying Liu
{"title":"Requirements-related fault prevention during the transformation from formal specifications to programs","authors":"Jiandong Li, Shaoying Liu","doi":"10.1049/sfw2.12126","DOIUrl":"https://doi.org/10.1049/sfw2.12126","url":null,"abstract":"<p>Software faults are costly to find and remove from programs. It is better to avoid inserting the faults in the first place. The authors identify requirements-related faults that can arise during the transformation of formal specifications into programs, analyse each to discover its causes, and propose corresponding fault prevention methods. The approach works by analysing a specification, decomposing it into specification fragments with different levels like components, determining the correct implementation order among the components, and enabling automated code generation for the components and other low-level specification fragments. The approach seeks to reduce the faults in programs significantly by guiding programmers to work effectively and productively. The authors evaluate the approach's performance experimentally and compare it to the performance of a fault-prevention method with industry applications.</p>","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"17 3","pages":"316-332"},"PeriodicalIF":1.6,"publicationDate":"2023-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1049/sfw2.12126","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"50133807","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}
IET SoftwarePub Date : 2023-05-12DOI: 10.3390/software2020013
Harumichi Koga, Katsuhiko Taki, Ayano Masugi
{"title":"Efficient Measurement Method: Development of a System Using Measurement Templates for an Orthodontic Measurement Project","authors":"Harumichi Koga, Katsuhiko Taki, Ayano Masugi","doi":"10.3390/software2020013","DOIUrl":"https://doi.org/10.3390/software2020013","url":null,"abstract":"We have developed a new system for measuring dental, gnathic, and facial areas with cephalogram-equivalent images created from computed tomographic imaging data. An advantage of this collaborative system is that a measurement template and automated processing are used. First, experienced orthodontists were provided with the measurement templates; they then moved the measurement markers to the specified landmarks on the cephalogram in the template. Subsequently, the program automatically detected the coordinates of the markers and calculated the distance between those coordinates. The appropriate use of this system leads to highly accurate results in large quantities of measurements in a short time by means of both manual and automatic processing. The system was developed to contribute to worldwide research into dental and craniofacial measurements; the research involved 500 patients, and the system worked successfully.","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"17 1","pages":""},"PeriodicalIF":1.6,"publicationDate":"2023-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82381787","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}
IET SoftwarePub Date : 2023-05-08DOI: 10.3390/software2020012
A. Murphy, David G. Thomas, Fiona F. Chen, J. Xiang, Yuqing Feng
{"title":"Transforming a Computational Model from a Research Tool to a Software Product: A Case Study from Arc Welding Research","authors":"A. Murphy, David G. Thomas, Fiona F. Chen, J. Xiang, Yuqing Feng","doi":"10.3390/software2020012","DOIUrl":"https://doi.org/10.3390/software2020012","url":null,"abstract":"Arc welding is a thermal plasma process widely used to join metals. An arc welding model that couples fluid dynamic and electromagnetic equations was initially developed as a research tool. Subsequently, it was applied to improve and optimise industrial implementations of arc welding. The model includes the arc plasma, the electrode, and the workpiece in the computational domain. It incorporates several features to ensure numerical accuracy and reduce computation time and memory requirements. The arc welding code has been refactored into commercial-grade Windows software, ArcWeld, to address the needs of industrial customers. The methods used to develop ArcWeld and its extension to new arc welding regimes, which used the Workspace workflow platform, are presented. The transformation of the model to an integrated software application means that non-experts can now run the code after only elementary training. The user can easily visualise the results, improving the ability to analyse and generate insights into the arc welding process being modelled. These changes mean that scientific progress is accelerated, and that the software can be used in industry and assist welders’ training. The methods used are transferrable to many other research codes.","PeriodicalId":50378,"journal":{"name":"IET Software","volume":"32 1","pages":""},"PeriodicalIF":1.6,"publicationDate":"2023-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77747846","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}