首页 > 最新文献

Science of Computer Programming最新文献

英文 中文
Earley table traversing parsers Earley表遍历分析器
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-28 DOI: 10.1016/j.scico.2025.103335
Elizabeth Scott, Adrian Johnstone
We present a version of Earley's general parsing algorithm which uses a precomputed table. Our algorithm generates a set based representation of sentence derivations, precomputed components of which are also held in the table. We give experimental results for Java and ANSI C showing that the data structures produced are considerably smaller than the corresponding Earley data structures, and that the algorithm runs faster. The algorithm retains the simplicity of Earley's approach and, without explanatory discussion, takes only about a page to fully specify. This paper contains both motivational discussion, describing a recogniser version of the algorithm first and then its extension to a parser, and a concise, bare, but complete parser specification.
我们提出了一个版本的Earley的通用解析算法,它使用一个预计算表。我们的算法生成基于集合的句子派生表示,其中的预计算组件也保存在表中。我们给出了Java和ANSI C的实验结果,表明生成的数据结构比相应的Earley数据结构要小得多,并且算法运行速度更快。该算法保留了Earley方法的简单性,并且无需解释性讨论,只需大约一页就可以完全说明。本文包含了动机讨论,首先描述了算法的识别器版本,然后将其扩展到解析器,以及一个简洁、简单但完整的解析器规范。
{"title":"Earley table traversing parsers","authors":"Elizabeth Scott,&nbsp;Adrian Johnstone","doi":"10.1016/j.scico.2025.103335","DOIUrl":"10.1016/j.scico.2025.103335","url":null,"abstract":"<div><div>We present a version of Earley's general parsing algorithm which uses a precomputed table. Our algorithm generates a set based representation of sentence derivations, precomputed components of which are also held in the table. We give experimental results for Java and ANSI C showing that the data structures produced are considerably smaller than the corresponding Earley data structures, and that the algorithm runs faster. The algorithm retains the simplicity of Earley's approach and, without explanatory discussion, takes only about a page to fully specify. This paper contains both motivational discussion, describing a recogniser version of the algorithm first and then its extension to a parser, and a concise, bare, but complete parser specification.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"247 ","pages":"Article 103335"},"PeriodicalIF":1.5,"publicationDate":"2025-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144203431","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}
引用次数: 0
Interleaving semantics and verification of UML 2 dynamic interactions using process algebra 使用过程代数的UML 2动态交互的交错语义和验证
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-28 DOI: 10.1016/j.scico.2025.103334
Aissam Belghiat
UML sequence diagrams provide a visual notation for modeling the behavior of object interactions in systems. They lack precise formal semantics due to the semi-formal nature of the UML language which hinders their automated analysis and verification. Process algebras have been widely used in the literature in order to deal with such problems. π-calculus is a well-known process algebra recognized for its rich theoretical foundation and high expressivity power. It is also characterized by its capabilities in specifying interleaving and weak sequencing which is considered by the OMG standard as the default semantics for interaction diagrams. Thus, this paper presents a novel approach to formalizing UML 2 sequence diagrams by translating them into π-calculus. The translation captures the semantics of their basic elements as well as their combined fragments. A compositional technique is adopted to gradually build the corresponding π-calculus specification which results in easy induction/recursion of elements and their meaning enabling reasoning about complex dynamic behaviors. The latter task could be done using different analysis tools such as the MWB tool used in this study. The mapping provides a formal semantics as well as formal analysis and verification for UML2 sequence diagrams according to the OMG standard. A case study is shown to illustrate the usefulness of the translation.
UML序列图为系统中对象交互行为的建模提供了一种可视化的符号。由于UML语言的半形式化性质,它们缺乏精确的形式化语义,这阻碍了它们的自动化分析和验证。过程代数在文献中被广泛应用于处理这类问题。π微积分是一种著名的过程代数,具有丰富的理论基础和较高的表达能力。它还具有指定交错和弱排序的功能,OMG标准将其视为交互图的默认语义。因此,本文提出了一种将UML 2序列图转化为π微积分来形式化序列图的新方法。翻译抓住了它们基本元素的语义以及它们的组合片段。采用组合技术逐步建立相应的π-微积分规范,使元素易于归纳/递归,其意义便于对复杂的动态行为进行推理。后一项任务可以使用不同的分析工具来完成,例如本研究中使用的MWB工具。该映射根据OMG标准为UML2序列图提供了形式化的语义以及形式化的分析和验证。通过一个案例研究来说明翻译的有用性。
{"title":"Interleaving semantics and verification of UML 2 dynamic interactions using process algebra","authors":"Aissam Belghiat","doi":"10.1016/j.scico.2025.103334","DOIUrl":"10.1016/j.scico.2025.103334","url":null,"abstract":"<div><div>UML sequence diagrams provide a visual notation for modeling the behavior of object interactions in systems. They lack precise formal semantics due to the semi-formal nature of the UML language which hinders their automated analysis and verification. Process algebras have been widely used in the literature in order to deal with such problems. <em>π</em>-calculus is a well-known process algebra recognized for its rich theoretical foundation and high expressivity power. It is also characterized by its capabilities in specifying interleaving and weak sequencing which is considered by the OMG standard as the default semantics for interaction diagrams. Thus, this paper presents a novel approach to formalizing UML 2 sequence diagrams by translating them into <em>π</em>-calculus. The translation captures the semantics of their basic elements as well as their combined fragments. A compositional technique is adopted to gradually build the corresponding <em>π</em>-calculus specification which results in easy induction/recursion of elements and their meaning enabling reasoning about complex dynamic behaviors. The latter task could be done using different analysis tools such as the MWB tool used in this study. The mapping provides a formal semantics as well as formal analysis and verification for UML2 sequence diagrams according to the OMG standard. A case study is shown to illustrate the usefulness of the translation.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103334"},"PeriodicalIF":1.5,"publicationDate":"2025-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144167754","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}
引用次数: 0
Static analysis by abstract interpretation against data leakage in machine learning 针对机器学习中数据泄漏的抽象解释静态分析
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-27 DOI: 10.1016/j.scico.2025.103338
Caterina Urban , Pavle Subotić , Filip Drobnjaković
Data leakage is a well-known problem in machine learning which occurs when the training and testing datasets are not independent. This phenomenon leads to unreliably overly optimistic accuracy estimates at training time, followed by a significant drop in performance when models are deployed in the real world. This can be dangerous, notably when models are used for risk prediction in high-stakes applications. In this paper, we propose an abstract interpretation-based static analysis to prove the absence of data leakage at development time, long before model deployment and even before model training. We implemented it in the NBLyzer framework and we demonstrate its performance and precision on 2111 Jupyter notebooks from the Kaggle competition platform.
数据泄漏是机器学习中一个众所周知的问题,它发生在训练和测试数据集不独立的情况下。这种现象导致在训练时不可靠的过于乐观的准确性估计,当模型在现实世界中部署时,性能会显著下降。这可能是危险的,特别是当模型用于高风险应用程序的风险预测时。在本文中,我们提出了一种基于抽象解释的静态分析,以证明在开发时,早在模型部署甚至模型训练之前就不存在数据泄漏。我们在NBLyzer框架中实现了它,并在Kaggle竞赛平台的2111 Jupyter笔记本上演示了它的性能和精度。
{"title":"Static analysis by abstract interpretation against data leakage in machine learning","authors":"Caterina Urban ,&nbsp;Pavle Subotić ,&nbsp;Filip Drobnjaković","doi":"10.1016/j.scico.2025.103338","DOIUrl":"10.1016/j.scico.2025.103338","url":null,"abstract":"<div><div>Data leakage is a well-known problem in machine learning which occurs when the training and testing datasets are not independent. This phenomenon leads to unreliably overly optimistic accuracy estimates at training time, followed by a significant drop in performance when models are deployed in the real world. This can be dangerous, notably when models are used for risk prediction in high-stakes applications. In this paper, we propose an abstract interpretation-based static analysis to prove the absence of data leakage at development time, long before model deployment and even before model training. We implemented it in the <span>NBLyzer</span> framework and we demonstrate its performance and precision on 2111 Jupyter notebooks from the Kaggle competition platform.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103338"},"PeriodicalIF":1.5,"publicationDate":"2025-05-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144167755","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}
引用次数: 0
ESBMC v7.6: Enhanced model checking of C++ programs with clang AST ESBMC v7.6:使用clang AST增强c++程序的模型检查
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-26 DOI: 10.1016/j.scico.2025.103336
Xianzhiyu Li , Kunjian Song , Mikhail R. Gadelha , Franz Brauße , Rafael S. Menezes , Konstantin Korovin , Lucas C. Cordeiro
This paper presents Efficient SMT-Based Context-Bounded Model Checker (ESBMC) v7.6, an extended version based on previous work on ESBMC v7.3 by K. Song et al. [1]. The v7.3 introduced a new Clang-based C++ front-end to address the challenges posed by modern C++ programs. Although the new front-end has demonstrated significant potential in previous studies, it remains in the developmental stage and lacks several essential features. ESBMC v7.6 further enhanced this foundation by adding and extending features based on the Clang AST, such as
exception handling,
extended memory management and memory safety verification, including dangling pointers, duplicate deallocation, memory leaks and rvalue references and
new operational models for STL updating the outdated C++ operational models. Our extensive experiments demonstrate that ESBMC v7.6 can handle a significantly broader range of C++ features introduced in recent versions of the C++ standard.
本文介绍了高效的基于smt的上下文边界模型检查器(ESBMC) v7.6,这是K. Song等人基于ESBMC v7.3的先前工作的扩展版本。v7.3引入了一个新的基于clang的c++前端,以解决现代c++程序带来的挑战。虽然新的前端在以往的研究中显示出巨大的潜力,但它仍处于发展阶段,缺乏几个基本特征。ESBMC v7.6通过添加和扩展基于Clang AST的特性进一步增强了这个基础,例如异常处理、扩展内存管理和内存安全验证(包括悬空指针、重复释放、内存泄漏和右值引用),以及用于STL的新操作模型(更新过时的c++操作模型)。我们的大量实验表明,ESBMC v7.6可以处理最近版本的c++标准中引入的更广泛的c++特性。
{"title":"ESBMC v7.6: Enhanced model checking of C++ programs with clang AST","authors":"Xianzhiyu Li ,&nbsp;Kunjian Song ,&nbsp;Mikhail R. Gadelha ,&nbsp;Franz Brauße ,&nbsp;Rafael S. Menezes ,&nbsp;Konstantin Korovin ,&nbsp;Lucas C. Cordeiro","doi":"10.1016/j.scico.2025.103336","DOIUrl":"10.1016/j.scico.2025.103336","url":null,"abstract":"<div><div>This paper presents Efficient SMT-Based Context-Bounded Model Checker (ESBMC) v7.6, an extended version based on previous work on ESBMC v7.3 by K. Song et al. <span><span>[1]</span></span>. The v7.3 introduced a new Clang-based C++ front-end to address the challenges posed by modern C++ programs. Although the new front-end has demonstrated significant potential in previous studies, it remains in the developmental stage and lacks several essential features. ESBMC v7.6 further enhanced this foundation by adding and extending features based on the Clang AST, such as <figure><img></figure> exception handling, <figure><img></figure> extended memory management and memory safety verification, including dangling pointers, duplicate deallocation, memory leaks and rvalue references and <figure><img></figure> new operational models for STL updating the outdated C++ operational models. Our extensive experiments demonstrate that ESBMC v7.6 can handle a significantly broader range of C++ features introduced in recent versions of the C++ standard.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103336"},"PeriodicalIF":1.5,"publicationDate":"2025-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144139534","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}
引用次数: 0
Software project management tools in practice in IT industry of Bangladesh 软件项目管理工具在孟加拉国IT行业的实践
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-24 DOI: 10.1016/j.scico.2025.103337
Partha Protim Roy , Kumar Nitol , Teresa Gonçalves , Hasan Sarwar
The implementation of Software Project Management (SPM) has revolutionized the software development industry. For many years, Software Project Management Tools (SPMTs) have been widely adopted by software companies globally. Although the adoption of SPMTs has been slow in Bangladesh over the past few decades, there has been a growing trend of companies turning towards it. As Bangladesh strives to keep up with the rest of the world, it is important to understand how software development is managed in the country. The adoption of SPMTs has been investigated from two perspectives, which made this work being conducted in two parts. In the first part, a systematic literature review attempts to explore the use of SPM and SPMTs from a global perspective, a country-specific perspective, and finally, a Bangladeshi perspective. The second part investigates the actual use of SPMTs in the real field through conducting a comprehensive survey, comprising 52 questions, on software companies. The analysis was based on 87 responses from participant companies. The key findings reveal that nearly 50 % of the companies employ SPMTs for project management, with Jira emerging as the most popular tool, holding the largest market share at about 45 %. Our study identified 10 frequently used SPMT functionalities. Users reported that lack of knowledge, cost, and perceived necessity hampered SPMT adoption. The insights gained can benefit researchers and policymakers in enhancing the use of these tools further and fostering improved practices in the sector for sustainable growth.
软件项目管理(SPM)的实现已经彻底改变了软件开发行业。多年来,软件项目管理工具(spmt)已经被全球的软件公司广泛采用。虽然在过去的几十年里,孟加拉国采用spmt的速度很慢,但越来越多的公司转向它。随着孟加拉国努力跟上世界其他国家的步伐,了解这个国家如何管理软件开发是很重要的。从两个角度对spmt的采用进行了调查,这使得这项工作分为两个部分进行。在第一部分中,系统的文献综述试图从全球角度,具体国家的角度,最后从孟加拉国的角度探讨SPM和spmt的使用。第二部分通过对软件公司进行52个问题的全面调查,调查了spmt在实际领域的实际使用情况。该分析基于87家参与公司的回复。主要调查结果显示,近50%的公司使用spmt进行项目管理,Jira成为最受欢迎的工具,占有最大的市场份额,约为45%。我们的研究确定了10个常用的SPMT功能。用户报告说,缺乏知识、成本和感知必要性阻碍了SPMT的采用。所获得的见解有助于研究人员和政策制定者进一步加强这些工具的使用,并促进该部门改进实践,以实现可持续增长。
{"title":"Software project management tools in practice in IT industry of Bangladesh","authors":"Partha Protim Roy ,&nbsp;Kumar Nitol ,&nbsp;Teresa Gonçalves ,&nbsp;Hasan Sarwar","doi":"10.1016/j.scico.2025.103337","DOIUrl":"10.1016/j.scico.2025.103337","url":null,"abstract":"<div><div>The implementation of Software Project Management (SPM) has revolutionized the software development industry. For many years, Software Project Management Tools (SPMTs) have been widely adopted by software companies globally. Although the adoption of SPMTs has been slow in Bangladesh over the past few decades, there has been a growing trend of companies turning towards it. As Bangladesh strives to keep up with the rest of the world, it is important to understand how software development is managed in the country. The adoption of SPMTs has been investigated from two perspectives, which made this work being conducted in two parts. In the first part, a systematic literature review attempts to explore the use of SPM and SPMTs from a global perspective, a country-specific perspective, and finally, a Bangladeshi perspective. The second part investigates the actual use of SPMTs in the real field through conducting a comprehensive survey, comprising 52 questions, on software companies. The analysis was based on 87 responses from participant companies. The key findings reveal that nearly 50 % of the companies employ SPMTs for project management, with Jira emerging as the most popular tool, holding the largest market share at about 45 %. Our study identified 10 frequently used SPMT functionalities. Users reported that lack of knowledge, cost, and perceived necessity hampered SPMT adoption. The insights gained can benefit researchers and policymakers in enhancing the use of these tools further and fostering improved practices in the sector for sustainable growth.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"247 ","pages":"Article 103337"},"PeriodicalIF":1.5,"publicationDate":"2025-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144253394","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}
引用次数: 0
Applying large language models to issue classification: Revisiting with extended data and new models 应用大型语言模型发布分类:重新审视扩展数据和新模型
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-20 DOI: 10.1016/j.scico.2025.103333
Gabriel Aracena , Kyle Luster , Fabio Santos , Igor Steinmacher , Marco A. Gerosa
Effective prioritization of issue reports in software engineering helps to optimize resource allocation and information recovery. However, manual issue classification is laborious and lacks scalability. As an alternative, many open source software (OSS) projects employ automated processes for this task, yet this method often relies on large datasets for adequate training. Traditionally, machine learning techniques have been used for issue classification. More recently, large language models (LLMs) have emerged as powerful tools for addressing a range of software engineering challenges, including code and test generation, mapping new requirements to legacy software endpoints, and conducting code reviews. The following research investigates an automated approach to issue classification based on LLMs. By leveraging the capabilities of such models, we aim to develop a robust system for prioritizing issue reports, mitigating the necessity for extensive training data while maintaining classification reliability. In our research, we developed an LLM-based approach for accurately labeling issues by selecting two of the most prominent large language models. We then compared their performance across multiple datasets. Our findings show that GPT-4o achieved the best results in classifying issues from the NLBSE 2024 competition. Moreover, GPT-4o outperformed DeepSeek R1, achieving an F1 score 20% higher when both models were trained on the same dataset from the NLBSE 2023 competition, which was ten times larger than the NLBSE 2024 dataset. The fine-tuned GPT-4o model attained an average F1 score of 80.7%, while the fine-tuned DeepSeek R1 model achieved 59.33%. Increasing the dataset size did not improve the F1 score, reducing the dependence on massive datasets for building an efficient solution to issue classification. Notably, in individual repositories, some of our models predicted issue labels with a precision greater than 98%, a recall of 97%, and an F1 score of 90%.
在软件工程中对问题报告进行有效的优先级排序有助于优化资源分配和信息恢复。然而,手动问题分类很费力,而且缺乏可伸缩性。作为替代方案,许多开源软件(OSS)项目采用自动化过程来完成这项任务,但是这种方法通常依赖于大型数据集来进行充分的训练。传统上,机器学习技术已用于问题分类。最近,大型语言模型(llm)已经成为解决一系列软件工程挑战的强大工具,包括代码和测试生成,将新需求映射到遗留软件端点,以及进行代码审查。下面的研究探讨了一种基于llm的自动问题分类方法。通过利用这些模型的功能,我们的目标是开发一个健壮的系统,用于确定问题报告的优先级,在保持分类可靠性的同时减少对大量训练数据的需求。在我们的研究中,我们开发了一种基于llm的方法,通过选择两个最突出的大型语言模型来准确地标记问题。然后,我们比较了它们在多个数据集上的表现。我们的研究结果表明,gpt - 40在NLBSE 2024竞赛中的问题分类中取得了最好的结果。此外,gpt - 40的表现优于DeepSeek R1,当两个模型在NLBSE 2023比赛的同一数据集上训练时,F1得分高出20%,NLBSE 2023比赛的数据集比NLBSE 2024数据集大10倍。经过微调的gpt - 40模型F1平均得分为80.7%,而经过微调的DeepSeek R1模型F1平均得分为59.33%。增加数据集的大小并没有提高F1分数,减少了对大量数据集的依赖,从而构建了一个有效的问题分类解决方案。值得注意的是,在单个存储库中,我们的一些模型预测问题标签的精度大于98%,召回率为97%,F1得分为90%。
{"title":"Applying large language models to issue classification: Revisiting with extended data and new models","authors":"Gabriel Aracena ,&nbsp;Kyle Luster ,&nbsp;Fabio Santos ,&nbsp;Igor Steinmacher ,&nbsp;Marco A. Gerosa","doi":"10.1016/j.scico.2025.103333","DOIUrl":"10.1016/j.scico.2025.103333","url":null,"abstract":"<div><div>Effective prioritization of issue reports in software engineering helps to optimize resource allocation and information recovery. However, manual issue classification is laborious and lacks scalability. As an alternative, many open source software (OSS) projects employ automated processes for this task, yet this method often relies on large datasets for adequate training. Traditionally, machine learning techniques have been used for issue classification. More recently, large language models (LLMs) have emerged as powerful tools for addressing a range of software engineering challenges, including code and test generation, mapping new requirements to legacy software endpoints, and conducting code reviews. The following research investigates an automated approach to issue classification based on LLMs. By leveraging the capabilities of such models, we aim to develop a robust system for prioritizing issue reports, mitigating the necessity for extensive training data while maintaining classification reliability. In our research, we developed an LLM-based approach for accurately labeling issues by selecting two of the most prominent large language models. We then compared their performance across multiple datasets. Our findings show that GPT-4o achieved the best results in classifying issues from the NLBSE 2024 competition. Moreover, GPT-4o outperformed DeepSeek R1, achieving an F1 score 20% higher when both models were trained on the same dataset from the NLBSE 2023 competition, which was ten times larger than the NLBSE 2024 dataset. The fine-tuned GPT-4o model attained an average F1 score of 80.7%, while the fine-tuned DeepSeek R1 model achieved 59.33%. Increasing the dataset size did not improve the F1 score, reducing the dependence on massive datasets for building an efficient solution to issue classification. Notably, in individual repositories, some of our models predicted issue labels with a precision greater than 98%, a recall of 97%, and an F1 score of 90%.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103333"},"PeriodicalIF":1.5,"publicationDate":"2025-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144134847","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}
引用次数: 0
SMT-based robust model checking for signal temporal logic 基于smt的信号时序逻辑鲁棒模型检验
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-16 DOI: 10.1016/j.scico.2025.103332
Jia Lee, Geunyeol Yu, Kyungmin Bae
Signal temporal logic (STL) is a temporal logic used to specify properties of continuous signals. STL has been widely applied in specifying, monitoring, and testing properties of hybrid systems that exhibit both discrete and continuous behavior. However, model checking techniques for hybrid systems have primarily been limited to invariant and reachability properties. This paper introduces bounded model checking algorithms and a tool for general STL properties of hybrid systems. Central to our technique is a novel logical foundation for STL, which includes: (i) syntactic separation, decomposing an STL formula into components, with each component depending exclusively on separate segments of a signal; (ii) signal discretization, ensuring a complete abstraction of a signal through a set of discrete elements; and (iii) ϵ-strengthening, reducing robust STL model checking to Boolean STL model checking. With this new foundation, the robust STL model checking problem can be reduced to the satisfiability of a first-order logic formula. This allows us to develop the first model checking algorithm for STL that can guarantee the correctness of STL up to given bound parameters and robustness threshold, along with a pioneering bounded model checker for hybrid systems, called STLmc. We demonstrate the effectiveness of STLmc on a number of hybrid system case studies.
信号时序逻辑(STL)是一种用于指定连续信号属性的时序逻辑。STL已广泛应用于指定、监测和测试表现为离散和连续行为的混合系统的特性。然而,混合系统的模型检查技术主要局限于不变性和可达性。本文介绍了有界模型检验算法和混合系统通用STL特性的检验工具。我们技术的核心是STL的新逻辑基础,它包括:(i)语法分离,将STL公式分解为组件,每个组件完全依赖于信号的单独片段;(ii)信号离散化,确保通过一组离散元素对信号进行完全抽象;(iii) ϵ-strengthening,将鲁棒STL模型检查简化为布尔STL模型检查。在此基础上,鲁棒STL模型检验问题可以简化为一阶逻辑公式的可满足性问题。这使我们能够开发STL的第一个模型检查算法,该算法可以保证STL的正确性,直到给定的边界参数和鲁棒性阈值,以及混合系统的开创性有界模型检查器,称为STLmc。我们在一些混合系统案例研究中证明了STLmc的有效性。
{"title":"SMT-based robust model checking for signal temporal logic","authors":"Jia Lee,&nbsp;Geunyeol Yu,&nbsp;Kyungmin Bae","doi":"10.1016/j.scico.2025.103332","DOIUrl":"10.1016/j.scico.2025.103332","url":null,"abstract":"<div><div>Signal temporal logic (STL) is a temporal logic used to specify properties of continuous signals. STL has been widely applied in specifying, monitoring, and testing properties of hybrid systems that exhibit both discrete and continuous behavior. However, model checking techniques for hybrid systems have primarily been limited to invariant and reachability properties. This paper introduces bounded model checking algorithms and a tool for general STL properties of hybrid systems. Central to our technique is a novel logical foundation for STL, which includes: (i) syntactic separation, decomposing an STL formula into components, with each component depending exclusively on separate segments of a signal; (ii) signal discretization, ensuring a complete abstraction of a signal through a set of discrete elements; and (iii) <em>ϵ</em>-strengthening, reducing robust STL model checking to Boolean STL model checking. With this new foundation, the robust STL model checking problem can be reduced to the satisfiability of a first-order logic formula. This allows us to develop the first model checking algorithm for STL that can guarantee the correctness of STL up to given bound parameters and robustness threshold, along with a pioneering bounded model checker for hybrid systems, called <span>STLmc</span>. We demonstrate the effectiveness of <span>STLmc</span> on a number of hybrid system case studies.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103332"},"PeriodicalIF":1.5,"publicationDate":"2025-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144107524","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}
引用次数: 0
Fuzzing microservices: A series of user studies in industry on industrial systems with EvoMaster 模糊微服务:使用EvoMaster对工业系统进行一系列用户研究
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-14 DOI: 10.1016/j.scico.2025.103322
Man Zhang , Andrea Arcuri , Yonggang Li , Yang Liu , Kaiming Xue , Zhao Wang , Jian Huo , Weiwei Huang
With several microservice architectures comprising thousands of web services in total, used to serve 630 million customers, companies like Meituan face several challenges in the verification and validation of their software. The use of automated techniques, especially advanced AI-based ones, could bring significant benefits here. EvoMaster is an open-source test case generation tool for web services, that exploits the latest advances in the field of Search-Based Software Testing research. This paper reports on our experience of integrating the EvoMaster tool in the testing processes at Meituan over almost 2 years (i.e., between October 2021 and July 2023). Two user studies were carried out in 2021 (with two industrial APIs) and in 2023 (with three industrial APIs) to evaluate two versions of EvoMaster (i.e., v1.3.0 and v1.6.1), respectively, in tackling the test generation for industrial web services which are parts of a large e-commerce microservice system. The two user studies involve in total 321,131 lines of code from these five APIs and 27 industrial participants at Meituan. Questionnaires and interviews were carried out in both user studies with the engineers and managers at Meituan. The two user studies demonstrate clear advantages of EvoMaster (in terms of code coverage and fault detection) and the urgent need to have such a fuzzer in industrial microservices testing. Given its clear advantages, EvoMaster now has been integrated into the industrial testing pipelines at Meituan. To study how these results could generalize, a follow up user study was done in 2024 (with EvoMaster v2.0.0) with five engineers in the five different companies. Our results show that, besides their clear usefulness, there are still many critical challenges that the research community needs to investigate to improve performance further.
有几个微服务架构,总共包含数千个web服务,用于服务6.3亿客户,像美团这样的公司在软件的验证和验证方面面临着一些挑战。自动化技术的使用,尤其是先进的基于人工智能的技术,可以在这方面带来显著的好处。EvoMaster是一个用于web服务的开源测试用例生成工具,它利用了基于搜索的软件测试研究领域的最新进展。本文报告了我们将EvoMaster工具集成到美团近2年(即2021年10月至2023年7月)的测试过程中的经验。在2021年(有两个工业api)和2023年(有三个工业api)进行了两项用户研究,分别评估了两个版本的EvoMaster(即v1.3.0和v1.6.1),以解决作为大型电子商务微服务系统一部分的工业web服务的测试生成。这两项用户研究共涉及来自这五个api的321,131行代码和美团的27个行业参与者。在用户研究中,对美团的工程师和管理人员进行了问卷调查和访谈。这两个用户研究证明了EvoMaster的明显优势(在代码覆盖和故障检测方面),以及在工业微服务测试中迫切需要这样一个模糊器。鉴于其明显的优势,EvoMaster现已被整合到美团的工业测试管道中。为了研究这些结果如何推广,我们在2024年(使用EvoMaster v2.0.0)对五家不同公司的五名工程师进行了后续用户研究。我们的研究结果表明,除了它们明显的有用性之外,研究界仍然需要研究许多关键的挑战,以进一步提高性能。
{"title":"Fuzzing microservices: A series of user studies in industry on industrial systems with EvoMaster","authors":"Man Zhang ,&nbsp;Andrea Arcuri ,&nbsp;Yonggang Li ,&nbsp;Yang Liu ,&nbsp;Kaiming Xue ,&nbsp;Zhao Wang ,&nbsp;Jian Huo ,&nbsp;Weiwei Huang","doi":"10.1016/j.scico.2025.103322","DOIUrl":"10.1016/j.scico.2025.103322","url":null,"abstract":"<div><div>With several microservice architectures comprising thousands of web services in total, used to serve 630 million customers, companies like Meituan face several challenges in the verification and validation of their software. The use of automated techniques, especially advanced AI-based ones, could bring significant benefits here. <span>EvoMaster</span> is an open-source test case generation tool for web services, that exploits the latest advances in the field of Search-Based Software Testing research. This paper reports on our experience of integrating the <span>EvoMaster</span> tool in the testing processes at Meituan over almost 2 years (i.e., between October 2021 and July 2023). Two user studies were carried out in 2021 (with two industrial APIs) and in 2023 (with three industrial APIs) to evaluate two versions of <span>EvoMaster</span> (i.e., v1.3.0 and v1.6.1), respectively, in tackling the test generation for industrial web services which are parts of a large e-commerce microservice system. The two user studies involve in total 321,131 lines of code from these five APIs and 27 industrial participants at Meituan. Questionnaires and interviews were carried out in both user studies with the engineers and managers at Meituan. The two user studies demonstrate clear advantages of <span>EvoMaster</span> (in terms of code coverage and fault detection) and the urgent need to have such a fuzzer in industrial microservices testing. Given its clear advantages, <span>EvoMaster</span> now has been integrated into the industrial testing pipelines at Meituan. To study how these results could generalize, a follow up user study was done in 2024 (with <span>EvoMaster</span> v2.0.0) with five engineers in the five different companies. Our results show that, besides their clear usefulness, there are still many critical challenges that the research community needs to investigate to improve performance further.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103322"},"PeriodicalIF":1.5,"publicationDate":"2025-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144167753","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}
引用次数: 0
Certified control for train sign classification 列车标志分类认证控制
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-13 DOI: 10.1016/j.scico.2025.103323
Jan Roßbach, Michael Leuschel
Certified control makes it possible to use artificial intelligence for safety-critical systems. It is a runtime monitoring architecture, which requires an AI to provide certificates for its decisions; these certificates can then be checked by a separate classical system. In this article, we evaluate the practicality of certified control for providing formal guarantees about an AI-based perception system. In this case study, we implemented a certificate checker that uses classical computer vision algorithms to verify railway signs detected by an AI object detection model. We have integrated this prototype with the popular object detection model YOLO. Performance metrics on generated data are promising for the use-case, but further research is needed to generalize certified control for other tasks.
经过认证的控制使得在安全关键系统中使用人工智能成为可能。它是一个运行时监控架构,需要AI为其决策提供证书;然后,这些证书可以由一个单独的经典系统进行检查。在本文中,我们评估认证控制的实用性,为基于人工智能的感知系统提供形式保证。在这个案例研究中,我们实现了一个证书检查器,它使用经典的计算机视觉算法来验证人工智能对象检测模型检测到的铁路标志。我们将这个原型与流行的目标检测模型YOLO集成在一起。生成数据的性能度量对于用例来说是有希望的,但是需要进一步的研究来推广其他任务的认证控制。
{"title":"Certified control for train sign classification","authors":"Jan Roßbach,&nbsp;Michael Leuschel","doi":"10.1016/j.scico.2025.103323","DOIUrl":"10.1016/j.scico.2025.103323","url":null,"abstract":"<div><div>Certified control makes it possible to use artificial intelligence for safety-critical systems. It is a runtime monitoring architecture, which requires an AI to provide certificates for its decisions; these certificates can then be checked by a separate classical system. In this article, we evaluate the practicality of certified control for providing formal guarantees about an AI-based perception system. In this case study, we implemented a certificate checker that uses classical computer vision algorithms to verify railway signs detected by an AI object detection model. We have integrated this prototype with the popular object detection model YOLO. Performance metrics on generated data are promising for the use-case, but further research is needed to generalize certified control for other tasks.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103323"},"PeriodicalIF":1.5,"publicationDate":"2025-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144068896","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}
引用次数: 0
Toward a prioritization approach for third-party software library updates 面向第三方软件库更新的优先级方法
IF 1.5 4区 计算机科学 Q3 COMPUTER SCIENCE, SOFTWARE ENGINEERING Pub Date : 2025-05-08 DOI: 10.1016/j.scico.2025.103331
Abdalrahman Aburakhia , Mohammad Alshayeb
Third-party libraries (TPLs) have been widely used in software development. Recent studies showed that software developers struggle to manage the dependencies between third-party libraries for many reasons, such as unknown update efforts and the lack of awareness about related security issues. To overcome these limitations, in this paper, we propose a TPL update prioritization approach, which provides valuable insights for mobile app developers to help improve the decision-making process. We investigate mobile app developers’ behavior while updating TPLs through a survey with 39 practitioners. The results clearly show the need for a prioritization approach. To gain more insight into TPL, we propose five TPL categories (Compatibility, Accessibility, Maintenance, Business Value, and Security) and propose metrics to measure the related factors of each category. We utilize the Analytical Hierarchy Process (AHP) and the Simple Additive Weighting (SAW) methods to rank the libraries for the update and automate the approach via a chatbot. We conducted a case study with 7 participants. Most participants (82 %) found the bot’s results useful; moreover, the bot can save software developers around 4 min per task, with an average of 18 s per task compared to 243 s by the baseline.
第三方库(tpl)在软件开发中得到了广泛的应用。最近的研究表明,由于许多原因,软件开发人员难以管理第三方库之间的依赖关系,例如未知的更新工作和缺乏对相关安全问题的认识。为了克服这些限制,在本文中,我们提出了一种TPL更新优先级方法,为移动应用程序开发人员提供了有价值的见解,以帮助改进决策过程。通过对39名从业者的调查,我们调查了移动应用程序开发人员在更新tpl时的行为。结果清楚地表明需要一个优先排序的方法。为了更深入地了解TPL,我们提出了五个TPL类别(兼容性、可访问性、维护、业务价值和安全性),并提出了度量每个类别相关因素的指标。我们利用分析层次过程(AHP)和简单加性加权(SAW)方法对库进行更新排名,并通过聊天机器人自动化该方法。我们对7名参与者进行了案例研究。大多数参与者(82%)认为机器人的结果有用;此外,机器人可以为软件开发人员每个任务节省大约4分钟,平均每个任务节省18秒,而基线为243秒。
{"title":"Toward a prioritization approach for third-party software library updates","authors":"Abdalrahman Aburakhia ,&nbsp;Mohammad Alshayeb","doi":"10.1016/j.scico.2025.103331","DOIUrl":"10.1016/j.scico.2025.103331","url":null,"abstract":"<div><div>Third-party libraries (TPLs) have been widely used in software development. Recent studies showed that software developers struggle to manage the dependencies between third-party libraries for many reasons, such as unknown update efforts and the lack of awareness about related security issues. To overcome these limitations, in this paper, we propose a TPL update prioritization approach, which provides valuable insights for mobile app developers to help improve the decision-making process. We investigate mobile app developers’ behavior while updating TPLs through a survey with 39 practitioners. The results clearly show the need for a prioritization approach. To gain more insight into TPL, we propose five TPL categories (Compatibility, Accessibility, Maintenance, Business Value, and Security) and propose metrics to measure the related factors of each category. We utilize the Analytical Hierarchy Process (AHP) and the Simple Additive Weighting (SAW) methods to rank the libraries for the update and automate the approach via a chatbot. We conducted a case study with 7 participants. Most participants (82 %) found the bot’s results useful; moreover, the bot can save software developers around 4 min per task, with an average of 18 s per task compared to 243 s by the baseline.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"246 ","pages":"Article 103331"},"PeriodicalIF":1.5,"publicationDate":"2025-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144068895","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}
引用次数: 0
期刊
Science of Computer Programming
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1