We propose a points-to analysis that can recover targets for function pointer calls, virtual calls and method calls for using in a static analysis. We use a flow-insensitive analysis, and the analysis results are inte...
详细信息
We propose a points-to analysis that can recover targets for function pointer calls, virtual calls and method calls for using in a static analysis. We use a flow-insensitive analysis, and the analysis results are intended for flow- and path-sensitive analysis which can improve the initial analysis precision within a single function. We implemented the proposed approach in a static analyzer for finding errors in C, C++, Go, Java and Kotlin programs. The devirtualization algorithm is fast enough and spends less than 6% of the total analysis time. It can work for projects like Tizen 7 with 27.5 MLoc of source code.
This article compares two approaches for describing flow dynamics on mountain slopes: using a single-velocity multi-phase model and a multi-velocity multiphase model. Simulation of experiments of a slushflow in a tank...
详细信息
ISBN:
(数字)9781665412919
ISBN:
(纸本)9781665448215
This article compares two approaches for describing flow dynamics on mountain slopes: using a single-velocity multi-phase model and a multi-velocity multiphase model. Simulation of experiments of a slushflow in a tank and interaction of the flow with a complex of protective structures using single-velocity and multi-velocity multiphase approaches is carried out. Comparison of numerical solutions with experimental data is made. Both approaches are applied to the calculation of an avalanche in the 22nd avalanche site of the Yukspor Mountain (Khibiny). The range of the avalanche run-out zone and the shape of the avalanche deposits were compared with field data obtained from the results of measuring the real avalanche in this cite. As a result of a numerical experiment, distributions of such parameters of the flow as flow rate, depth, density, viscosity, and bottom shear stress were obtained. The architecture of the nonNewtonianMultiphaseEulerFoam solver is being developed to describe the motion of a multiphase multi-velocity non-Newtonian medium.
Ensuring the security and reliability of machine learning frameworks is crucial for building trustworthy AI-based systems. Fuzzing, a popular technique in secure software development lifecycle (SSDLC), can be used to ...
详细信息
This paper studies the performance and working aspects of SMT solvers on processing formulas acquired during path-sensitive static analysis and dynamic symbolic execution. We review some general patterns of building S...
详细信息
This paper studies the performance and working aspects of SMT solvers on processing formulas acquired during path-sensitive static analysis and dynamic symbolic execution. We review some general patterns of building SMT formulas in the QF_BV logic during analysis and related technical specifics. We also provide the results of comparing different solvers on two sets of requests obtained by Svace static analyzer and Anxiety dynamic symbolic execution tool. It turns out that Yices2 solver performs the best, although, for Svace, notable part of requests can be done better by other solvers. In return, Yices2 misses some features crucial to top-tier analyzers such as deterministic time limit. A brief attempt at making machine learning based solver portfolio shows that solving time can be enhanced, but requires some serious work on feature selection, while technical difficulties may render it unpractical. For Anxiety we found out that with Yices2 incremental solving is almost always faster (sometimes dozens of times faster) than non-incremental. Moreover, the more queries we solve incrementally, the higher acceleration we get.
Paper presents some results of the implementation of a quasi-hydrodynamic (QHD) approach as finite volume method (FVM) solver mulesQHDFoam on the basis of OpenFOAM. Application of the QHD numerical algorithm to the si...
详细信息
ISBN:
(纸本)9781728112763;9781728112756
Paper presents some results of the implementation of a quasi-hydrodynamic (QHD) approach as finite volume method (FVM) solver mulesQHDFoam on the basis of OpenFOAM. Application of the QHD numerical algorithm to the simulation of the attractor of internal gravity waves is considered. A comparison of FVM with spectral element method (SEM) implemented in Nek5000 is given. Convergence of the QHD FVM solver model to the SEM Nek5000 model is shown. The Big Data analysis method (Proper Orthogonal Decomposition) is used as a tool for comparing the calculation results between QHDFoam and Nek5000.
We present an interprocedural static analysis to detect errors in the Go source code. The analysis supports most of the language features, while the main focus of the paper is closures and defer statements. The analys...
详细信息
We present an interprocedural static analysis to detect errors in the Go source code. The analysis supports most of the language features, while the main focus of the paper is closures and defer statements. The analysis we have developed demonstrates good scalability and performance. It is able to analyze a project of 1.1 million lines in 12 minutes.
Many state machine based strategies return complete but infinite test suites. A usual approach to guarantee the fault coverage with respect to some kind of faults is to limit the number of faults, i.e., to consider a ...
详细信息
Many state machine based strategies return complete but infinite test suites. A usual approach to guarantee the fault coverage with respect to some kind of faults is to limit the number of faults, i.e., to consider a finite fault domain. In this paper, we summarize some results on deriving complete test suites w.r.t. infinite faults domains but w.r.t. special types of the specification machine.
Crash report analysis is a necessary step before developers begin fixing errors. Fuzzing or hybrid (with dynamic symbolic execution) fuzzing is often used in the secure Development lifecycle. Modern fuzzers could prod...
详细信息
ISBN:
(纸本)9781665423311
Crash report analysis is a necessary step before developers begin fixing errors. Fuzzing or hybrid (with dynamic symbolic execution) fuzzing is often used in the secure Development lifecycle. Modern fuzzers could produce many crashes and developers do not have enough time to fix them till release date. There are two approaches that could reduce developers' effort on crash analysis: crash clustering and crash severity estimation. Crash severity estimation could help developers to prioritize crashes and close security issues first. Crash clustering puts similar crash reports in one cluster what could speed up the analyzing time for all crash reports. In this paper, we focus on crash clustering. We propose an approach for clustering and deduplicating of crashes that occurred in Linux applications. We implement this approach as a tool that could cluster Casr [1] crash reports. We evaluated our tool on a set of crash reports that was collected from fuzzing results.
In this paper, a tool for automatically generating test programs for ARM VMSAv8-64 memory management units is described. The solution is based on the MicroTESK framework being developed at ISP ras. The tool consists o...
详细信息
ISBN:
(纸本)9781509008865
In this paper, a tool for automatically generating test programs for ARM VMSAv8-64 memory management units is described. The solution is based on the MicroTESK framework being developed at ISP ras. The tool consists of two parts: an architecture-independent test program generation core and VMSAv8-64 specifications. Such separation is not a new principle in the area -- it is applied in a number of industrial test program generators, including IBM's Genesys-Pro. The main distinction is in how specifications are represented, what sort of information is extracted from them, and how that information is exploited. In the suggested approach, specifications comprise descriptions of the memory access instructions, loads and stores, and definition of the memory management mechanisms such as translation lookaside buffers, page tables, and cache units. The tool analyzes the specifications and extracts the execution paths and inter-path dependencies. The extracted information is used to systematically enumerate test programs for a given user-defined template. Test data for a particular program are generated by using symbolic execution and constraint solving techniques.
The problem of 2D incompressible flow simulation around airfoils using vortex methods is considered. An exact solution for the boundary integral equation with respect to a free vortex sheet intensity at the airfoil su...
详细信息
暂无评论