scholarly journals Investigation of Data Dependencies by Dynamic Analysis of Sapfor

2020 ◽  
Vol 23 (3) ◽  
pp. 473-493
Author(s):  
Nikita Andreevich Kataev ◽  
Alexander Andreevich Smirnov ◽  
Andrey Dmitrievich Zhukov

The use of pointers and indirect memory accesses in the program, as well as the complex control flow are some of the main weaknesses of the static analysis of programs. The program properties investigated by this analysis are too conservative to accurately describe program behavior and hence they prevent parallel execution of the program. The application of dynamic analysis allows us to expand the capabilities of semi-automatic parallelization. In the SAPFOR system (System FOR Automated Parallelization), a dynamic analysis tool has been implemented, based on on the instrumentation of the LLVM representation of an analyzed program, which allows the system to explore programs in both C and Fortran programming languages. The capabilities of the static analysis implemented in SAPFOR are used to reduce the overhead program execution, while maintaining the completeness of the analysis. The use of static analysis allows to reduce the number of analyzed memory accesses and to ignore scalar variables, which can be explored in a static way. The developed tool was tested on performance tests from the NAS Parallel Benchmarks package for C and Fortran languages. The implementation of dynamic analysis, in addition to traditional types of data dependencies (flow, anit, output), allows us to determine privitizable variables and a possibility of pipeline execution of loops. Together with the capabilities of DVM and OpenMP these greatly facilitates program parallelization and simplify insertion of the appropriate compiler directives.

Cybersecurity ◽  
2021 ◽  
Vol 4 (1) ◽  
Author(s):  
Roee S. Leon ◽  
Michael Kiperberg ◽  
Anat Anatey Leon Zabag ◽  
Nezer Jacob Zaidenberg

AbstractMalware analysis is a task of utmost importance in cyber-security. Two approaches exist for malware analysis: static and dynamic. Modern malware uses an abundance of techniques to evade both dynamic and static analysis tools. Current dynamic analysis solutions either make modifications to the running malware or use a higher privilege component that does the actual analysis. The former can be easily detected by sophisticated malware while the latter often induces a significant performance overhead. We propose a method that performs malware analysis within the context of the OS itself. Furthermore, the analysis component is camouflaged by a hypervisor, which makes it completely transparent to the running OS and its applications. The evaluation of the system’s efficiency suggests that the induced performance overhead is negligible.


2021 ◽  
Vol 6 (5) ◽  
pp. 62
Author(s):  
John Morris ◽  
Mark Robinson ◽  
Roberto Palacin

The ‘short’ neutral section is a feature of alternating current (AC) railway overhead line electrification that is often unreliable and a source of train delays. However hardly any dynamic analysis of its behaviour has been undertaken. This paper briefly describes the work undertaken investigating the possibility of modelling the behaviour using a novel approach. The potential for thus improving the performance of short neutral sections is evaluated, with particular reference to the UK situation. The analysis fundamentally used dynamic simulation of the pantograph and overhead contact line (OCL) interface, implemented using a proprietary finite element analysis tool. The neutral section model was constructed using physical characteristics and laboratory tests data, and was included in a validated pantograph/OCL simulation model. Simulation output of the neutral section behaviour has been validated satisfactorily against real line test data. Using this method the sensitivity of the neutral section performance in relation to particular parameters of its construction was examined. A limited number of parameter adjustments were studied, seeking potential improvements. One such improvement identified involved the additional inclusion of a lever arm at the trailing end of the neutral section. A novel application of pantograph/OCL dynamic simulation to modelling neutral section behaviour has been shown to be useful in assessing the modification of neutral section parameters.


Author(s):  
Tomoaki Utsunomiya ◽  
Shigeo Yoshida ◽  
Hiroshi Ookubo ◽  
Iku Sato ◽  
Shigesuke Ishida

This paper is concerned with the development of a Floating Offshore Wind Turbine (FOWT) utilizing spar-type floating foundation. In order to design such a structure, it is essential to evaluate the dynamic response under extreme environmental conditions. In this study, therefore, a dynamic analysis tool has been developed. The dynamic analysis tool consists of a multi-body dynamics solver (MSC.Adams), aerodynamic force evaluation library (NREL/AeroDyn), hydrodynamic force evaluation library (In-house program named SparDyn), and mooring force evaluation library (In-house program named Moorsys). In this paper, some details of the developed dynamic analysis tool are given. In order to validate the program, comparison with the experimental results, where the wind, current and wave are applied simultaneously, has been made. The comparison shows that satisfactory agreements between the simulation and the experimental results are obtained. However, when VIM (Vortex Induced Motion) occurs, the current loads and cross flow responses (sway and roll) are underestimated by the simulation since the simulation code does not account for the effect of VIM.


2020 ◽  
Author(s):  
Kristóf Umann ◽  
Zoltán Porkoláb

Uninitialized variables have been a source of errors since the beginning of software engineering. Some programming languages (e.g. Java and Python) will automatically zero-initialize such variables, but others, like C and C++, leave their state undefined. While laying aside initialization in C and C++ might be a performance advantage if an initial value can't be supplied, working with such variables is an undefined behavior, and is a common source of instabilities and crashes. To avoid such errors, whenever meaningful initialization is possible, it should be used. Tools for detecting these errors run time have existed for decades, but those require the problematic code to be executed. Since in many cases the number of possible execution paths are combinatoric, static analysis techniques emerged as an alternative. In this paper, we overview the technique for detecting uninitialized C++ variables using the Clang Static Analyzer, and describe various heuristics to guess whether a specific variable was left in an undefined state intentionally. We implemented a prototype tool based on our idea and successfully tested it on large open source projects.


Sign in / Sign up

Export Citation Format

Share Document