This paper presents a comprehensive study on evaluating and predicting software maintainability, leveraging the ISO/IEC 25010 standard as a foundation for software quality assessment. The standard defines eight primary characteristics, including maintainability, which is further divided into subcharacteristics to enable a detailed assessment of software systems. In this context, the QualCode framework is proposed as an efficient solution based on ISO/IEC 25010 principles for calculating the maintainability metric, which involves utilizing an efficient combination of submetrics and harnessing machine learning techniques to enhance the precision of predictions. The QualCode system introduces a comprehensive data-driven and automated approach to software maintainability evaluation, allowing developers and quality assurance teams to gauge the modularity, reusability, analyzability, modifiability, and testability of their software products more effectively. Through an extensive evaluation of prediction models and comparative analyses with existing tools for a diverse set of Java projects, the findings highlight the superior performance of QualCode in predicting software maintainability, reinforcing its significance in the software engineering domain.
{"title":"QualCode: A Data-Driven Framework for Predicting Software Maintainability Based on ISO/IEC 25010","authors":"Elham Azhir , Morteza Zakeri , Yasaman Abedini , Mojtaba Mostafavi Ghahfarokhi","doi":"10.1016/j.scico.2025.103399","DOIUrl":"10.1016/j.scico.2025.103399","url":null,"abstract":"<div><div>This paper presents a comprehensive study on evaluating and predicting software maintainability, leveraging the ISO/IEC 25010 standard as a foundation for software quality assessment. The standard defines eight primary characteristics, including maintainability, which is further divided into subcharacteristics to enable a detailed assessment of software systems. In this context, the QualCode framework is proposed as an efficient solution based on ISO/IEC 25010 principles for calculating the maintainability metric, which involves utilizing an efficient combination of submetrics and harnessing machine learning techniques to enhance the precision of predictions. The QualCode system introduces a comprehensive data-driven and automated approach to software maintainability evaluation, allowing developers and quality assurance teams to gauge the modularity, reusability, analyzability, modifiability, and testability of their software products more effectively. Through an extensive evaluation of prediction models and comparative analyses with existing tools for a diverse set of Java projects, the findings highlight the superior performance of QualCode in predicting software maintainability, reinforcing its significance in the software engineering domain.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"250 ","pages":"Article 103399"},"PeriodicalIF":1.4,"publicationDate":"2025-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145624895","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}
Context: Lack of communication and coordination in a software development community can lead to short and long-term social problems. This can result in the misalignment of socio-technical congruence, understood as the disconnect between social and technical factors, which in turn leads to suboptimal decisions. The absence of adequate strategies to manage these problems, together with deficient organizational structures, favors the accumulation of social debt. Objective: This paper collects and analyzes studies related to the causes, effects, consequences, methods, patterns, domains, and prevention and management strategies of social debt in software development. While agile environments are included in the analysis, the overall focus covers a broader range of organizational and methodological contexts, including distributed, hybrid, and other team models. Method: A systematic literature review was conducted through a parameterized search in different databases. This allowed us to identify and filters 231 papers, of which 85 were considered relevant and 45 selected as primary studies. Results: The main socio-technical factors in which social debt is generated and exerts its impact were identified, along with a limited number of tools -mainly conceptual models and automated mechanisms- that facilitate its detection by defining potential causes affecting the well-being of the team and the companies. Conclusions: Based on the findings, it is important to further study other causes that allow identifying the presence of social debt, as well as the development of strategies to mitigate its effects on the social and emotional well-being of professionals.
{"title":"Social debt in software development environments: A systematic literature review","authors":"Eydy Suárez-Brieva , César Jésus Pardo Calvache , Ricardo Pérez-Castillo","doi":"10.1016/j.scico.2025.103396","DOIUrl":"10.1016/j.scico.2025.103396","url":null,"abstract":"<div><div>Context: Lack of communication and coordination in a software development community can lead to short and long-term social problems. This can result in the misalignment of socio-technical congruence, understood as the disconnect between social and technical factors, which in turn leads to suboptimal decisions. The absence of adequate strategies to manage these problems, together with deficient organizational structures, favors the accumulation of social debt. Objective: This paper collects and analyzes studies related to the causes, effects, consequences, methods, patterns, domains, and prevention and management strategies of social debt in software development. While agile environments are included in the analysis, the overall focus covers a broader range of organizational and methodological contexts, including distributed, hybrid, and other team models. Method: A systematic literature review was conducted through a parameterized search in different databases. This allowed us to identify and filters 231 papers, of which 85 were considered relevant and 45 selected as primary studies. Results: The main socio-technical factors in which social debt is generated and exerts its impact were identified, along with a limited number of tools -mainly conceptual models and automated mechanisms- that facilitate its detection by defining potential causes affecting the well-being of the team and the companies. Conclusions: Based on the findings, it is important to further study other causes that allow identifying the presence of social debt, as well as the development of strategies to mitigate its effects on the social and emotional well-being of professionals.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"249 ","pages":"Article 103396"},"PeriodicalIF":1.4,"publicationDate":"2025-10-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145364450","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}
Heap-based memory vulnerabilities are critical to software security and reliability. The presence of these vulnerabilities is affected by various factors, including code coverage, the frequency of heap operations, and the order of execution. Current fuzzing solutions strive to effectively identify these vulnerabilities by employing static analysis or incorporating feedback on the sequence of heap operations. However, these solutions exhibit limited practical applicability and fail to comprehensively address the temporal and spatial dimensions of heap operations. In this paper, we propose a dedicated fuzzing technique called CtxFuzz that efficiently discovers heap-based temporal and spatial memory vulnerabilities without necessitating domain specific knowledge. CtxFuzz employs context heap operation sequences (CHOS) as a novel feedback mechanism to guide the fuzzing process. CHOS comprises sequences of heap operations, including allocation, deallocation, read, and write, that are associated with their corresponding heap memory addresses and identified within the current context during the execution of the target program. By doing so, CtxFuzz can explore more heap states and trigger more heap-based memory vulnerabilities, both temporal and spatial. We evaluate CtxFuzz on 9 real-world open-source programs and compare its performance against 7 state-of-the-art fuzzers. The results indicate that CtxFuzz outperforms most of these fuzzers in terms of discovering heap-based memory vulnerabilities. Furthermore, our experiments led to the identification of ten zero-day vulnerabilities (10 CVEs).
{"title":"CtxFuzz: Discovering heap-based memory vulnerabilities through context heap operation sequence guided fuzzing","authors":"Jiacheng Jiang , Cheng Wen , Zhiyuan Fu , Shengchao Qin","doi":"10.1016/j.scico.2025.103395","DOIUrl":"10.1016/j.scico.2025.103395","url":null,"abstract":"<div><div>Heap-based memory vulnerabilities are critical to software security and reliability. The presence of these vulnerabilities is affected by various factors, including code coverage, the frequency of heap operations, and the order of execution. Current fuzzing solutions strive to effectively identify these vulnerabilities by employing static analysis or incorporating feedback on the sequence of heap operations. However, these solutions exhibit limited practical applicability and fail to comprehensively address the temporal and spatial dimensions of heap operations. In this paper, we propose a dedicated fuzzing technique called <span>CtxFuzz</span> that efficiently discovers heap-based temporal and spatial memory vulnerabilities without necessitating domain specific knowledge. <span>CtxFuzz</span> employs context heap operation sequences (CHOS) as a novel feedback mechanism to guide the fuzzing process. CHOS comprises sequences of heap operations, including allocation, deallocation, read, and write, that are associated with their corresponding heap memory addresses and identified within the current context during the execution of the target program. By doing so, <span>CtxFuzz</span> can explore more heap states and trigger more heap-based memory vulnerabilities, both temporal and spatial. We evaluate <span>CtxFuzz</span> on 9 real-world open-source programs and compare its performance against 7 state-of-the-art fuzzers. The results indicate that <span>CtxFuzz</span> outperforms most of these fuzzers in terms of discovering heap-based memory vulnerabilities. Furthermore, our experiments led to the identification of ten zero-day vulnerabilities (10 CVEs).</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"249 ","pages":"Article 103395"},"PeriodicalIF":1.4,"publicationDate":"2025-10-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145322750","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}
Pub Date : 2025-09-27DOI: 10.1016/j.scico.2025.103393
Yunior Pacheco Correa , Coen De Roover , Johannes Härtel
Tool support in software engineering often relies on relationships, regularities, patterns, or rules mined from other users’ code. Examples include approaches to bug prediction, code recommendation, and code autocompletion. Mining is typically performed on samples of code rather than the entirety of available software projects. While sampling is crucial for scaling data analysis, it can affect the generalization of the mined patterns.
This paper focuses on sampling software projects filtered for specific libraries and frameworks, and on mining patterns that connect different libraries. We call these inter-library patterns. We observe that limiting the sample to a specific library may hinder the generalization of inter-library patterns, posing a threat to their use or interpretation. Using a simulation and a real case study, we show this threat for different sampling methods. Our simulation shows that only when sampling for the disjunction of both libraries involved in the implication of a pattern, the implication generalizes well. Additionally, we show that real empirical data sampled using the GitHub search API does not behave as expected from our simulation. This identifies a potential threat relevant for many studies that use the GitHub search API for studying inter-library patterns.
{"title":"The sampling threat when mining generalizable inter-library usage patterns","authors":"Yunior Pacheco Correa , Coen De Roover , Johannes Härtel","doi":"10.1016/j.scico.2025.103393","DOIUrl":"10.1016/j.scico.2025.103393","url":null,"abstract":"<div><div>Tool support in software engineering often relies on relationships, regularities, patterns, or rules mined from other users’ code. Examples include approaches to bug prediction, code recommendation, and code autocompletion. Mining is typically performed on samples of code rather than the entirety of available software projects. While sampling is crucial for scaling data analysis, it can affect the generalization of the mined patterns.</div><div>This paper focuses on sampling software projects filtered for specific libraries and frameworks, and on mining patterns that connect different libraries. We call these inter-library patterns. We observe that limiting the sample to a specific library may hinder the generalization of inter-library patterns, posing a threat to their use or interpretation. Using a simulation and a real case study, we show this threat for different sampling methods. Our simulation shows that only when sampling for the disjunction of both libraries involved in the implication of a pattern, the implication generalizes well. Additionally, we show that real empirical data sampled using the GitHub search API does not behave as expected from our simulation. This identifies a potential threat relevant for many studies that use the GitHub search API for studying inter-library patterns.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103393"},"PeriodicalIF":1.4,"publicationDate":"2025-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145219185","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}
Traditional learning management systems often fail to sustain student motivation in computer science education, where consistent practice is crucial for skill development. This necessitates specialized tools that better support technical learning processes, foster engagement, and enable timely interventions for struggling students.
Objectives
This study introduces and evaluates a dashboard module integrated into peer code review activities within an "Object-Oriented Design Laboratory" course. The research analyzes comprehensive peer code review data collected through this dashboard to examine student review behaviors and identify at-risk students through behavioral indicators.
Method
A mixed-methods approach compared an experimental group (n = 75) using the assessment dashboard against a control group (n = 78) without dashboard access. Both cohorts received identical instructions over 17 weeks. Data collection included peer code review processes, programming exam results, and student surveys to analyze review behaviors and perceptions of the dashboard.
Findings
Students with dashboard access demonstrated significantly improved engagement and self-awareness in the peer code review activity, along with measurable performance gains. Instructors benefited from more efficient monitoring capabilities across peer code review activities.
Implications
Dashboard systems enhance metacognitive awareness through self-reflection and interaction monitoring, showing particular promise for programming education. These systems improve learning outcomes and instructional effectiveness by providing visual feedback that helps students track progress and identify improvement areas while giving instructors valuable insights into engagement patterns and learning behaviors.
{"title":"Analyzing student perceptions and behaviors in the use of an engaging visualization dashboard for peer code review activities","authors":"Hoang-Thanh Duong , Chuan-Lin Huang , Bao-An Nguyen , Hsi-Min Chen","doi":"10.1016/j.scico.2025.103394","DOIUrl":"10.1016/j.scico.2025.103394","url":null,"abstract":"<div><h3>Background and context</h3><div>Traditional learning management systems often fail to sustain student motivation in computer science education, where consistent practice is crucial for skill development. This necessitates specialized tools that better support technical learning processes, foster engagement, and enable timely interventions for struggling students.</div></div><div><h3>Objectives</h3><div>This study introduces and evaluates a dashboard module integrated into peer code review activities within an \"Object-Oriented Design Laboratory\" course. The research analyzes comprehensive peer code review data collected through this dashboard to examine student review behaviors and identify at-risk students through behavioral indicators.</div></div><div><h3>Method</h3><div>A mixed-methods approach compared an experimental group (<em>n</em> = 75) using the assessment dashboard against a control group (<em>n</em> = 78) without dashboard access. Both cohorts received identical instructions over 17 weeks. Data collection included peer code review processes, programming exam results, and student surveys to analyze review behaviors and perceptions of the dashboard.</div></div><div><h3>Findings</h3><div>Students with dashboard access demonstrated significantly improved engagement and self-awareness in the peer code review activity, along with measurable performance gains. Instructors benefited from more efficient monitoring capabilities across peer code review activities.</div></div><div><h3>Implications</h3><div>Dashboard systems enhance metacognitive awareness through self-reflection and interaction monitoring, showing particular promise for programming education. These systems improve learning outcomes and instructional effectiveness by providing visual feedback that helps students track progress and identify improvement areas while giving instructors valuable insights into engagement patterns and learning behaviors.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"249 ","pages":"Article 103394"},"PeriodicalIF":1.4,"publicationDate":"2025-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145236532","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}
Pub Date : 2025-09-20DOI: 10.1016/j.scico.2025.103392
George Tsakalidis, Kostas Vergidis
Context
Business Process Management (BPM) plays a central role in helping organizations improve efficiency and service delivery, particularly in environments with rising demands and limited resources. Within this field, Business Process Redesign (BPR) has emerged as a way to rethink and restructure processes in response to continuous change. However, many existing BPR methodologies fall short—they lack methodological rigor and are often too narrowly tailored to specific industries or use cases.
Objectives
This study explores whether BPR methodologies are both systematically structured and broadly applicable across domains. It addresses three key questions: whether current approaches are methodologically grounded, whether they can be applied across diverse contexts, and what core elements are necessary to support both structure and generalizability in BPR design.
Methods
A systematic literature review (SLR) was conducted, applying an eight-step protocol to assess sixty-four primary BPR methodologies drawn from academic databases. Each methodology was evaluated against two sets of criteria: five indicators of systematic design (e.g., defined phases, interdependencies, evaluation checkpoints), and five indicators of generalizability (e.g., cross-domain adaptability, notation flexibility, heuristic support). A concept-centric synthesis was used to analyze the findings.
Results
Of the methodologies reviewed, thirty-eight demonstrated systematic features, while only eight met broader applicability standards. Only one methodology satisfied all ten criteria, revealing a notable gap in the field and a need for more balanced, reusable frameworks.
Conclusion
The study highlights a significant gap in the current BPR methodologies and presents the BPR Application Framework —a structured yet adaptable methodology that combines phase-based design with heuristic integration and notation-aware modeling. Compared with established references like BPM CBOK and Lean Six Sigma, it offers a clearer, more actionable path for practitioners and researchers seeking both rigor and flexibility in BPR.
{"title":"Systematicity and generalizability in business process redesign methodologies: A systematic literature review","authors":"George Tsakalidis, Kostas Vergidis","doi":"10.1016/j.scico.2025.103392","DOIUrl":"10.1016/j.scico.2025.103392","url":null,"abstract":"<div><h3>Context</h3><div>Business Process Management (BPM) plays a central role in helping organizations improve efficiency and service delivery, particularly in environments with rising demands and limited resources. Within this field, Business Process Redesign (BPR) has emerged as a way to rethink and restructure processes in response to continuous change. However, many existing BPR methodologies fall short—they lack methodological rigor and are often too narrowly tailored to specific industries or use cases.</div></div><div><h3>Objectives</h3><div>This study explores whether BPR methodologies are both systematically structured and broadly applicable across domains. It addresses three key questions: whether current approaches are methodologically grounded, whether they can be applied across diverse contexts, and what core elements are necessary to support both structure and generalizability in BPR design.</div></div><div><h3>Methods</h3><div>A systematic literature review (SLR) was conducted, applying an eight-step protocol to assess sixty-four primary BPR methodologies drawn from academic databases. Each methodology was evaluated against two sets of criteria: five indicators of systematic design (e.g., defined phases, interdependencies, evaluation checkpoints), and five indicators of generalizability (e.g., cross-domain adaptability, notation flexibility, heuristic support). A concept-centric synthesis was used to analyze the findings.</div></div><div><h3>Results</h3><div>Of the methodologies reviewed, thirty-eight demonstrated systematic features, while only eight met broader applicability standards. Only one methodology satisfied all ten criteria, revealing a notable gap in the field and a need for more balanced, reusable frameworks.</div></div><div><h3>Conclusion</h3><div>The study highlights a significant gap in the current BPR methodologies and presents the BPR Application Framework —a structured yet adaptable methodology that combines phase-based design with heuristic integration and notation-aware modeling. Compared with established references like BPM CBOK and Lean Six Sigma, it offers a clearer, more actionable path for practitioners and researchers seeking both rigor and flexibility in BPR.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103392"},"PeriodicalIF":1.4,"publicationDate":"2025-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145157612","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}
Pub Date : 2025-09-20DOI: 10.1016/j.scico.2025.103389
Christophe Crochet , John Aoga , Axel Legay
We propose PANTHER, a modular and extensible framework for automated testing and verification of network protocols. PANTHER lets researchers plug in arbitrary protocol implementations, tester scripts, and network topologies to conduct experiments. Internally, it combines Microsoft’s Ivy tool for formal specification with the Shadow network simulator to handle time-varying behavior and real network conditions with reproducibility. Experiments are configured via simple YAML files and executed in Docker containers, ensuring easy deployment. We demonstrate PANTHER with a case study on the Quick UDP Internet Connections (QUIC) protocol. All code and experiment setups are publicly available for replication.
{"title":"PANTHER: Pluginizable testing environment for network protocols","authors":"Christophe Crochet , John Aoga , Axel Legay","doi":"10.1016/j.scico.2025.103389","DOIUrl":"10.1016/j.scico.2025.103389","url":null,"abstract":"<div><div>We propose PANTHER, a modular and extensible framework for automated testing and verification of network protocols. PANTHER lets researchers plug in arbitrary protocol implementations, tester scripts, and network topologies to conduct experiments. Internally, it combines Microsoft’s Ivy tool for formal specification with the Shadow network simulator to handle time-varying behavior and real network conditions with reproducibility. Experiments are configured via simple YAML files and executed in Docker containers, ensuring easy deployment. We demonstrate PANTHER with a case study on the Quick UDP Internet Connections (QUIC) protocol. All code and experiment setups are publicly available for replication.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103389"},"PeriodicalIF":1.4,"publicationDate":"2025-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145219184","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}
Pub Date : 2025-09-11DOI: 10.1016/j.scico.2025.103391
{"title":"Special issue on selected papers from the 19th International Conference on Formal Aspects of Component Software (FACS 2023)","authors":"","doi":"10.1016/j.scico.2025.103391","DOIUrl":"10.1016/j.scico.2025.103391","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103391"},"PeriodicalIF":1.4,"publicationDate":"2025-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145415938","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}
Pub Date : 2025-09-10DOI: 10.1016/j.scico.2025.103390
Rezvan Salimi, Sadoon Azizi, Amir Rastegari
The continuous evolution of Cyber-Physical Systems (CPS), particularly those empowered by the Internet of Things (IoT), has led to the generation of massive volumes of data and a growing demand for intelligent, real-time decision-making. Within such systems, efficient software-based task scheduling is vital to ensure timely responsiveness, optimal resource utilization, and sustained Quality of Service (QoS). Heterogeneous multi-server architectures offer a promising platform by enabling parallel processing and adaptive workload distribution. However, the inherent heterogeneity of computational nodes, coupled with the stringent temporal requirements of time-sensitive applications, imposes substantial challenges on software-level scheduling mechanisms. To address these challenges, this paper introduces a profit-aware and adaptive scheduling algorithm specifically designed for CPS environments comprising multiple input queues and heterogeneous servers. The proposed algorithm utilizes a greedy heuristic and a utility-based task modeling approach to dynamically allocate resources in accordance with current system state and task deadlines. Tasks that are completed within their deadline thresholds contribute positively to system profit, whereas delayed tasks incur penalties or are rejected. Extensive simulation experiments demonstrate that the proposed algorithm significantly enhances system responsiveness and improves overall system utility. In comparative evaluations against baseline and well-established scheduling strategies—including Random, Round Robin, MaxWeight, and MaxWeight with Discounted UCB—the proposed method achieves up to 30% reduction in average response time, 31% increase in total profit, and 50% improvement in deadline satisfaction rate. These results highlight the effectiveness of the proposed software-level scheduling approach in enhancing the operational efficiency of CPS in time-sensitive contexts.
{"title":"Profit-aware scheduling for time-sensitive applications in heterogeneous multi-server systems","authors":"Rezvan Salimi, Sadoon Azizi, Amir Rastegari","doi":"10.1016/j.scico.2025.103390","DOIUrl":"10.1016/j.scico.2025.103390","url":null,"abstract":"<div><div>The continuous evolution of Cyber-Physical Systems (CPS), particularly those empowered by the Internet of Things (IoT), has led to the generation of massive volumes of data and a growing demand for intelligent, real-time decision-making. Within such systems, efficient software-based task scheduling is vital to ensure timely responsiveness, optimal resource utilization, and sustained Quality of Service (QoS). Heterogeneous multi-server architectures offer a promising platform by enabling parallel processing and adaptive workload distribution. However, the inherent heterogeneity of computational nodes, coupled with the stringent temporal requirements of time-sensitive applications, imposes substantial challenges on software-level scheduling mechanisms. To address these challenges, this paper introduces a profit-aware and adaptive scheduling algorithm specifically designed for CPS environments comprising multiple input queues and heterogeneous servers. The proposed algorithm utilizes a greedy heuristic and a utility-based task modeling approach to dynamically allocate resources in accordance with current system state and task deadlines. Tasks that are completed within their deadline thresholds contribute positively to system profit, whereas delayed tasks incur penalties or are rejected. Extensive simulation experiments demonstrate that the proposed algorithm significantly enhances system responsiveness and improves overall system utility. In comparative evaluations against baseline and well-established scheduling strategies—including Random, Round Robin, MaxWeight, and MaxWeight with Discounted UCB—the proposed method achieves up to 30% reduction in average response time, 31% increase in total profit, and 50% improvement in deadline satisfaction rate. These results highlight the effectiveness of the proposed software-level scheduling approach in enhancing the operational efficiency of CPS in time-sensitive contexts.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103390"},"PeriodicalIF":1.4,"publicationDate":"2025-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145095329","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}
Pub Date : 2025-09-09DOI: 10.1016/j.scico.2025.103386
Anton Wijs
In 2009, the Simple Language of Communicating Objects (Slco) Domain-Specific Language was designed. Since then, a range of tools have been developed around this language to conduct research on a wide range of topics, all related to the construction of complex, component-based software, with formal verification being applied in every development step. This addresses our vision that formal verification should be seamlessly integrated into Model-Driven Software Engineering, to effectively develop correct software. In this article, we present this range of topics, and draw connections between the various, at first glance disparate, research results. We discuss the current status of the Slco framework, i.e., the language in combination with the tools, related work w.r.t. each of the topics, and plans for future work.
{"title":"An overview of research with Slco on seamless integration of formal verification into model-driven software engineering","authors":"Anton Wijs","doi":"10.1016/j.scico.2025.103386","DOIUrl":"10.1016/j.scico.2025.103386","url":null,"abstract":"<div><div>In 2009, the Simple Language of Communicating Objects (<span>Slco</span>) Domain-Specific Language was designed. Since then, a range of tools have been developed around this language to conduct research on a wide range of topics, all related to the construction of complex, component-based software, with formal verification being applied in every development step. This addresses our vision that formal verification should be seamlessly integrated into Model-Driven Software Engineering, to effectively develop correct software. In this article, we present this range of topics, and draw connections between the various, at first glance disparate, research results. We discuss the current status of the <span>Slco</span> framework, i.e., the language in combination with the tools, related work w.r.t. each of the topics, and plans for future work.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"248 ","pages":"Article 103386"},"PeriodicalIF":1.4,"publicationDate":"2025-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"145048851","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}