static program analysis

Top PDF static program analysis:

A staged static program analysis to improve the performance of runtime monitoring

A staged static program analysis to improve the performance of runtime monitoring

While a lot of related work has been done in static program analysis and ver- ification (model checking), there has been little previous work on using those techniques to speed up runtime monitoring. We list notable exceptions here. Typestate properties Typestate properties [27] have been widely studied in the past. Very recently, Fink et al. presented a static optimization for runtime check- ing of typestate properties [12]. The analysis they present is in flavour similar to ours. In particular it is also implemented in multiple stages, one of which is flow- sensitive. However typestate properties allow one to express temporal constraints about one single object only, making their flow-insensitive and flow-sensitive stages simpler than ours. The authors paid special attention to the handling of strong updates, using must-alias information, which we leave to future work. The analysis Fink et al. present did not address the issue of multi-threading.
Show more

25 Read more

A Survey of Static Program Analysis Techniques

A Survey of Static Program Analysis Techniques

The main applications of program analysis are program optimization and program correctness. As far as correctness is concerned there is made a distinction between total correctness, where it is additionally required that the algorithm terminates, and partial correctness, which simply re- quires that if an answer is returned it will be correct. Since there is no general solution to the halting problem, a total correctness assertion is not solvable in general. In pratice the main goal is to use program analysis technology to build tools for validating industrial-sized software. How- ever, two results of the theoretical computer science, namely the Rice’s theorem [3] and the undecideabillity of the Halting Problem 1 [7] , show the limit of analysis methods. Generally precise program analysis methods are in exaustive need and processing time and/or memory space. Therefore the degree of precision must be determined application specific. Especially abstract interpretation offers good possibillities to handle this trade-off between precision and scalability.
Show more

16 Read more

Static Analysis for Stack Inspection

Static Analysis for Stack Inspection

Our approach is based on Control FlowAnalysis (CFA) [9], a static tech- nique for predicting safe and computable approximations to the set of values that the objects of a program may assume during its execution. These approx- imations are then used to analyze properties of programs in a safe manner: if a property holds at static time, then it will always hold at run-time. The vice-versa may not be true: the analysis may “err on the safe side”. CFA and other static program analysis techniques are generally more efficient than program verification, and for that reason more approximate, because the focus is on the fully automatic processing of large programs.
Show more

12 Read more

Static Analysis of Binary Executables

Static Analysis of Binary Executables

This paper is a survey of the use of static program analysis techniques on binary executables. Static analysis techniques are often used on a program’s source code, which is usually a high level language. It is possible to apply them directly on the machine code of a compiled program. One of the challenges is building up a control flow graph of a proce- dure, since indirect branch instructions accept the contents of a register for the destination address. Program slicing techniques can be used to reduce the assembly code to the smallest possible program to compute the value of that reg- ister, and determine the range of values in the register. Another problem is disassembly itself. On architectures with instructions of varying size, it is difficult to locate the start of the first machine code instruction in a section consisting of both code and data. Also, malicious code could take advan- tage of the difficulties in disassembly to hide its existence. Various static analysis techniques have been developed to analyze such programs, in order to build up a control flow graph and a call graph. Finally, type-state techniques have been developed to verify that machine code conforms to its interface, and does not alter areas of memory which it should not.
Show more

9 Read more

Static and Dynamic Analysis of a Circular Bulkheads

Static and Dynamic Analysis of a Circular Bulkheads

Airframes must be strong and light in weight. An aircraft built so heavy that it couldn't support more than a few hundred pounds of additional weight would be useless. All materials used to construct an aircraft must be reliable. Reliability minimizes the possibility of dangerous and unexpected failures .Many forces and structural stresses act on an aircraft when it is flying and when it is static. When it is static, the force of gravity produces weight, which is supported by the landing gear. The landing gear absorbs the forces imposed on the aircraft fuselage during takeoffs and landings .During flight, any maneuver that causes acceleration or deceleration increases the forces and stresses on the wings and fuselage.
Show more

