Smart contracts manage numerous digital assets, their security requirements are particularly prominent. Testing is an effective way to ensure the reliability of smart contracts. Current test case generation methods do...
详细信息
Smart contracts manage numerous digital assets, their security requirements are particularly prominent. Testing is an effective way to ensure the reliability of smart contracts. Current test case generation methods do not consider the impact of state variables and cross-contract calls on constraint conditions, leading to low test coverage for cross-contracts. In this regard, we propose a Cross-contract data flow analysis based Test case Generation (CDA-TG) method for Ethereum smart contracts. First, for each function in the target contract, CDA-TG generates its invocation sequence based on the principle of prioritizing functions that define or modify state variables. Then, for each parameter, CDA-TG performs cross-contract data flow analysis on the target contract, extracting the hard-coded values to build its parameter input pool. On this basis, CDA-TG applies the function invocation sequences to generate an initial set of test cases, where the value of each parameter is selected randomly from its parameter input pool. Finally, to further improve the branch coverage, CDA-TG applies the multiobjective sorting algorithm DynaMOSA to optimize the initial test cases. Our empirical study on 66 real smart contracts verified that CDA-TG can significantly improve the branch coverage of smart contracts, with a 8.86% improvement compared to the state-of-the-art test case generation method AGSolT in cross-contract scenario.
In this paper, we introduce Manim-DFA, an extension of the Manim library for generating video visualisations to teach data flow analysis and abstract interpretation. Despite the importance of data flow analysis in sta...
详细信息
The widespread integration of Internet of Things (IoT) and Industrial IoT (IIoT) devices in respectively home and business environments offers both benefits and perils. While these devices, such as IP cameras and netw...
详细信息
ISBN:
(纸本)9798400706363
The widespread integration of Internet of Things (IoT) and Industrial IoT (IIoT) devices in respectively home and business environments offers both benefits and perils. While these devices, such as IP cameras and network routers improve operational efficiency with their user-friendly web interfaces, they also broaden the potential for cybersecurity vulnerabilities. Recent studies highlight the vulnerability of these devices to taint-based attacks, demonstrating that even attackers with limited permissions can gain control of a device. Current state-of-the-art solutions for mitigating these risks primarily utilize Dynamic Symbolic Execution (DSE). Although effective, DSE is computationally costly and challenging for large-scale analysis. Besides, during inspection, these approaches typically exhibit over-taint behavior by producing a large number of alerts, many of which are false positives due to ineffective handling of sanitization measures that might be in place. To overcome these limitations, we introduce OctopusTaint, an innovative static-based taint analysis approach that integrates advanced data flow analysis with backtracking techniques. OctopusTaint is distinguished by its integration of a sanitization inspection module and sophisticated post-processing filters. These features are specifically designed to minimize false positives effectively while ensuring the accurate identification of genuine security threats. OctopusTaint also excels in tracking transformed tainted inputs across NVRAM, identifying new user-defined taint source functions while addressing the challenges associated with indirect calls and aliasing. Through comparative performance evaluations, OctopusTaint demonstrates superior performance over the current state-of-the-art solutions, SaTC, EmTaint, and MangoDFA. It reports genuine extra tainted sinks in considerable less time (24% faster). Furthermore, OctopusTaint identifies 82% of tainted sinks within EmTaint's labeled dataset while exhibit
This paper proposes an electric load demand model of the 5th generation (5G) base station (BS) in a distribution system based on data flow analysis. First, the electric load model of a 5G BS is developed according to ...
详细信息
This paper proposes an electric load demand model of the 5th generation (5G) base station (BS) in a distribution system based on data flow analysis. First, the electric load model of a 5G BS is developed according to its components and their characteristics. Second, critical factors of the power consumption of 5G BS, including area, dataflow with uncertainty number of activated terminals and data usage of the terminal, are discussed. A statistical model of the number of activated terminals and data usage of the terminal are established using a probability distribution, and Monte Carlo sampling is used to handle the uncertainties. Then, the model is extended for multiple terminal connections. A case study is conducted to analyze the impact of the critical factors on the load of 5G BS and the influence of 5G BSs load on the other loads in three typical areas. Numerical results demonstrate that the proposed model is effective and can be employed as an accurate representation of the 5G BS load profile for the analysis of load characteristics. Case studies also show that the 5G BS loads have diverse impact on different typical areas in a distribution system.
The recent advent of serverless applications has created a need for static analysis tools to analyse them. However, the event-driven architecture of serverless applications, along with the black-box nature of the serv...
详细信息
The Android operating system is frequently updated, with each version bringing a new set of APIs. New versions may involve API deprecation;Android apps using deprecated APIs need to be updated to ensure the apps' ...
详细信息
The Android operating system is frequently updated, with each version bringing a new set of APIs. New versions may involve API deprecation;Android apps using deprecated APIs need to be updated to ensure the apps' compatibility with old and new Android versions. Updating deprecated APIs is a time-consuming endeavor. Hence, automating the updates of Android APIs can be beneficial for developers. CocciEvolve is the state-of-the-art approach for this automation. However, it has several limitations, including its inability to resolve out-of-method variables and the low code readability of its updates due to the addition of temporary variables. In an attempt to further improve the performance of automated Android API update, we propose an approach named AndroEvolve, that addresses the limitations of CocciEvolve through the addition of data flow analysis and variable name denormalization. data flow analysis enables AndroEvolve to resolve the value of any variable within the file scope. Variable name denormalization replaces temporary variables that may present in the CocciEvolve update with appropriate values in the target file. We have evaluated the performance of AndroEvolve and the readability of its updates on 372 target files containing 565 deprecated API usages. Each target file represents a file from an Android application that uses a deprecated API in its code. AndroEvolve successfully updates 481 out of 565 deprecated API invocations correctly, achieving an accuracy of 85.1%. Compared to CocciEvolve, AndroEvolve produces 32.9% more instances of correct updates. Moreover, our manual and automated evaluation shows that AndroEvolve updates are more readable than CocciEvolve updates.
Asynchronous message-passing systems are employed frequently to implement distributed mechanisms, protocols, and processes. This paper addresses the problem of precise data flow analysis for such systems. To obtain go...
详细信息
ISBN:
(数字)9783030720193
ISBN:
(纸本)9783030720193;9783030720186
Asynchronous message-passing systems are employed frequently to implement distributed mechanisms, protocols, and processes. This paper addresses the problem of precise data flow analysis for such systems. To obtain good precision, data flow analysis needs to somehow skip execution paths that read more messages than the number of messages sent so far in the path, as such paths are infeasible at run time. Existing data flow analysis techniques do elide a subset of such infeasible paths, but have the restriction that they admit only finite abstract analysis domains. In this paper we propose a generalization of these approaches to admit infinite abstract analysis domains, as such domains are commonly used in practice to obtain high precision. We have implemented our approach, and have analyzed its performance on a set of 14 benchmarks. On these benchmarks our tool obtains significantly higher precision compared to a baseline approach that does not elide any infeasible paths and to another baseline that elides infeasible paths but admits only finite abstract domains.
Studies have shown that in the area of testing data-flow coverage is often more effective in exposing errors compared to other approaches such as branch coverage. Thus, evaluating and generating test cases with respec...
详细信息
ISBN:
(纸本)9789897585685
Studies have shown that in the area of testing data-flow coverage is often more effective in exposing errors compared to other approaches such as branch coverage. Thus, evaluating and generating test cases with respect to the data-flow coverage is desirable. Unfortunately, data-flow coverage is rarely considered in practice due to the lack of appropriate tools. Existing tools are typically based on static analysis and cannot distinguish between traversable and non-traversable dataflows. They also have typically difficulties with properly handling aliasing and complex data structures. Thus, we propose a tool for dynamically analyzing the data-flow coverage which avoids all these drawbacks. In combination with our existing test-case generator, it enables the creation of an (almost) minimal set of test cases that guarantee all dataflows to be covered. We have evaluated our tool based on a couple of benchmarks.
.Abstract syntax trees (ASTs), control flow graphs (CFGs), and data flow analysis (DFA) are prerequisites for static and dynamic analysis and vulnerability detection for programs;thus, obtaining them is significant. R...
详细信息
.Abstract syntax trees (ASTs), control flow graphs (CFGs), and data flow analysis (DFA) are prerequisites for static and dynamic analysis and vulnerability detection for programs;thus, obtaining them is significant. Recently, many tools related to generating ASTs, CFGs, and DFA have been proposed. However, most tools can only construct ASTs, very few can construct ASTs and CFGs, and almost none can construct all three. The vast majority of AST, CFG, and DFA tools are for other languages (e.g., Java and Python), and while a few are for C/C++, they are implemented in other languages, creating complex working environments, and overreliance on other language-related libraries. To address these shortcomings, we present a DFA tool, Dflow, for C/C++. First, a lexical/grammatical analyzer generated by Flex and Bison is used to analyze the program. Second, an AST is constructed from the results;then, a CFG is obtained from the analysis results and the information from the AST. Finally, based on the AST and CFG, DFA is performed, and the vulnerabilities of simple programs are determined. We test some common vulnerable code and common weakness enumeration slicing code, which show the effectiveness of Dflow in program data flow analysis and vulnerability checking. The results show that our tool can implement ASTs, CFGs, and DFA, and we add some rules to the tool for vulnerability detection. (c) 2021 Institute of Electrical Engineers of Japan. Published by Wiley Periodicals LLC.
In recent decades, many household items have become computerized, collecting data and sending it for further processing. Consequently, the number of dataflow structure requirements to analyze data in real-time is ste...
详细信息
暂无评论