{"title":"The automation of design model repair","authors":"Cheng-Hao Cai , Jing Sun , Gillian Dobbie","doi":"10.1016/j.scico.2025.103313","DOIUrl":"10.1016/j.scico.2025.103313","url":null,"abstract":"<div><div>A design model is the abstract representation of an actual process or software product. Although some software faults can be found by diagnosing design models before implementation, repairing the design models is time-consuming to software developers. To achieve faster software development, this paper introduces an automated approach to generally repair design models diagnosed by model checking. Model checkers are used to detect faults such as unreachable goals and violated properties in design models. Such faults are eliminated in parallel by insertion, modification and deletion operators found by constraint solving and predictive models. The outcomes of model repair are evaluated using the ISO/IEC 25010 software quality metrics. Experimental results have demonstrated that the proposed approach can eliminate unreachable goals and invariant violations in various design models while preserving their model quality. The effectiveness and performance of such design model repair processes depend mainly on the complexity of design model, the efficiency of constraint solver and the accuracy of predictive model. This study indicates that model-driven software development can be more efficient by automating model diagnosis, fault elimination and quality evaluation.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103313"},"PeriodicalIF":1.5,"publicationDate":"2025-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143786229","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":"Formally proved specification of non-nested STL formulas as synchronous observers","authors":"Céline Bellanger , Pierre-Loic Garoche , Matthieu Martel , Celia Picard","doi":"10.1016/j.scico.2025.103315","DOIUrl":"10.1016/j.scico.2025.103315","url":null,"abstract":"<div><div>Signal Temporal Logic (STL) is a convenient formalism to express bounded horizon properties of autonomous critical systems. STL allows to express real-valued signal properties and associates a non-singleton bound interval to each temporal operators. In the case of critical autonomous systems, it may be necessary to check the validity of an STL property in real-time. To that end, we provide a rigorous encoding of non-nested discrete-time STL formulas into Lustre synchronous observers.</div><div>Our encoding provides a three-valued online semantics for the observers and therefore enables both the verification of the property and the search of counter-examples. A key contribution of this work is an instrumented proof of the validity of the implementation with respect to the original STL semantics. All of the experiments are automated with the Kind2 model checker and the Z3 SMT solver.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103315"},"PeriodicalIF":1.5,"publicationDate":"2025-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143837897","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}
Jianqiang Lv , Cai Fu , Liangheng Chen , Ming Liu , Shuai He , Shuai Jiang , Lansheng Han
{"title":"DopSteg: Program steganography using data-oriented programming","authors":"Jianqiang Lv , Cai Fu , Liangheng Chen , Ming Liu , Shuai He , Shuai Jiang , Lansheng Han","doi":"10.1016/j.scico.2025.103311","DOIUrl":"10.1016/j.scico.2025.103311","url":null,"abstract":"<div><div>Many methods have been proposed to utilize software obfuscation techniques to steganographically embed certain code logic within a program, thereby enhancing the protection of software intellectual property. Currently, the protective effect of software obfuscation primarily focuses on safeguarding the native semantics of the target program, with little attention paid to the obfuscation of steganographic semantics. For instance, in the context of software copyright protection, code watermarks need to be embedded into the target program, and the ability to localize the watermark code becomes a critical means for attackers to bypass copyright protection. However, existing watermark code suffers from several shortcomings, such as low integration with the target program, weak resistance to dynamic reverse analysis, poor concealment, and ease of localization. This paper proposes a novel code semantic steganography scheme, DopSteg. The scheme leverages the principles of data-oriented programming, first determining the data-safe zones and semantic execution zones. Based on the semantic execution zones, the intermediate representation of the target software is partitioned. Through control flow flattening, reusable code fragments are encapsulated within the ‘switch’ branches of loop structures, thereby achieving code semantic steganography. A Turing completeness analysis of DopSteg demonstrates its capability to steganographically embed complex semantics. Experimental evaluations show that DopSteg increases instruction entropy by an average of approximately 140%, enabling deeper semantic steganography. Reverse analysis requires additional effort to analyze the steganographic semantic logic, significantly enhancing resistance to dynamic analysis while maintaining stable overhead. DopSteg provides a novel approach to software copyright protection.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103311"},"PeriodicalIF":1.5,"publicationDate":"2025-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143791249","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}
Xinjie Wei , Chang-ai Sun , Pengpeng Yang , Xiao-Yi Zhang , Dave Towey
{"title":"TraLogAnomaly: A microservice system anomaly detection approach based on hybrid event sequences","authors":"Xinjie Wei , Chang-ai Sun , Pengpeng Yang , Xiao-Yi Zhang , Dave Towey","doi":"10.1016/j.scico.2025.103303","DOIUrl":"10.1016/j.scico.2025.103303","url":null,"abstract":"<div><div>Microservice architecture has been increasingly adopted to develop various distributed systems due to, amongst other things, its flexibility and scalability. A microservice system often involves numerous invocations among services, making it vulnerable to potential anomalies such as improper configurations of services and improper coordination among services. Existing anomaly detection techniques either identify inter-service anomalies by constructing distributed traces or identify intra-service anomalies by mining features from system logs. However, the intra-service and inter-service behaviors may couple with each other, leading to complex anomalies that may escape detection through the individual examination of traces or logs. In this paper, we propose TraLogAnomaly, an approach for microservice-system anomaly detection. TraLogAnomaly proposes hybrid event vector sequences (HVSs) integrating both inter-service traces and intra-service logs and then identifies the anomalies' patterns from these HVSs. It extracts the patterns of anomalies with the help of a Transformer model. Term frequency-inverse document frequency (TF-IDF) is applied to weighted features learned from hybrid sequences. By integrating information from diverse data sources, the HVSs enhance the ability of these patterns to capture complex system behavior, cover multiple layers of system information, and have higher context-awareness. In addition, TraLogAnomaly also integrates a module that employs agglomeration hierarchical clustering to mine trace patterns of performance anomalies. Empirical results based on widely-used benchmarks show that TraLogAnomaly achieves a high F1-score for detecting anomalies of different types.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"245 ","pages":"Article 103303"},"PeriodicalIF":1.5,"publicationDate":"2025-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143716327","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":"Runtime monitoring of complex scenario-based requirements for autonomous driving functions","authors":"Ralf Stemmer, Ishan Saxena, Lukas Panneke, Dominik Grundt, Anna Austel, Eike Möhlmann, Bernd Westphal","doi":"10.1016/j.scico.2025.103301","DOIUrl":"10.1016/j.scico.2025.103301","url":null,"abstract":"<div><div>Autonomous driving functions (ADFs) are becoming more relevant and complex. Still, their safe and correct operation must be guaranteed. Scenario-based testing, i.e. confronting the ADF under test with other traffic in specified scenarios is an established approach for the validation and verification of ADFs, but tests currently often only consider simple technical requirements. Safe and correct operation is not only the absence of collisions but involves complex spatio-temporal requirements on the externally observable, functional driving behaviour in traffic.</div><div>In this work, we consider Traffic Sequence Charts (TSCs) as a visual formalism for the specification of complex, functional ADF requirements. We define a monitoring problem for TSCs and finite, sampled observations of ADF behaviour and discuss how monitor verdicts contribute to requirements testing. We show that such monitors can effectively be constructed for realistic requirements and that they can contribute to efficient testing by assessing ADF behaviour at runtime.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"244 ","pages":"Article 103301"},"PeriodicalIF":1.5,"publicationDate":"2025-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143696676","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":"Software architecture decision-making process: The practitioners' view from the Brazilian industry","authors":"Lucas Carvalho , Tayana Conte","doi":"10.1016/j.scico.2025.103302","DOIUrl":"10.1016/j.scico.2025.103302","url":null,"abstract":"<div><div>In the development of modern software solutions, architecture plays a crucial role in the success of the solution, as it comprises structural and behavioral features of the system, along with critical decisions about the system. Given this, several studies have been conducted in the literature about architecture decision-making process, but these studies are normally conducted with professionals outside of the Brazilian perspective or restricted to a specific company. Although architecture knowledge is the same, differences, like cultural behaviors, professional experiences and academic background, may arise. For this reason, this study presents the architecture decision-making from the view of Brazilian software practitioners. The results are a compilation of findings from 12 semi-structured interviews with senior practitioners from different companies and provide insights about the decision-making process. Regarding the context in which decisions are made, it is found that practitioners often guide and influence decisions and use experience as their main foundation, and the process is normally influenced by features of the company, like its domain and size. Concerning the decision-making process, practitioners in most cases use PoCs, organizational patterns or requirements to define the architecture. Group decision-making is often followed, although no systematic approach is used. Also, no tools are employed to support decision-making, and the decisions are documented and revised frequently.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"244 ","pages":"Article 103302"},"PeriodicalIF":1.5,"publicationDate":"2025-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143682185","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}
Alice Miller , Bernd Porr , Ivaylo Valkov , Douglas Fraser , Daumantas Pagojus
{"title":"Model checking with memoisation for fast overtaking planning","authors":"Alice Miller , Bernd Porr , Ivaylo Valkov , Douglas Fraser , Daumantas Pagojus","doi":"10.1016/j.scico.2025.103300","DOIUrl":"10.1016/j.scico.2025.103300","url":null,"abstract":"<div><div>Fast and reliable trajectory planning is a key requirement of autonomous vehicles. In this paper we introduce a novel technique for planning the route of an autonomous vehicle on a straight, traffic-heavy rural road using the SPIN model checker. We show how we can combine SPIN's ability to identify paths violating temporal properties with sensor information from a 3D Unity simulation of an autonomous vehicle, to plan and perform consecutive overtaking manoeuvres. This involves discretising the sensory information and combining multiple sequential SPIN models with a Linear-time Temporal Logic specification to generate an error path. This path provides the autonomous vehicle with an action plan. The entire process is fast (using no precomputed data) and the action plan is tailored for individual scenarios. Our experiments demonstrate that the simulated autonomous vehicle implementing our approach can drive a median of 37 km and overtake a median of 187 vehicles before experiencing a collision - which is usually caused by inaccuracies in the sensory system. We also describe a memoisation approach which helps to mitigate one of the drawbacks of our approach - the cost of model compilation. Our novel approach demonstrates a potentially powerful future tool for efficient trajectory planning for autonomous vehicles.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"244 ","pages":"Article 103300"},"PeriodicalIF":1.5,"publicationDate":"2025-03-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143682126","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":"Formal specification and validation of the MVM-Adapt system using Compositional I/O Abstract State Machines","authors":"Silvia Bonfanti , Elvinia Riccobene , Patrizia Scandurra","doi":"10.1016/j.scico.2025.103299","DOIUrl":"10.1016/j.scico.2025.103299","url":null,"abstract":"<div><div>To face complexity and scalability, the design of software-intensive systems requires the <em>decomposition</em> of the system into components, each modeled and analyzed separately from the others, and the <em>composition</em> of their analysis. Moreover, compositional model simulation is recognized as the only alternative available in practice when systems are large and complex, like in the cyber-physical domain, and intrinsically require combining the specification of ensembles of different parts (subsystems). Therefore, the need for simulation engines for composed model execution is getting a growing interest.</div><div>Along this research line, this paper presents the results of the compositional modeling and validation by scenarios of an industrial medical system, called MVM-Adapt, that we designed as an adaptive version of an existing mechanical lung ventilator deployed and certified to treat pneumonia during the COVID-19 pandemic.</div><div>We exploit the I/O Abstract State Machine formalism to model the device components as separate and interacting sub-systems that communicate through I/O events and adapt the device ventilation mode at run-time based on the health parameters of the patient. An orchestrated simulation coordinates the overall execution of these communicating I/O ASMs by exploiting suitable workflow patterns.</div><div>This compositional simulation technique has proved to be useful in practice to validate the new adaptive MVM's behavior and thus to support architects in better understanding this new mode of operation of the prototyped system.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"244 ","pages":"Article 103299"},"PeriodicalIF":1.5,"publicationDate":"2025-03-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143682184","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}
Patrick Rodrigo Da Silva , Érica Ferreira de Souza , Glaúcia Braga e Silva , Giovani Volnei Meinerz , Katia Romero Felizardo
{"title":"Applying graph-based knowledge representation to capture insights from discussions forum in software engineering","authors":"Patrick Rodrigo Da Silva , Érica Ferreira de Souza , Glaúcia Braga e Silva , Giovani Volnei Meinerz , Katia Romero Felizardo","doi":"10.1016/j.scico.2025.103298","DOIUrl":"10.1016/j.scico.2025.103298","url":null,"abstract":"<div><div><em>Context:</em> In the social web paradigm, discussion forums facilitate knowledge transfer among developers. However, manually finding helpful information in discussions on a particular topic is complex, making it a significant challenge for knowledge management. <em>Objective:</em> The objective of this paper is to explore the representation of knowledge supported by graphs generated from discussion forums in Software Engineering. <em>Method:</em> Firstly, graphs were built considering the discussion topics of the Stack Overflow forum. Visual analysis and analysis of the thematic relevance of the graphs were performed. Next, an evaluation of the graphs generated through interviews with software industry professionals was also conducted to obtain a practical view of the study. Finally, a preliminary practical analysis was conducted to evaluate the use of graphs, visually representing the Stack Overflow discussion topic content, as a complementary resource to understanding the discussion text. <em>Results</em>. The use of graphs presented interesting results both in visual analyzes and in analyzes from a professional's perspective. <em>Conclusion:</em> Using graphs generated from discussion forums can help the software industry identify useful information and new trends. Graphs can be considered a complementary resource for understanding the discussion text. We expect that, with the results achieved in this study, software organizations, as well as researchers in the area, can focus efforts on the use of approaches that help, through visual representation of knowledge, the understanding of large textual bases of discussion forums, as Stack Overflow, and allow us to infer helpful information that assists organizations in project decisions.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"244 ","pages":"Article 103298"},"PeriodicalIF":1.5,"publicationDate":"2025-03-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143642927","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}
Thomas Flinkow , Barak A. Pearlmutter , Rosemary Monahan
{"title":"Comparing differentiable logics for learning with logical constraints","authors":"Thomas Flinkow , Barak A. Pearlmutter , Rosemary Monahan","doi":"10.1016/j.scico.2025.103280","DOIUrl":"10.1016/j.scico.2025.103280","url":null,"abstract":"<div><div>Extensive research on formal verification of machine learning systems indicates that learning from data alone often fails to capture underlying background knowledge, such as specifications implicitly available in the data. Various neural network verifiers have been developed to ensure that a machine-learnt model satisfies correctness and safety properties; however, they typically assume a trained network with fixed weights. A promising approach for creating machine learning models that inherently satisfy constraints after training is to encode background knowledge as explicit logical constraints that guide the learning process via so-called differentiable logics. In this paper, we experimentally compare and evaluate various logics from the literature, present our findings, and highlight open problems for future work. We evaluate differentiable logics with respect to their suitability in training, and use a neural network verifier to check their ability to establish formal guarantees. The complete source code for our experiments is available as an easy-to-use framework for training with differentiable logics at <span><span>https://github.com/tflinkow/comparing-differentiable-logics</span><svg><path></path></svg></span>.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"244 ","pages":"Article 103280"},"PeriodicalIF":1.5,"publicationDate":"2025-03-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143620597","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}