23 Read more

Result Certification of Static Program Analysers with Automated Theorem Provers

Result Certification of Static Program Analysers with Automated Theorem Provers

We shall consider static analyses that have been defined using the theory of abstract interpretation. The first step in the result verification consists of trans- lating the elements of the analyser’s abstract domain into a logical formalism in which the semantic correctness of the analysis can be expressed. Our transla- tion is defined using the concretisation function γ of the abstract interpretation which maps abstract domain elements to properties of the concrete semantic domain. More precisely, it translates abstract domain elements associated to program points into pre- and post-conditions, expressed in Many Sorted First Order Logic (MSFOL). Running a Verification Condition Generator (VCGen) on such an annotated program results in a set of proof obligations expressed in first-order logic. These Verification Conditions (VCs) are then given to be proved by ATPs. As already mentioned, this is no formal guarantee that ATPs will be able to discharge those proof obligations. For object-oriented analyses, the formulae make extensive use of quantifiers and are therefore challenging for ATPs. This very work is motivated by the experimental observation that state-of-the-art ATPs are in practise incapable of discharging those formulae. An important part of this paper is therefore concerned with identifying a logical fragment for expressing pre-, post-conditions and VCs, and to present a method for transforming these VCs into VCs that can be discharged efficiently.
Show more

23 Read more

A Method for Improving Efficiency of Static Program Graph Scheduling

A Method for Improving Efficiency of Static Program Graph Scheduling

This paper is organised as follows. First we give a brief description of our partitioning algorithm. In Section 3 we present partial strict triggering of program graph nodes. Next, a brief descrip- tion of improved scheduling algorithms is given in Section 4. In Section 5 we present a model of a macro dataflow computer which supports partial strict triggering of program graph nodes. Performance evaluation of improved scheduling algorithms with execution of program graph on the macro dataflow computer simulator is done in Section 6. And, finally, Section 7 presents concluding remarks, as well as directions for future research work.
Show more

7 Read more

PUSHOVER ANALYSIS AN INELASTIC STATIC ANALYSIS METHOD

PUSHOVER ANALYSIS AN INELASTIC STATIC ANALYSIS METHOD

Bridges as one of the important man-made structures play a vital role in everyday life of the people of Amravati city. Serviceability of bridges is of high importance in order to help injured people and required transportation, especially after earthquakes. Strong ground motions in the past decade in the densely populated area had great impacts on many bridges specially those designed according to older codes and demonstrated that these structures are vulnerable. In order to verify current codes which have had great changes compared with old ones and also recognizing of possible deficiencies, the careful study of bridges performance in the recent earthquake is necessary. Therefore, it’s preferable to investigate the structures that play a main role in everyday life. Linearly elastic procedures are efficient as long as the structure behaves within elastic limits. If the structure responds beyond the elastic limits, linear analyses may indicate the location of first yielding but cannot predict failure mechanisms and account for redistribution of forces during progressive yielding. This fact makes the elastic procedures insufficient to perform assessment and retrofitting evaluation for those bridges in particular and structures in general. Nonlinear (static and dynamic) procedures can overcome this problem and show the performance level of the structures under any loading level.
Show more

8 Read more

ModIM - A Modelica Frontend With Static Analysis

ModIM - A Modelica Frontend With Static Analysis

Abstract: We present ModIM, a Modelica front-end library written in Java. ModIM is designed to not only support the development of Compilers/Interpreters but also tools that are currently underrepresented in the Modelica ecosystem. This includes (but is not limited to) advanced editors, documentation generators and model checkers. For that purpose ModIM offers a static environment generation and type inference algorithm. Both algorithms are adaptions of standard techniques to the characteristics of Modelica. Environment generation is rather complex, but specified intensely. The type system is straight forward, but lacks a formal specification and thus is an interpretation of the Modelica specifications’ intents. Additionally it is extended to also cover some unique features of Modelica. This extension consists of a formalization of the four kinds of variabilities and the introduction of a new type for unknowns.
Show more

