Science of Computer Programming最新文献

筛选
英文 中文
IPFS requested content location service IPFS 请求的内容定位服务
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-07-18 DOI: 10.1016/j.scico.2024.103174
Pedro Ákos Costa , João Leitão , Yannis Psaras
{"title":"IPFS requested content location service","authors":"Pedro Ákos Costa ,&nbsp;João Leitão ,&nbsp;Yannis Psaras","doi":"10.1016/j.scico.2024.103174","DOIUrl":"10.1016/j.scico.2024.103174","url":null,"abstract":"<div><p>This paper introduces the <em>IPFS requested content location service</em>, a software service to monitor the operation of IPFS from the perspective of the content requested through IPFS gateways. The software is provided as a docker stack that consumes the logs of one or more IPFS gateways, extracts the CID of the requested content and the IP address of the requester, and queries the IPFS network for the providers of the content. The software also matches the IP addresses of the requesters and providers with their geographic location, and stores the results in a database for later analysis. The software has been used in our previous measurement study, published at DAIS'23, that analyzed the operation of IPFS from the perspective of the content requested through gateways.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103174"},"PeriodicalIF":1.5,"publicationDate":"2024-07-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324000972/pdfft?md5=8e5567e56d377d1ef0aefa94162755cd&pid=1-s2.0-S0167642324000972-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141729440","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
Subsumption, correctness and relative correctness: Implications for software testing 从属性、正确性和相对正确性:对软件测试的影响
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-07-17 DOI: 10.1016/j.scico.2024.103177
Samia AlBlwi , Imen Marsit , Besma Khaireddine , Amani Ayad , JiMeng Loh , Ali Mili
{"title":"Subsumption, correctness and relative correctness: Implications for software testing","authors":"Samia AlBlwi ,&nbsp;Imen Marsit ,&nbsp;Besma Khaireddine ,&nbsp;Amani Ayad ,&nbsp;JiMeng Loh ,&nbsp;Ali Mili","doi":"10.1016/j.scico.2024.103177","DOIUrl":"10.1016/j.scico.2024.103177","url":null,"abstract":"<div><p><strong>Context</strong>. Several Research areas emerged and have been proceeding independently when in fact they have much in common. These include: mutant subsumption and mutant set minimization; relative correctness and the semantic definition of faults; differentiator sets and their application to test diversity; generate-and–validate methods of program repair; test suite coverage metrics.</p><p><strong>Objective</strong>. Highlight their analogies, commonalities and overlaps; explore their potential for synergy and shared research goals; unify several disparate concepts around a minimal set of artifacts.</p><p><strong>Method</strong>. Introduce and analyze a minimal set of concepts that enable us to model these disparate research efforts, and explore how these models may enable us to share insights between different research directions, and advance their respective goals.</p><p><strong>Results</strong>. Capturing absolute (total and partial) correctness and relative (total and partial) correctness with a single concept: detector sets. Using the same concept to quantify the effectiveness of test suites, and prove that the proposed measure satisfies appealing monotonicity properties. Using the measure of test suite effectiveness to model mutant set minimization as an optimization problem, characterized by an objective function and a constraint.</p><p>Generalizing the concept of mutant subsumption using the concept of differentiator sets. Identifying analogies between detector sets and differentiator sets, and inferring relationships between subsumption and relative correctness.</p><p><strong>Conclusion</strong>. This paper does not aim to answer any pressing research question as much as it aims to raise research questions that use the insights gained from one research venue to gain a fresh perspective on a related research issue.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"239 ","pages":"Article 103177"},"PeriodicalIF":1.5,"publicationDate":"2024-07-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141850480","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
Smart contract vulnerability detection using wide and deep neural network 利用广度和深度神经网络检测智能合约漏洞
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-07-10 DOI: 10.1016/j.scico.2024.103172
Samuel Banning Osei , Zhongchen Ma , Rubing Huang
{"title":"Smart contract vulnerability detection using wide and deep neural network","authors":"Samuel Banning Osei ,&nbsp;Zhongchen Ma ,&nbsp;Rubing Huang","doi":"10.1016/j.scico.2024.103172","DOIUrl":"10.1016/j.scico.2024.103172","url":null,"abstract":"<div><p>Smart contracts, integral to blockchain technology, automate agreements without intermediaries, ensuring transparency and security across various sectors. However, the immutable nature of blockchain exposes deployed contracts to potential risks if they contain vulnerabilities. Current approaches, including symbolic execution and graph-based machine learning, aim to ensure smart contract security. However, these methods suffer from limitations such as high false positive rates, heavy reliance on trained data, and over-generalization.</p><p>The goal of this paper is to investigate the application of Wide and Deep Neural Networks in identifying vulnerabilities within smart contracts. We introduce WIDENNET, a method based on deep neural networks, designed to detect reentrancy and timestamp dependence vulnerabilities in smart contracts. Our approach involves extracting bytecodes from the contracts and converting them into Operational Codes (OPCODES), which are then transformed into distinct vector representations. These vectors are subsequently fed into the neural network to extract both complex and simple patterns for vulnerability detection. Testing on real-world datasets yielded an average accuracy of 83.07% and a precision of 83.13%. Our method offers a potential solution to mitigate vulnerabilities in blockchain applications.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103172"},"PeriodicalIF":1.5,"publicationDate":"2024-07-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141623039","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
DPFuzz: A fuzz testing tool based on the guidance of defect prediction DPFuzz:基于缺陷预测指导的模糊测试工具
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-07-08 DOI: 10.1016/j.scico.2024.103170
Zhanqi Cui , Haochen Jin , Xiang Chen , Rongcun Wang , Xiulei Liu
{"title":"DPFuzz: A fuzz testing tool based on the guidance of defect prediction","authors":"Zhanqi Cui ,&nbsp;Haochen Jin ,&nbsp;Xiang Chen ,&nbsp;Rongcun Wang ,&nbsp;Xiulei Liu","doi":"10.1016/j.scico.2024.103170","DOIUrl":"10.1016/j.scico.2024.103170","url":null,"abstract":"<div><p>Fuzz testing is an automated testing technique that is recognized for its efficiency and scalability. Despite its advantages, the growing complexity and scale of software has made testing software adequately increasingly challenging. If fuzz testing can prioritize resources for modules with higher defect proneness, it can effectively enhance its defect detection performance. In this paper, we introduce DPFuzz, a tool for prioritizing the resource allocation of fuzz testing. DPFuzz guides fuzz testing by calculating the fitness score, which is based on the coverage of modules with different defect proneness. DPFuzz also demonstrates the practicability of using defect prediction in software quality assurance and has confirmed its excellent defect detection performance through experiments.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103170"},"PeriodicalIF":1.5,"publicationDate":"2024-07-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141696570","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
Multi-objective differential evolution in the generation of adversarial examples 生成对抗性示例的多目标差分进化论
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-07-08 DOI: 10.1016/j.scico.2024.103169
Antony Bartlett, Cynthia C.S. Liem, Annibale Panichella
{"title":"Multi-objective differential evolution in the generation of adversarial examples","authors":"Antony Bartlett,&nbsp;Cynthia C.S. Liem,&nbsp;Annibale Panichella","doi":"10.1016/j.scico.2024.103169","DOIUrl":"10.1016/j.scico.2024.103169","url":null,"abstract":"<div><p>Adversarial examples remain a critical concern for the robustness of deep learning models, showcasing vulnerabilities to subtle input manipulations. While earlier research focused on generating such examples using white-box strategies, later research focused on gradient-based black-box strategies, as models' internals often are not accessible to external attackers. This paper extends our prior work by exploring a gradient-free search-based algorithm for adversarial example generation, with particular emphasis on differential evolution (DE). Building on top of the classic DE operators, we propose five variants of gradient-free algorithms: a single-objective approach (<figure><img></figure>), two multi-objective variations (<figure><img></figure> and <figure><img></figure>), and two many-objective strategies (<figure><img></figure> and <figure><img></figure>). Our study on five canonical image classification models shows that whilst <figure><img></figure> variant remains the fastest approach, <figure><img></figure> consistently produces more minimal adversarial attacks (i.e., with fewer image perturbations). Moreover, we found that applying a post-process minimization to our adversarial images, would further reduce the number of changes and overall delta variation (image noise).</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103169"},"PeriodicalIF":1.5,"publicationDate":"2024-07-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324000923/pdfft?md5=0868cc1132d7cb3394667dc10d9262c7&pid=1-s2.0-S0167642324000923-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141639288","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
CRAG – a combinatorial testing-based generator of road geometries for ADS testing CRAG - 用于 ADS 测试的基于组合测试的道路几何生成器
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-07-08 DOI: 10.1016/j.scico.2024.103171
Paolo Arcaini , Ahmet Cetinkaya
{"title":"CRAG – a combinatorial testing-based generator of road geometries for ADS testing","authors":"Paolo Arcaini ,&nbsp;Ahmet Cetinkaya","doi":"10.1016/j.scico.2024.103171","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103171","url":null,"abstract":"<div><p>Simulation-based testing of autonomous driving systems (ADS) consists in finding scenarios in which the ADS misbehaves, e.g., it leads the car to drive off the road. The road geometry is an important feature of the scenario, as it has a direct impact on the ADS, e.g., its ability to keep the car inside the driving lane. In this paper, we present <span>CRAG</span>, a road generator for ADS testing. <span>CRAG</span> uses combinatorial testing to explore high level road configurations, and search for finding concrete road geometries in these configurations. <span>CRAG</span> has been designed in a way that it can be easily extended in terms of generator of combinatorial test suites, search algorithms, and test goals.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103171"},"PeriodicalIF":1.5,"publicationDate":"2024-07-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141607190","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
Prescriptive procedure for manual code smell annotation 人工标注代码气味的规定程序
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-06-26 DOI: 10.1016/j.scico.2024.103168
Simona Prokić, Nikola Luburić, Jelena Slivka, Aleksandar Kovačević
{"title":"Prescriptive procedure for manual code smell annotation","authors":"Simona Prokić,&nbsp;Nikola Luburić,&nbsp;Jelena Slivka,&nbsp;Aleksandar Kovačević","doi":"10.1016/j.scico.2024.103168","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103168","url":null,"abstract":"<div><p>– Code smells are structures in code that present potential software maintainability issues. Manually constructing high-quality datasets to train ML models for code smell detection is challenging. Inconsistent annotations, small size, non-realistic smell-to-non-smell ratio, and poor smell coverage hinder the dataset quality. These issues arise mainly due to the time-consuming nature of manual annotation and annotators’ disagreements caused by ambiguous and vague smell definitions.</p><p>To address challenges related to building high-quality datasets suitable for training ML models for smell detection, we designed a prescriptive procedure for manual code smell annotation. The proposed procedure represents an extension of our previous work, aiming to support the annotation of any smell defined by Fowler. We validated the procedure by employing three annotators to annotate smells following the proposed annotation procedure.</p><p>The main contribution of this paper is a prescriptive annotation procedure that benefits the following stakeholders: annotators building high-quality smell datasets that can be used to train ML models, ML researchers building ML models for smell detection, and software engineers employing ML models to enhance the software maintainability. Secondary contributions are the code smell dataset containing Data Class, Feature Envy, and Refused Bequest, and DataSet Explorer tool which supports annotators during the annotation procedure.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103168"},"PeriodicalIF":1.5,"publicationDate":"2024-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141541063","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
GraphPyRec: A novel graph-based approach for fine-grained Python code recommendation GraphPyRec:基于图的新颖方法:细粒度 Python 代码推荐
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-06-18 DOI: 10.1016/j.scico.2024.103166
Xing Zong, Shang Zheng, Haitao Zou, Hualong Yu, Shang Gao
{"title":"GraphPyRec: A novel graph-based approach for fine-grained Python code recommendation","authors":"Xing Zong,&nbsp;Shang Zheng,&nbsp;Haitao Zou,&nbsp;Hualong Yu,&nbsp;Shang Gao","doi":"10.1016/j.scico.2024.103166","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103166","url":null,"abstract":"<div><p>Artificial intelligence has been widely applied in software engineering areas such as code recommendation. Significant progress has been made in code recommendation for static languages in recent years, but it remains challenging for dynamic languages like Python as accurately determining data flows before runtime is difficult. This limitation hinders data flow analysis, affecting the performance of code recommendation methods that rely on code analysis. In this study, a graph-based Python recommendation approach (GraphPyRec) is proposed by converting source code into a graph representation that captures both semantic and dynamic information. Nodes represent semantic information, with unique rules defined for various code statements. Edges depict control flow and data flow, utilizing a child-sibling-like process and a dedicated algorithm for data transfer extraction. Alongside the graph, a bag of words is created to include essential names, and a pre-trained BERT model transforms it into vectors. These vectors are integrated into a Gated Graph Neural Network (GGNN) process of the code recommendation model, enhancing its effectiveness and accuracy. To validate the proposed method, we crawled over a million lines of code from GitHub. Experimental results show that GraphPyRec outperforms existing mainstream Python code recommendation methods, achieving Top-1, 5, and 10 accuracy rates of 68.52%, 88.92%, and 94.05%, respectively, along with a Mean Reciprocal Rank (MRR) of 0.772.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103166"},"PeriodicalIF":1.5,"publicationDate":"2024-06-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141487280","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
Special Issue on Selected Tools from the Tool Track of the 30th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2023 Tool Track) 第 30 届电气和电子工程师学会软件分析、进化与再工程国际会议工具专题特刊(SANER 2023 工具专题)
IF 1.5 4区 计算机科学
Science of Computer Programming Pub Date : 2024-06-14 DOI: 10.1016/j.scico.2024.103167
Ying Wang , Tao Zhang , Xiapu Luo , Peng Liang
{"title":"Special Issue on Selected Tools from the Tool Track of the 30th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2023 Tool Track)","authors":"Ying Wang ,&nbsp;Tao Zhang ,&nbsp;Xiapu Luo ,&nbsp;Peng Liang","doi":"10.1016/j.scico.2024.103167","DOIUrl":"10.1016/j.scico.2024.103167","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103167"},"PeriodicalIF":1.5,"publicationDate":"2024-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141394820","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
libmg: A Python library for programming graph neural networks in μG libmg: μG 图形神经网络编程 Python 库
IF 1.3 4区 计算机科学
Science of Computer Programming Pub Date : 2024-06-14 DOI: 10.1016/j.scico.2024.103165
Matteo Belenchia, Flavio Corradini, Michela Quadrini, Michele Loreti
{"title":"libmg: A Python library for programming graph neural networks in μG","authors":"Matteo Belenchia,&nbsp;Flavio Corradini,&nbsp;Michela Quadrini,&nbsp;Michele Loreti","doi":"10.1016/j.scico.2024.103165","DOIUrl":"10.1016/j.scico.2024.103165","url":null,"abstract":"<div><p>Graph neural networks have proven their effectiveness across a wide spectrum of graph-based tasks. Despite their successes, they share the same limitations as other deep learning architectures and pose additional challenges for their formal verification. To overcome these problems, we proposed a specification language, <span><math><mi>μ</mi><mi>G</mi></math></span>, that can be used to <em>program</em> graph neural networks. This language has been implemented in a Python library called <span>libmg</span> that handles the definition, compilation, visualization, and explanation of <span><math><mi>μ</mi><mi>G</mi></math></span> graph neural network models. We illustrate its usage by showing how it was used to implement a Computation Tree Logic model checker in our previous work, and evaluate its performance on the benchmarks of the Model Checking Contest. In the future, we plan to use <span><math><mi>μ</mi><mi>G</mi></math></span> to further investigate the issues of explainability and verification of graph neural networks.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":"238 ","pages":"Article 103165"},"PeriodicalIF":1.3,"publicationDate":"2024-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141398951","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学术官方微信