Science of Computer Programming最新文献

筛选
英文 中文
Automated code transformation for distributed training of TensorFlow deep learning models 用于TensorFlow深度学习模型分布式训练的自动代码转换
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-27 DOI: 10.1016/j.scico.2024.103260
Yusung Sim , Wonho Shin , Sungho Lee
{"title":"Automated code transformation for distributed training of TensorFlow deep learning models","authors":"Yusung Sim ,&nbsp;Wonho Shin ,&nbsp;Sungho Lee","doi":"10.1016/j.scico.2024.103260","DOIUrl":"10.1016/j.scico.2024.103260","url":null,"abstract":"<div><div>Distributed training of deep learning models reduces training time by parallelizing training workloads across multiple GPUs. Distributed training frameworks, such as Horovod and DeepSpeed, provide APIs, and model engineers rewrite deep learning models using the APIs to parallelize their training. However, the rewriting is time-consuming and labor-intensive because it requires engineers to read and understand documents and examples of the frameworks as well as manual efforts to rewrite code.</div><div>In this paper, we propose an automated code transformation approach that transforms TensorFlow deep learning models designed for non-distributed training to models training on multiple GPUs with the Horovod framework. We closely inspect the Horovod document and code examples and identify four common training patterns of TensorFlow deep learning models. Then, we formalize code transformation rules for each training pattern. Using the rules, we implement an automated code transformation tool that takes a TensorFlow deep learning model written in Python and rewrites it with the Horovod APIs for distributed training. Through source-code level transformation, our approach enables developers to efficiently scale existing DL models to multiple GPUs. Our evaluation shows that the tool correctly transforms 15 out of 16 open-source TensorFlow deep learning models. To the best of our knowledge, our work is the first automatic transformation technique for distributing existing TensorFlow deep learning models at the source code level. We believe that our approach significantly reduces manual efforts to parallelize training of existing TensorFlow deep learning models.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103260"},"PeriodicalIF":1.5,"publicationDate":"2024-12-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167338","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
An empirical study of code clones: Density, entropy, and patterns 代码克隆的经验研究:密度、熵和模式
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-16 DOI: 10.1016/j.scico.2024.103259
Bin Hu , Dongjin Yu , Yijian Wu , Tianyi Hu , Yuanfang Cai
{"title":"An empirical study of code clones: Density, entropy, and patterns","authors":"Bin Hu ,&nbsp;Dongjin Yu ,&nbsp;Yijian Wu ,&nbsp;Tianyi Hu ,&nbsp;Yuanfang Cai","doi":"10.1016/j.scico.2024.103259","DOIUrl":"10.1016/j.scico.2024.103259","url":null,"abstract":"<div><div>In recent years, there has been a growing consensus among researchers regarding the dual nature of code clones. While some instances of code are valuable for reuse or extraction as components, the utilization of specific code segments can pose significant maintenance challenges for developers. Consequently, the judicious management of code clones has emerged as a pivotal solution to address these issues. Nevertheless, it remains critical to ascertain the number of code clones within a project, and identify components where code clones are more concentrated. In this paper, we introduce three novel metrics, namely Clone Distribution, Clone Density, and Clone Entropy (the dispersion of code clone within a project), for the quantification and characterization of code clones. We have formulated associated mathematical expressions to precisely represent these code clone metrics. We collected a dataset covering three different domains of Java projects, formulated research questions for the proposed three metrics, conducted a large-scale empirical study, and provided detailed numerical statistics. Furthermore, we have introduced a novel clone visualization approach, which effectively portrays Clone Distribution and Clone Density. Developers can leverage this approach to efficiently identify target clones. By reviewing clone code concerning its distribution, we have identified nine distinct code clone patterns and summarized specific clone management strategies that have the potential to enhance the efficiency of clone management practices. Our experiments demonstrate that the proposed code clone metrics provide valuable insights into the nature of code clones, and the visualization approach assists developers in inspecting and summarizing clone code patterns.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103259"},"PeriodicalIF":1.5,"publicationDate":"2024-12-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167317","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
TSC2CARLA: An abstract scenario-based verification toolchain for automated driving systems TSC2CARLA:用于自动驾驶系统的基于场景的抽象验证工具链
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-13 DOI: 10.1016/j.scico.2024.103256
Philipp Borchers, Tjark Koopmann, Lukas Westhofen, Jan Steffen Becker, Lina Putze, Dominik Grundt, Thies de Graaff, Vincent Kalwa, Christian Neurohr
{"title":"TSC2CARLA: An abstract scenario-based verification toolchain for automated driving systems","authors":"Philipp Borchers,&nbsp;Tjark Koopmann,&nbsp;Lukas Westhofen,&nbsp;Jan Steffen Becker,&nbsp;Lina Putze,&nbsp;Dominik Grundt,&nbsp;Thies de Graaff,&nbsp;Vincent Kalwa,&nbsp;Christian Neurohr","doi":"10.1016/j.scico.2024.103256","DOIUrl":"10.1016/j.scico.2024.103256","url":null,"abstract":"<div><div>Transitioning automated driving systems to complex operational domains disproportionally increases demands on verification activities. In the worst case, the operational domain can not be covered by a manageable set of logical scenarios. An anticipated solution is to use abstract scenarios, which increase coverage while still enabling formal methods. However, established verification approaches must be adapted for abstract scenarios. In this work, we consider the generation of simulatable test suites from abstract scenarios. For this, we use Traffic Sequence Charts (TSCs), a visual yet formal scenario description language based on first order logic. We propose an SMT-based process for generating concrete test cases that can be simulated in e.g. CARLA. This theoretical framework is compiled into an architecture and a prototypical implementation called TSC2CARLA. An evaluation on a set of non-trivial examples yields initial evidence for the feasibility of our approach.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103256"},"PeriodicalIF":1.5,"publicationDate":"2024-12-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167318","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}
引用次数: 0
Tools and Software at the Systems and Software Product Line Conference (SPLC 2022 and 2023) 在系统和软件产品线会议上的工具和软件(SPLC 2022和2023)
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-12 DOI: 10.1016/j.scico.2024.103258
{"title":"Tools and Software at the Systems and Software Product Line Conference (SPLC 2022 and 2023)","authors":"","doi":"10.1016/j.scico.2024.103258","DOIUrl":"10.1016/j.scico.2024.103258","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"243 ","pages":"Article 103258"},"PeriodicalIF":1.5,"publicationDate":"2024-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143562616","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
Preface for “Quantum Programming for Software Engineering (QP4SE)” 《软件工程量子编程(QP4SE)》前言
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-12 DOI: 10.1016/j.scico.2024.103257
Fabiano Pecorelli (Guest Editor), Vita Santa Barletta (Guest Editor), Manuel A. Serrano (Guest Editor)
{"title":"Preface for “Quantum Programming for Software Engineering (QP4SE)”","authors":"Fabiano Pecorelli (Guest Editor),&nbsp;Vita Santa Barletta (Guest Editor),&nbsp;Manuel A. Serrano (Guest Editor)","doi":"10.1016/j.scico.2024.103257","DOIUrl":"10.1016/j.scico.2024.103257","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"243 ","pages":"Article 103257"},"PeriodicalIF":1.5,"publicationDate":"2024-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143562619","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
Preface for the special issue on selected software artifacts from DisCoTec 2023 – the 18th International Federated Conference on Distributed Computing Techniques 为第18届分布式计算技术国际联合会议上精选软件工件的特刊序言
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-11 DOI: 10.1016/j.scico.2024.103255
Roberto Casadei , Vinicius Vielmo Cogo , Tom van Dijk , Alceste Scalas
{"title":"Preface for the special issue on selected software artifacts from DisCoTec 2023 – the 18th International Federated Conference on Distributed Computing Techniques","authors":"Roberto Casadei ,&nbsp;Vinicius Vielmo Cogo ,&nbsp;Tom van Dijk ,&nbsp;Alceste Scalas","doi":"10.1016/j.scico.2024.103255","DOIUrl":"10.1016/j.scico.2024.103255","url":null,"abstract":"<div><div>This special issue includes a selection of the artefacts presented at the 18th International Federated Conference on Distributed Computing Techniques (DiScoTec 2023), held at the NOVA University Lisbon (Lisbon, Portugal), in June 18-23, 2023. The federated conference included: <em>COORDINATION 2023</em>, the 25th International Conference on Coordination Models and Languages); <em>DAIS 2023</em>, the 23rd International Conference on Distributed Applications and Interoperable Systems; and <em>FORTE 2023</em>, the 43rd International Conference on Formal Techniques for Distributed Objects, Components, and Systems. All the three conferences welcomed submissions describing technological artefacts, including innovative prototypes supporting the modelling, development, analysis, simulation, or testing of systems in the broad spectrum of distributed computing subjects. The artefact evaluation chairs have selected a subset of high-quality accepted artefacts to be invited for submission to this special issue. Following the revision process, nine artefacts have been accepted to be part of this special issue. The published contributions include different types of artefacts, including programming libraries, frameworks, as well as tools for the analysis, verification, and simulation of distributed systems.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"243 ","pages":"Article 103255"},"PeriodicalIF":1.5,"publicationDate":"2024-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143562620","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
System-level simulation-based verification of Autonomous Driving Systems with the VIVAS framework and CARLA simulator 基于VIVAS框架和CARLA模拟器的自动驾驶系统系统级仿真验证
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-06 DOI: 10.1016/j.scico.2024.103253
Srajan Goyal , Alberto Griggio , Stefano Tonetta
{"title":"System-level simulation-based verification of Autonomous Driving Systems with the VIVAS framework and CARLA simulator","authors":"Srajan Goyal ,&nbsp;Alberto Griggio ,&nbsp;Stefano Tonetta","doi":"10.1016/j.scico.2024.103253","DOIUrl":"10.1016/j.scico.2024.103253","url":null,"abstract":"<div><div>Ensuring the safety and reliability of increasingly complex Autonomous Driving Systems (ADS) poses significant challenges, particularly when these systems rely on AI components for perception and control. In the ESA-funded project VIVAS, we developed a comprehensive framework for system-level, simulation-based Verification and Validation (V&amp;V) of autonomous systems. This framework integrates a simulation model of the system, an abstract model describing system behavior symbolically, and formal methods for scenario generation and verification of simulation executions. The automated scenario generation process is guided by diverse coverage criteria.</div><div>In this paper, we present the application of the VIVAS framework to ADS by integrating it with CARLA, a widely-used driving simulator, and its ScenarioRunner tool. This integration facilitates the creation of diverse and complex driving scenarios to validate different state-of-the-art AI-based ADS agents shared by the CARLA community through its Autonomous Driving Challenge. We detail the development of a symbolic ADS model and the formulation of a coverage criterion focused on the behaviors of vehicles surrounding the ADS. Using the VIVAS framework, we generate and execute various highway-driving scenarios, evaluating the capabilities of the AI components. The results demonstrate the effectiveness of VIVAS in automating scenario generation for different off-the-shelf AI solutions.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103253"},"PeriodicalIF":1.5,"publicationDate":"2024-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167307","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
Modelling and verifying BDI agents under uncertainty 不确定条件下BDI代理的建模与验证
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-03 DOI: 10.1016/j.scico.2024.103254
Blair Archibald , Michele Sevegnani , Mengwei Xu
{"title":"Modelling and verifying BDI agents under uncertainty","authors":"Blair Archibald ,&nbsp;Michele Sevegnani ,&nbsp;Mengwei Xu","doi":"10.1016/j.scico.2024.103254","DOIUrl":"10.1016/j.scico.2024.103254","url":null,"abstract":"<div><div>Belief-Desire-Intention (BDI) agents feature uncertain beliefs (e.g. sensor noise), probabilistic action outcomes (e.g. attempting and action and failing), and non-deterministic choices (e.g. what plan to execute next). To be safely applied in real-world scenarios we need reason about such agents, for example, we need probabilities of mission success and the <em>strategies</em> used to maximise this. Most agents do not currently consider uncertain beliefs, instead a belief either holds or does not. We show how to use epistemic states to model uncertain beliefs, and define a Markov Decision Process for the semantics of the Conceptual Agent Notation (<span>Can</span>) agent language allowing support for uncertain beliefs, non-deterministic event, plan, and intention selection, and probabilistic action outcomes. The model is executable using an automated tool—<span>CAN-verify</span>—that supports error checking, agent simulation, and exhaustive exploration via an encoding to Bigraphs that produces transition systems for probabilistic model checkers such as PRISM. These model checkers allow reasoning over quantitative properties and strategy synthesis. Using the example of an autonomous submarine and drone surveillance together with scalability experiments, we demonstrate our approach supports uncertain belief modelling, quantitative model checking, and strategy synthesis in practice.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103254"},"PeriodicalIF":1.5,"publicationDate":"2024-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167308","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}
引用次数: 0
The SGSM framework: Enabling the specification and monitor synthesis of safe driving properties through scene graphs SGSM框架:通过场景图实现安全驾驶特性的规范和监控合成
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-02 DOI: 10.1016/j.scico.2024.103252
Trey Woodlief, Felipe Toledo, Sebastian Elbaum, Matthew B. Dwyer
{"title":"The SGSM framework: Enabling the specification and monitor synthesis of safe driving properties through scene graphs","authors":"Trey Woodlief,&nbsp;Felipe Toledo,&nbsp;Sebastian Elbaum,&nbsp;Matthew B. Dwyer","doi":"10.1016/j.scico.2024.103252","DOIUrl":"10.1016/j.scico.2024.103252","url":null,"abstract":"<div><div>As autonomous vehicles (AVs) become mainstream, assuring that they operate in accordance with safe driving properties becomes paramount. The ability to specify and monitor driving properties is at the center of such assurance. Yet, the mismatch between the semantic space over which typical driving properties are asserted (e.g., vehicles, pedestrians) and the sensed inputs of AVs (e.g., images, point clouds) poses a significant assurance gap. Related efforts bypass this gap by either assuming that data at the right semantic level is available, or they develop bespoke methods for capturing such data. Our recent Scene Graph Safety Monitoring (SGSM) framework addresses this challenge by extracting scene graphs (SGs) from sensor inputs to capture the entities related to the AV, specifying driving properties using a domain-specific language that enables building propositions over those graphs and composing them through temporal logic, and synthesizing monitors to detect property violations. Through this paper we further explain, formalize, analyze, and extend the SGSM framework, producing SGSM++. This extension is significant in that it incorporates the ability for the framework to encode the semantics of <em>resetting</em> a property violation, enabling the framework to count the quantity and duration of violations.</div><div>We implemented SGSM++ to monitor for violations of 9 properties of 3 AVs from the CARLA Autonomous Driving Leaderboard, confirming the viability of the framework, which found that the AVs violated 71% of properties during at least one test including almost 1400 unique violations over 30 total test executions, with violations lasting up to 9.25 minutes. Artifact available at <span><span>https://github.com/less-lab-uva/ExtendingSGSM</span><svg><path></path></svg></span>.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103252"},"PeriodicalIF":1.5,"publicationDate":"2024-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167306","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
Preface: Fundamentals of Software Engineering (extended versions of selected papers of FSEN 2023) 前言:软件工程基础(FSEN 2023选定论文的扩展版本)
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-11-28 DOI: 10.1016/j.scico.2024.103244
Hossein Hojjat , Erika Ábrahám
{"title":"Preface: Fundamentals of Software Engineering (extended versions of selected papers of FSEN 2023)","authors":"Hossein Hojjat ,&nbsp;Erika Ábrahám","doi":"10.1016/j.scico.2024.103244","DOIUrl":"10.1016/j.scico.2024.103244","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"243 ","pages":"Article 103244"},"PeriodicalIF":1.5,"publicationDate":"2024-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143562617","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
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信