6 Read more

Detecting Test Clones with Static Analysis

Detecting Test Clones with Static Analysis

The use of static analysis to discover interfaces and constraints (similar in spirit to potential refactorings) in object oriented code has been previously investigated; see repre- sentative works by Ammons et al [ 2 ] and Whaley et al [ 43 ]). Alternatively, automatically- discovered program facts have been leveraged for automatic verification in place of manually written tests. Pradel and Gross use runtime traces to mine for specifications and reporting bugs [ 28 ], while Jaygarl et al capture object instances at runtime for mutation testing [ 16 ]. Brun and Ernst also explored the possibility of finding errors in code via machine learn- ing in [ 8 ] where they found interesting code properties and their violations, which were indicative of developer error.
Show more

65 Read more

A Brief Introduction to Static Analysis

A Brief Introduction to Static Analysis

Assertion checking - user writes assert() statements that fail at runtime if assertion evaluates to false. We can use static analysis to prove that an assertion can never fail Given a specification for an algorithm and a formal semantics for the language the program is written in, can prove that the implementation (not just the algorithm!) is correct. Note: giving specification is sometimes harder than checking it! Example: Specification for sorting. How would you define? Takes input `, 0-indexed array of integers, returns ` 0 , 0-indexed array of integers, where:

37 Read more

Static analysis of lattice columns

Static analysis of lattice columns

The comparative analysis was based on the formulae (5) and (28)–(31). The formula (5) was used to determine shear forces in the column basing on the theory given in EN-1995 Eurocode 5 [6] which does not take into consideration the influence of shearing on critical load-bearing capacity. For- mulae (28)–(31) were used to determine shear forces in the column basing on the theory given in Timoshenko and Gere [5] which takes into consideration the influence of shearing on critical load-bearing capacity.

13 Read more

Static and Dynamic Analysis of Chassis

Static and Dynamic Analysis of Chassis

All real physical structures, when subjected to loads or displacements, behave dynamically. The additional inertia forces, according to Newton’s second law, are equal to the mass times the acceleration. If the loads or displacements are applied very slowly, then the inertia forces can be neglected and a static load analysis can be justified, but in reality the loads are dynamic in nature. Hence, in this work, an effort is made to investigate the static and dynamic response of truck chassis due to road undulations.

9 Read more

STATIC ANALYSIS OF A  REINFORCED SUSPENSION BRIDGE.

STATIC ANALYSIS OF A REINFORCED SUSPENSION BRIDGE.

This paper is based on diseases of an anchor rope bridge and the reinforced cables are putting forward. It changed the original single cable bearing system into a suspension - cable collaboration system. Through the finite element analysis of the bridge after reinforce. The internal force, stress and stiffness index are compared before and after the reinforcement of the structure. The result shows that the scheme makes the stay-cables, main cable and suspenders work together to bear the force. It reduced the burden of main cable and the boom and solved the problem that the original bridge vertical displacement is too large. At the same time also reduce the dead load and internal force under the action of automobile loading structure and improved the carrying capacity of the structure. The reinforcing scheme has certain feasibility. For the reinforcement method is used for reference in the application of the same type bridge reinforcement.
Show more

11 Read more

STATIC ANALYSIS OF TENSEGRITY STRUCTURES

STATIC ANALYSIS OF TENSEGRITY STRUCTURES

Numerical methods are a good approach to solve complex systems of equations as those that arise in this research provided that a proper set of initial conditions is available. However, they do present disadvantages related to the speed of computations and the impossibility to make predictions about the behavior of the system. A challenging future work may address the problem of finding a closed solution for the analysis of a tensegrity structure. It will require the establishment of a better nomenclature that simplifies and reduces the size of the equations and at the same time permits one to follow the physical behavior of the structure.
Show more

117 Read more

Static Analysis In Software Security

Static Analysis In Software Security

