Science of Computer Programming最新文献

筛选
英文 中文
State merging for concolic testing of event-driven applications
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2025-01-17 DOI: 10.1016/j.scico.2025.103264
Maarten Vandercammen, Coen De Roover
{"title":"State merging for concolic testing of event-driven applications","authors":"Maarten Vandercammen,&nbsp;Coen De Roover","doi":"10.1016/j.scico.2025.103264","DOIUrl":"10.1016/j.scico.2025.103264","url":null,"abstract":"<div><div>Symbolic execution has proven itself a successful technique for automatically testing applications. However, it suffers from the <em>state explosion</em> problem, where execution of the program generates an exponential number of execution states that must be explored to fully cover the program. This problem can be mitigated by incorporating <em>state merging</em> into the testing procedure, where execution states that are sufficiently similar are merged together.</div><div>Although state merging has been applied successfully to the testing of sequential applications, testing of event-driven applications brings with it unique challenges. In event-driven programs, the creation of new execution states is driven by both branch conditions encountered by the executor and the various permutations of the application's event sequence, as every event sequence potentially gives rise to a unique set of execution states that are created. This article presents the first description of how state merging can be applied in the context of symbolic execution of event-driven applications.</div><div>Furthermore, although state merging has been described extensively for <em>online</em> symbolic execution, no mechanism has yet explicitly been described for incorporating state merging into <em>offline</em> symbolic execution, such as concolic testing. Online symbolic executors enable forking of the execution state upon reaching a branch condition that depends on symbolic input. Such testers can explore multiple program paths simultaneously. They can hence fork and merge states whenever the opportunity arises. Offline symbolic execution on the other hand, explores each program path separately. The reduced flexibility complicates the application of state merging. This article provides the first explicit overview of how state merging can be incorporated in concolic testing.</div><div>We have implemented this approach to state merging in a concolic tester for event-driven JavaScript applications named <span>StackFul</span>. We evaluate this tester on a limited set of eight small, event-driven JavaScript web applications, and find that, within the scope of these eight applications, state merging successfully alleviates the state explosion problem, resulting in the concolic tester covering a larger part of the application in fewer test iterations.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103264"},"PeriodicalIF":1.5,"publicationDate":"2025-01-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167310","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
ULKB Logic: A HOL-based framework for reasoning over knowledge graphs
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2025-01-16 DOI: 10.1016/j.scico.2025.103263
Guilherme Lima , Alexandre Rademaker , Rosario Uceda-Sosa
{"title":"ULKB Logic: A HOL-based framework for reasoning over knowledge graphs","authors":"Guilherme Lima ,&nbsp;Alexandre Rademaker ,&nbsp;Rosario Uceda-Sosa","doi":"10.1016/j.scico.2025.103263","DOIUrl":"10.1016/j.scico.2025.103263","url":null,"abstract":"<div><div>ULKB Logic is an open-source framework written in Python for reasoning over knowledge graphs. It provides an interactive theorem prover-like environment equipped with a higher-order language similar to the one used by HOL Light. The main goal of ULKB Logic is to ease the construction of applications that combine state-of-the-art computational logic tools with the knowledge available in knowledge graphs, such as Wikidata. To this end, the framework provides APIs for fetching statements from SPARQL endpoints and operating over the constructed theories using automated theorem provers and SMT solvers (such as the E prover and Z3). In this paper, we describe the design and implementation of ULKB Logic, present its interfaces for querying knowledge graphs and for calling external provers, and discuss a use case of commonsense reasoning in which ULKB Logic is used as the target logic for representing the semantics of English sentences.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103263"},"PeriodicalIF":1.5,"publicationDate":"2025-01-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167316","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
Introduction to the TASE 2023 Special Issue
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2025-01-08 DOI: 10.1016/j.scico.2025.103262
Neeraj Kumar Singh , Cristina David , Meng Sun , Meng Wang
{"title":"Introduction to the TASE 2023 Special Issue","authors":"Neeraj Kumar Singh ,&nbsp;Cristina David ,&nbsp;Meng Sun ,&nbsp;Meng Wang","doi":"10.1016/j.scico.2025.103262","DOIUrl":"10.1016/j.scico.2025.103262","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"243 ","pages":"Article 103262"},"PeriodicalIF":1.5,"publicationDate":"2025-01-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143562613","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
Integrating behavioral semantic analysis in usage-based equivalent tests generation for mobile applications
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-12-30 DOI: 10.1016/j.scico.2024.103261
Shuqi Liu , Yu Zhou , Huiwen Yang , Tingting Han , Taolue Chen
{"title":"Integrating behavioral semantic analysis in usage-based equivalent tests generation for mobile applications","authors":"Shuqi Liu ,&nbsp;Yu Zhou ,&nbsp;Huiwen Yang ,&nbsp;Tingting Han ,&nbsp;Taolue Chen","doi":"10.1016/j.scico.2024.103261","DOIUrl":"10.1016/j.scico.2024.103261","url":null,"abstract":"<div><div>Graphical user interface (GUI) testing is crucial to ensure the expected behaviors of mobile applications (apps). The burgeoning automated usage-based testing seeks to generate simulated human interactions tailored to functional features of apps. However, the difficulties in understanding UI semantics, along with the multiple implementation alternatives, significantly restrict the ability to exercise a specified usage. In this paper, we propose <span>GUEST</span> (<strong>G</strong>enerating <strong>U</strong>sage-based <strong>E</strong>quivalent Te<strong>ST</strong>s), which automates the generation of multiple equivalent tests for GUI usage to help developers more thoroughly test mobile apps' features. <span>GUEST</span> integrates textual information from state pages with the UI structure to express operational GUI widgets with semantic information. It leverages the semantic coverage of edge links within the state transition graph of state-machine encoding for the usage to match canonical screens for the current state page. To exploit behavioral semantics, <span>GUEST</span> treats the state transition graph as a social network and performs centrality analysis to identify key canonical screens in the state transition graph. By utilizing the intimacy between key screens and candidate widgets' reachable screens, <span>GUEST</span> grants higher priority to frequently used and more accessible actions. We evaluate <span>GUEST</span> on desired usages across 22 popular apps and the results reveal that <span>GUEST</span> can successfully exercise the desired usage in 88% of the tests and outperform the state-of-the-art baseline method in both screen and widget classification performance.</div></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"242 ","pages":"Article 103261"},"PeriodicalIF":1.5,"publicationDate":"2024-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143167315","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
Automated code transformation for distributed training of TensorFlow deep learning models
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
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)
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)”
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
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
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学术文献互助群
群 号:481959085
Book学术官方微信