{"title":"A novel method to early agile effort estimation through functional initiatives","authors":"Wilson Rosa, Sara Jardine","doi":"10.1016/j.jss.2024.112302","DOIUrl":"10.1016/j.jss.2024.112302","url":null,"abstract":"<div><h3>Context</h3><div>Decision makers struggle to develop rough order of magnitude cost estimates early in an agile software project's lifecycle, when lack of detailed functional user requirements limits Functional Size Measurement.</div></div><div><h3>Objective</h3><div>This study introduces a new method based on counting initiatives to measure the functional size (Functional Initiative Count (FIC) and Functional Initiative Points (FIP) of agile software projects during their early phases and examines its effectiveness as a predictor of agile software development effort. FIC and FIP are derived from an agile project's high-level initiatives converted into similar size units based on their active verbs. Initiatives, also referred to as <em>capabilities</em> in the Department of Homeland Security (DHS) and Department of Defense (DoD), identifies the means to accomplish a mission, function, or objective. Initiatives are typically documented early in a project's product vision document, product roadmap document, or concept of operations (in the DHS and DoD).</div></div><div><h3>Method</h3><div>The analysis used historical actual data from 21 agile projects implemented between 2014 and 2022 in the DHS and DoD.</div></div><div><h3>Result</h3><div>FIC revealed to be a reliable predictor of total software development effort, while FIP revealed to be an even better predictor of total software development effort.</div></div><div><h3>Conclusion</h3><div>Using FIP is a viable solution to use as a functional size measure for early phase agile software development effort estimation.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"223 ","pages":"Article 112302"},"PeriodicalIF":3.7,"publicationDate":"2024-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143183249","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Zehao Wang , Wei Liu , Jinfu Chen , Tse-Hsun (Peter) Chen
{"title":"RPerf: Mining user reviews using topic modeling to assist performance testing: An industrial experience report","authors":"Zehao Wang , Wei Liu , Jinfu Chen , Tse-Hsun (Peter) Chen","doi":"10.1016/j.jss.2024.112283","DOIUrl":"10.1016/j.jss.2024.112283","url":null,"abstract":"<div><div>Software performance affects the user-perceived quality of software. Therefore, it is important to analyze the performance issues that users are concerned with. In this paper, we document our experience working with our industry partner on analyzing user reviews to identify and analyze performance issues users are concerned with. In particular, we designed an approach, RPerf, which automatically analyzes unstructured user reviews and generates a performance analysis report that can assist performance engineers with performance testing. In particular, RPerf uses BERTopic to uncover performance-related topics in user reviews. RPerf then maps the derived topics to performance KPIs (key performance indicators) such as response time. Such performance KPIs better help performance test design and allocate performance testing resources. Finally, RPerf extracts user usage scenarios from user reviews to help identify the causes. Through a manual evaluation, we find RPerf achieves a high accuracy (over 93%) in identifying the performance-related topics and performance KPIs from user reviews. RPerf can also accurately extract usage scenarios in over 80% of user reviews. We discuss the performance analysis report that is generated based on RPerf. We believe that our findings can assist practitioners with analyzing performance-related user reviews and inspire future research on user review analysis.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112283"},"PeriodicalIF":3.7,"publicationDate":"2024-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142758915","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A bot identification model and tool based on GitHub activity sequences","authors":"Natarajan Chidambaram, Alexandre Decan , Tom Mens","doi":"10.1016/j.jss.2024.112287","DOIUrl":"10.1016/j.jss.2024.112287","url":null,"abstract":"<div><div>Identifying whether GitHub contributors are automated bots is important for empirical research on collaborative software development practices. Multiple such bot identification approaches have been proposed in the past. In this article, we identify the limitations of these approaches and we propose a new binary classification model, called <span>BIMBAS</span>, to overcome these limitations. To do so, we propose a new ground-truth dataset containing 1035 bots and 1115 humans on GitHub. We train <span>BIMBAS</span> on a wide range of features extracted from the activity sequences of these GitHub contributors. We show that the performance of <span>BIMBAS</span> (in terms of precision, recall, F1 score and AUC) is comparable to state-of-the-art bot identification approaches, while being able to identify bots engaged in a wider range of activity types. We implement <span>RABBIT</span>, an open-source command-line bot identification tool based on <span>BIMBAS</span>. We demonstrate its ability to be used at scale, and show that its efficiency outperforms the state-of-the-art.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"221 ","pages":"Article 112287"},"PeriodicalIF":3.7,"publicationDate":"2024-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142748329","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Adoption of low-code and no-code development: A systematic literature review and future research agenda","authors":"Matthew Oladeji Ajimati, Noel Carroll, Mary Maher","doi":"10.1016/j.jss.2024.112300","DOIUrl":"10.1016/j.jss.2024.112300","url":null,"abstract":"<div><h3>Context</h3><div>Low-code/no-code (LCNC) is an emerging technology trend that extends software development beyond professionalsoftware engineers, making it accessible to individuals throughout organizations and society.</div></div><div><h3>Objective</h3><div>We aim to provide a systematic review of the current research on the adoption of LCNC technologies within citizen development (CD) practices for digital transformation (DT), and to propose a research agenda for this field.</div></div><div><h3>Method</h3><div>This review is primarily conducted using a multi-phase systematic literature review of publications from the past five years, i.e., between 2017 and 2023.</div></div><div><h3>Results</h3><div>We identified 40 primary studies that describes the application of LCNC development and CD practices, the theoretical lenses/frameworks used, and the associated benefits and challenges.</div></div><div><h3>Conclusion</h3><div>In this study, we present three key contributions. First, we provide a comprehensive review of the benefits, challenges, theoretical perspectives, and methods used to explore LCNC and CD adoption. Second, we introduce a framework designed to guide managers in effectively adopting LCNC and CD practices. Finally, our systematic review uncovers gaps in existing research and identifies opportunities for further exploration, which paves the way for a future research agenda.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112300"},"PeriodicalIF":3.7,"publicationDate":"2024-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143171467","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Eduardo Witter dos Santos , Ingrid Nunes , Dietmar Jannach
{"title":"Developer perceptions of modern code review processes in practice: Insights from a case study in a mid-sized company","authors":"Eduardo Witter dos Santos , Ingrid Nunes , Dietmar Jannach","doi":"10.1016/j.jss.2024.112288","DOIUrl":"10.1016/j.jss.2024.112288","url":null,"abstract":"<div><h3>Context:</h3><div>Modern code review (MCR) is a practice in which code reviews are performed in a tool-supported, asynchronous and lightweight way. Previous studies show that MCR can lead to improved internal and external outcomes.</div></div><div><h3>Objective:</h3><div>Differently from many previous works, our aim is to provide insights regarding MCR practices from a <em>developer-centric perspective in a mid-sized organization</em>.</div></div><div><h3>Method:</h3><div>We surveyed developers of a mid-sized Brazilian software company, using a survey instrument that both included validated items from the literature and novel items specific to our survey goals. We collected N = 73 responses in an initial survey phase and N = 29 responses in a follow-up phase.</div></div><div><h3>Results:</h3><div>Our results provide insights in various dimensions regarding the opinion of developers on how an MCR process should be configured to be effective in an organization. In terms of managerial implications, our survey sheds light on the extrinsic and intrinsic motivations of developers to engage in MCR activities.</div></div><div><h3>Conclusions:</h3><div>The success of MCR depends both on having an appropriately configured process as well as the on support of managers in terms of making MCR benefits visible to stakeholders and appreciating review efforts.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"222 ","pages":"Article 112288"},"PeriodicalIF":3.7,"publicationDate":"2024-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143103987","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Elvira Albert , Jesús Correas , Pablo Gordillo , Guillermo Román-Díez , Albert Rubio
{"title":"Harnessing heap analysis for the synthesis of superoptimized bytecode","authors":"Elvira Albert , Jesús Correas , Pablo Gordillo , Guillermo Román-Díez , Albert Rubio","doi":"10.1016/j.jss.2024.112284","DOIUrl":"10.1016/j.jss.2024.112284","url":null,"abstract":"<div><div>Superoptimization is a type of program synthesis technique that, given an original loop-free sequence of instructions, synthesizes an alternative semantically-equivalent sequence that is optimal wrt the considered objective function. Working on loop-free sequences restricts the kind of achievable optimizations to the <em>local</em> scope of the considered sequences. This article harnesses a <em>global</em> heap analysis for the synthesis of superoptimized loop-free sequences of bytecode. The global heap analysis will allow us to infer useless write heap accesses, aliasing and non-aliasing properties, and calling-contexts for the sequences. Exploiting this information on an existing superoptimizer for Ethereum bytecode has required novel extensions: (1) developing a finer-grained heap analysis able to infer heap properties that can boost superoptimization, (2) adapting several components of the superoptimizer to leverage the heap properties, and (3) extending the superoptimization algorithm to work in a context-sensitive way. Our experimental results on more than 200,000 sequences show that harnessing heap analysis for superoptimization not only improves the quality of the optimization but it can even reduce the optimization time.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"221 ","pages":"Article 112284"},"PeriodicalIF":3.7,"publicationDate":"2024-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142748328","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Roberto Sala , Bruno Guindani , Enrico Galimberti , Federica Filippini , Hamta Sedghani , Danilo Ardagna , Sebastián Risco , Germán Moltó , Miguel Caballer
{"title":"OSCAR-P and aMLLibrary: Profiling and predicting the performance of FaaS-based applications in computing continua","authors":"Roberto Sala , Bruno Guindani , Enrico Galimberti , Federica Filippini , Hamta Sedghani , Danilo Ardagna , Sebastián Risco , Germán Moltó , Miguel Caballer","doi":"10.1016/j.jss.2024.112282","DOIUrl":"10.1016/j.jss.2024.112282","url":null,"abstract":"<div><div>This paper proposes an automated framework for efficient application profiling and training of Machine Learning (ML) performance models, composed of two parts: OSCAR-P and aMLLibrary. OSCAR-P is an auto-profiling tool designed to automatically test serverless application workflows running on multiple hardware and node combinations in cloud and edge environments. OSCAR-P obtains relevant profiling information on the execution time of the individual application components. These data are later used by aMLLibrary to train ML-based performance models. This makes it possible to predict the performance of applications on unseen configurations. We test our framework on clusters with different architectures (x86 and arm64) and workloads, considering multi-component use-case applications. This extensive experimental campaign proves the efficiency of OSCAR-P and aMLLibrary, significantly reducing the time needed for the application profiling, data collection, and data processing. The preliminary results obtained on the ML performance models accuracy show a Mean Absolute Percentage Error lower than 30% in all the considered scenarios.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"221 ","pages":"Article 112282"},"PeriodicalIF":3.7,"publicationDate":"2024-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142698038","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Hengyuan Liu , Zheng Li , Baolong Han , Xiang Chen , Doyle Paul , Yong Liu
{"title":"Integrating neural mutation into mutation-based fault localization: A hybrid approach","authors":"Hengyuan Liu , Zheng Li , Baolong Han , Xiang Chen , Doyle Paul , Yong Liu","doi":"10.1016/j.jss.2024.112281","DOIUrl":"10.1016/j.jss.2024.112281","url":null,"abstract":"<div><div>Fault localization is an important part of software testing and debugging, helping improve the process of fixing faults. Mutation-Based Fault Localization (MBFL) is widely used, but the reliance of Traditional-MBFL on syntactical mutants often limits its accuracy. To address this, we propose Neural-MBFL, which introduces neural mutation to generate semantically richer mutants using deep learning to better mimic real faults. Additionally, we present NeuraIntegra-MBFL, which combines neural and traditional mutation strategies through mutant combination and suspiciousness aggregation. Experiments on 835 faulty programs from the Defects4J benchmark show that Neural-MBFL improves fault localization compared to Traditional-MBFL, with a 35.50% relative improvement in <em>MAP</em> and 127 more faults localized at <em>TOP-5</em>, while maintaining acceptable computational cost. Compared to Neural-MBFL, NeuraIntegra-MBFL further enhances performance, particularly with suspiciousness aggregation, achieving an additional 11.96% <em>MAP</em> improvement and localizes 45 more faults at <em>TOP-5</em>, demonstrating the effectiveness of integrating suspiciousness scores. Using overlap and correlation analyses, we confirmed the complementarity between Neural-MBFL and Traditional-MBFL. Neural-MBFL is more effective at localizing faults that require understanding deep code semantics, while Traditional-MBFL performs better at handling rule-based modifications. NeuraIntegra-MBFL successfully integrates the strengths of both methods, offering better performance than either approach alone.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"221 ","pages":"Article 112281"},"PeriodicalIF":3.7,"publicationDate":"2024-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142698574","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Yue Liu, Sin Kit Lo, Qinghua Lu, Liming Zhu, Dehai Zhao, Xiwei Xu, Stefan Harrer, Jon Whittle
{"title":"Agent design pattern catalogue: A collection of architectural patterns for foundation model based agents","authors":"Yue Liu, Sin Kit Lo, Qinghua Lu, Liming Zhu, Dehai Zhao, Xiwei Xu, Stefan Harrer, Jon Whittle","doi":"10.1016/j.jss.2024.112278","DOIUrl":"10.1016/j.jss.2024.112278","url":null,"abstract":"<div><div>Foundation model-enabled generative artificial intelligence facilitates the development and implementation of agents, which can leverage distinguished reasoning and language processing capabilities to takes a proactive, autonomous role to pursue users’ goals. Nevertheless, there is a lack of systematic knowledge to guide practitioners in designing the agents considering challenges of goal-seeking (including generating instrumental goals and plans), such as hallucinations inherent in foundation models, explainability of reasoning process, complex accountability, etc. To address this issue, we have performed a systematic literature review to understand the state-of-the-art foundation model-based agents and the broader ecosystem. In this paper, we present a pattern catalogue consisting of 18 architectural patterns with analyses of the context, forces, and trade-offs as the outcomes from the previous literature review. We propose a decision model for selecting the patterns. The proposed catalogue can provide holistic guidance for the effective use of patterns, and support the architecture design of foundation model-based agents by facilitating goal-seeking and plan generation.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"220 ","pages":"Article 112278"},"PeriodicalIF":3.7,"publicationDate":"2024-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142705119","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Developing and sustaining a student-driven software solutions center—An experience report","authors":"Saheed Popoola, Vineela Kunapareddi, Hazem Said","doi":"10.1016/j.jss.2024.112279","DOIUrl":"10.1016/j.jss.2024.112279","url":null,"abstract":"<div><div>Traditional approaches to software engineering education often limit students’ exposure and engagement to real-world projects; thereby, failing to fully harness their potential and creativity. Yet, the dynamic and rapidly-advancing digital landscape means that there is a continuous need to empower students to become active participants, problem solvers, and innovators in delivering high-quality software solutions. Therefore, it is not surprising that fresh graduates are often ill-equipped to handle industrial projects. Existing approaches to exposing students to industrial projects such as internships or capstone projects have not achieved the desired result because industries are often reluctant to assign important tasks to interns, and a capstone project is likely to be discontinued by the student after completing the course. Furthermore, all the team members in a capstone project are usually inexperienced engineers, and this may limit mentorship opportunities for the students. This paper presents an experience report on the establishment and sustenance of a student-driven software solutions center named <em>Information Technology Solutions Center (ITSC)</em>, a unit within the School of Information Technology at the University of Cincinnati. A student-driven solution center empowers students to drive the design, development, execution, and maintenance of software solutions for industrial clients. This exposes the students to real-world projects and ensures that students are fully prepared to meet the demands of the ever-changing industrial landscape. The ITSC was established over a decade ago, has trained over 100 students, and executes about 20 projects annually with several industrial partners including Fortune 500 companies, government institutions, and research agencies. This paper discusses the establishment and maintenance of the center with the goal of motivating and providing a clear blueprint for computing programs that want to establish a similar student-driven software solutions center.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"220 ","pages":"Article 112279"},"PeriodicalIF":3.7,"publicationDate":"2024-11-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"142654932","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}