8.Conclusion: Alan Turing, as part of his conception of a general purpose computing machine, showed that algorithms cannot be used to solve all problems. In particular, Turing posed the halting problem, the problem of determining whether a given algorithm terminates (reaches a final state). The proof that the halting problem is undecidable boils down to the fact that the only way to know for sure what an algorithm will do is to carry it out .So that means that a static analysis tool is not enough to find out if an algorithm can successfully handle a problem .The only way to do this is dynamic analysis.
Show more

27 Read more

Static Structural Analysis of Crane Hook

Static Structural Analysis of Crane Hook

DESIGN AND STRESS ANALYSIS OF VARIOUS CROSS SECTION OF HOOK G.E.V.Ratnakumar considers Crane catch is a reshaped shaft. Gets are used as a piece of overpowering relationship to pass on tones of loads safely. These gets have a fundamental part to play the degree that the security of crane stacked is concerned. With more industrialization the rate at which these gets are formed are building up .This wander is finished to think the tension variation in crane hooksfor assorted cross territories, for instance, round and square and for different radii of shape as well, probably and speculatively. Probably, the loads are gotten for different crane catches for 5mm extending on UTM (Universal Testing Machine).
Show more

10 Read more

Jakstab: A Static Analysis Platform for Binaries

Jakstab: A Static Analysis Platform for Binaries

Today’s de facto industry standard for disassembly is IDA Pro. Its heuristic matches common prologue bytes to identify procedures and assumes that every call returns to its original site, regardless of the call target, which can lead to erroneous fall-through edges. Furthermore, the CFG is usually incomplete, since IDA Pro has only a very ba- sic ability to resolve indirect branch instructions (function pointers): It propagates con- stants just within a basic block, and decorates calls to such constants with comments containing the actual target. While this is enough to aid human engineers, it is insuf- ficient for automated analysis. Figure 1 shows an exemplary piece of assembly code from a Windows driver executable (fwdrv.sys from Sunbelt Personal Firewall), where IDA Pro (v4.7) fails to identify an indirect call to an imported function, whose address is stored at a memory location pointed to by the register esi. Finally, even though IDA
Show more

5 Read more

Computational Static and Dynamic Analysis of Leafspring

Computational Static and Dynamic Analysis of Leafspring

Abstract - A leaf spring is a basic type of spring, usually utilized for the suspension as a part of wheeled vehicles. Leaf Springs are long and contract plates joined to the casing of a trailer that rest above or beneath the trailer's hub. For sheltered and happy with riding, to keep the street stuns from being transmitted to the vehicle segments and to defend the inhabitants from street stuns it is important to decide the most extreme safe anxiety and diversion. The goal is to discover the hassles and distortion in the leaf spring by applying static burden on it and decide the normal recurrence of the leaf spring with various cell strong basic leaf spring. These qualities are figured logically, by utilizing limited component investigation. Along these lines in the present work, leaf spring is composed by considering static burden on vehicle. The model of leaf spring is made in CATIA V5 and examination is done utilizing ANSYS 14.5 workbench. The outcome for anxiety, Strain, twisting and normal frequencies are contrasted and leaf spring with non-cell strong structure and investigation result.
Show more

12 Read more

Limits of Static Analysis for Malware Detection

Limits of Static Analysis for Malware Detection

Advanced Malware Detection (Model Checking): Be- cause it is widely known that existing commercial virus scanners typically employ pattern-based signatures, the ability to evade their detection is not too surprising. In or- der to verify the efficiency of our obfuscation techniques on a more advanced malware detector, we obtained the sys- tem presented in [10] from its authors. This detector first creates a disassembly of the binary under analysis by us- ing IDA Pro [7]. Then, model checking is used to search for the existence of a generic code template that character- izes malicious behavior. In particular, the tool attempts to identify code sequences in the program that copy this pro- gram’s binary to another location in the file system. More precisely, a malicious code sequence is defined as a call to the GetModuleFileNameA Windows API function, fol- lowed by an invocation of the CopyFileA function. The exact specification as presented in [10] is shown below.
Show more

10 Read more

Show all 10000 documents...