Dissertations / Theses on the topic 'Statit analysis'

To see the other types of publications on this topic, follow the link: Statit analysis.

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Statit analysis.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Monat, Raphaël. "Static type and value analysis by abstract interpretation of Python programs with native C libraries." Electronic Thesis or Diss., Sorbonne université, 2021. http://www.theses.fr/2021SORUS263.

Full text
Abstract:
Dans cette thèse, nous avons pour objectif de concevoir, à la fois théoriquement et expérimentalement, des méthodes pour la détection automatique de bogues potentiels dans les logiciels – ou la preuve de leur absence. Ces méthodes sont statiques : elles analysent le code source des programmes sans les exécuter. Nos travaux s’inscrivent dans le cadre de l’interprétation abstraite pour dériver une sémantique sûre et décidable. Le principal objet de ce travail est l’analyse des langages de programmation dynamiques. En particulier, ce travail se concentre sur les programmes écrits en Python, qui peuvent appeler des bibliothèques écrites en C
In this thesis, we aim at designing both theoretically and experimentally methods for the automatic detection of potential bugs in software – or the proof of the absence thereof. This detection is done statically by analyzing programs’ source code without running them. We rely on the abstract interpretation framework to derive sound, computable semantics. In particular, we focus on analyzing dynamic programming languages. The target of this work is the analysis of Python programs combined with native C libraries
APA, Harvard, Vancouver, ISO, and other styles
2

SHRESTHA, JAYESH. "Static Program Analysis." Thesis, Uppsala universitet, Informationssystem, 2013. http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-208293.

Full text
APA, Harvard, Vancouver, ISO, and other styles
3

Zhang, Hao. "Nondeterministic Linear Static Finite Element Analysis: An Interval Approach." Diss., Available online, Georgia Institute of Technology, 2005, 2005. http://etd.gatech.edu/theses/available/etd-08232005-020145/.

Full text
Abstract:
Thesis (Ph. D.)--Civil and Environmental Engineering, Georgia Institute of Technology, 2006.
White, Donald, Committee Member ; Will, Kenneth, Committee Member ; Zureick, Abdul Hamid, Committee Member ; Hodges, Dewey, Committee Member ; Muhanna, Rafi, Committee Chair ; Haj-Ali, Rami, Committee Member.
APA, Harvard, Vancouver, ISO, and other styles
4

Djoudi, Adel. "Binary level static analysis." Thesis, Université Paris-Saclay (ComUE), 2016. http://www.theses.fr/2016SACLX093.

Full text
Abstract:
Les méthodes de vérification automatique des logiciels connaissent un succès croissant depuis le début des années 2000, suite à plusieurs succès industriels (Microsoft, Airbus, etc.). L'analyse statique vise, à partir d'une description du programme, à inférer automatiquement des propriétés vérifiées par celui-ci. Les techniques standards d'analyse statique travaillent sur le code source du logiciel, écrit par exemple en C ou Java. Cependant, avoir accès au code source n'est pas envisageable pour de nombreuses applications relatives à la sécurité, soit que le code source n'est pas disponible (code mobile, virus informatiques), soit que le développeur ne veut pas le divulguer (composants sur étagère, certification par un tiers).Nous nous intéressons dans cette thèse à la conception et au développement d'une plate-forme d'analyse statique de code binaire à des fins d'analyse de sécurité. Nos principales contributions se font à trois niveaux: sémantique, implémentation et analyse statique.Tout d'abord, la sémantique des programmes binaires analysés est basée sur un formalisme générique appelé DBA qui a été enrichi avec des mécanismes de spécification et d'abstraction. La définition de la sémantique des programmes binaires requiert aussi un modèle mémoire adéquat.Nous proposons un modèle mémoire adapté au binaire, inspiré des travaux récents sur le code C bas-niveau. Ce nouveau modèle permet de profiter de l'abstraction du modèle à régions tout en gardant l'expressivité du modèle plat.Ensuite, notre plate-forme d'analyse de code binaire nommée BinSec offre trois services de base: désassemblage, simulation et analyse statique.Chaque instruction machine est traduite vers un bloc d'instructions DBA avec une sémantique équivalente. Une large partie des instructions x86 est gérée par la plateforme. Une passe de simplification permet d'éliminer les calculs intermédiaires inutiles afin d'optimiser le fonctionnement des analyses ultérieures. Nos simplifications permettent notamment d'éliminer jusqu'à75% des mises à jours de flags.Enfin, nous avons développé un moteur d'analyse statique de programmes binaires basé sur l'interprétation abstraite. Outre des domaines adaptés aux spécificités du code binaire, nous nous sommes concentrés sur le contrôle par l'utilisateur du compromis entre précision/correction et efficacité. De plus, nous proposons une approche originale de reconstruction de conditions dehaut-niveau à partir des conditions bas-niveau afin de gagner plus de précision d'analyse. L'approche est sûre, efficace, indépendante de la plateforme cibleet peut atteindre des taux de reconstruction très élevés
Automatic software verification methods have seen increasing success since the early 2000s, thanks to several industrial successes (Microsoft, Airbus, etc.).Static program analysis aims to automatically infer verified properties of programs, based on their descriptions. The standard static analysis techniques apply on the software source code, written for instance in C or Java. However, access to source code is not possible for many safety-related applications, whether the source code is not available (mobile code, computer virus), or the developer does not disclose it (shelf components, third party certification).We are interested in this dissertation in design and development of a static binary analysis platform for safety analysis. Our contributions are made at three levels: semantics, implementation and static analysis.First, the semantics of analyzed binary programs is based on a generic, simple and concise formalism called DBA. It is extended with some specification and abstraction mechanisms in this dissertation. A well defined semantics of binary programs requires also an adequate memory model. We propose a new memory model adapted to binary level requirements and inspired from recent work on low-level C. This new model allows to enjoy the abstraction of the region-based memory model while keeping the expressiveness of the flat model.Second, our binary code analysis platform BinSec offers three basic services:disassembly, simulation and static analysis. Each machine instruction is translated into a block of semantically equivalent DBA instructions. The platform handles a large part of x86 instructions. A simplification step eliminates useless intermediate calculations in order to ease further analyses. Our simplifications especially allow to eliminate up to 75% of flag updates.Finally, we developed a static analysis engine for binary programs based on abstract interpretation. Besides abstract domains specifically adapted to binary analysis, we focused on the user control of trade offs between accuracy/correctness and efficiency. In addition, we offer an original approach for high-level conditions recovery from low-level conditions in order to enhance analysis precision. The approach is sound, efficient, platform-independent and it achieves very high ratio of recovery
APA, Harvard, Vancouver, ISO, and other styles
5

Agrawal, Akash. "Static Analysis to improve RTL Verification." Thesis, Virginia Tech, 2017. http://hdl.handle.net/10919/75293.

Full text
Abstract:
Integrated circuits have traveled a long way from being a general purpose microprocessor to an application specific circuit. It has become an integral part of the modern era of technology that we live in. As the applications and their complexities are increasing rapidly every day, so are the sizes of these circuits. With the increase in the design size, the associated testing effort to verify these designs is also increased. The goal of this thesis is to leverage some of the static analysis techniques to reduce the effort of testing and verification at the register transfer level. Studying a design at register transfer level gives exposure to the relational information for the design which is inaccessible at the structural level. In this thesis, we present a way to generate a Data Dependency Graph and a Control Flow Graph out of a register transfer level description of a circuit description. Next, the generated graphs are used to perform relation mining to improve the test generation process in terms of speed, branch coverage and number of test vectors generated. The generated control flow graph gives valuable information about the flow of information through the circuit design. We are using this information to create a framework to improve the branch reachability analysis mainly in terms of the speed. We show the efficiency of our methods by running them through a suite of ITC'99 benchmark circuits.
Master of Science
APA, Harvard, Vancouver, ISO, and other styles
6

Borchert, Thomas. "Code Profiling : Static Code Analysis." Thesis, Karlstad University, Faculty of Economic Sciences, Communication and IT, 2008. http://urn.kb.se/resolve?urn=urn:nbn:se:kau:diva-1563.

Full text
Abstract:

Capturing the quality of software and detecting sections for further scrutiny within are of high interest for industry as well as for education. Project managers request quality reports in order to evaluate the current status and to initiate appropriate improvement actions and teachers feel the need of detecting students which need extra attention and help in certain programming aspects. By means of software measurement software characteristics can be quantified and the produced measures analyzed to gain an understanding about the underlying software quality.

In this study, the technique of code profiling (being the activity of creating a summary of distinctive characteristics of software code) was inspected, formulized and conducted by means of a sample group of 19 industry and 37 student programs. When software projects are analyzed by means of software measurements, a considerable amount of data is produced. The task is to organize the data and draw meaningful information from the measures produced, quickly and without high expenses.

The results of this study indicated that code profiling can be a useful technique for quick program comparisons and continuous quality observations with several application scenarios in both industry and education.

APA, Harvard, Vancouver, ISO, and other styles
7

Lanaspre, Benoit. "Static analysis for distributed prograph." Thesis, University of Southampton, 1997. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.262726.

Full text
APA, Harvard, Vancouver, ISO, and other styles
8

Ahmad, S. H. S. "Static analysis of masonry arches." Thesis, University of Salford, 2017. http://usir.salford.ac.uk/43067/.

Full text
Abstract:
The aim of the present research was to provide a practical theoretical model based on elementary statics, for assessment for masonry arch bridges, that benefits from the large scale experimental programme at Salford University, together with insight gained from the Distinct Element numerical modelling work. The need for large scale laboratory controlled load tests of physical models that may be reliably confined to a specific domain of behaviour with known parameters and modelling constraints, was highlighted in chapter 2 with reference to literature. Load tests on various distributions of surcharge were carried and the mechanisms of failure observed. The numerical modelled was shown to agree with expected theoretical behaviour and shown good agreement with experimental results. A theoretical model was developed which benefitted from insight from the experimental and numerical work to provide a means of predicting the failure load of the arch-fill system for the lading arrangements carried out in the physical and numerical tests. The model provided predicted failure loads for a range of material variation within a reasonable expected range and showed promising resemblance to the physical modelling results.
APA, Harvard, Vancouver, ISO, and other styles
9

Jakobsson, Filip. "Static Analysis for BSPlib Programs." Thesis, Orléans, 2019. http://www.theses.fr/2019ORLE2005.

Full text
Abstract:
La programmation parallèle consiste à utiliser des architectures à multiples unités de traitement, de manière à ce que le temps de calcul soit inversement proportionnel au nombre d’unités matérielles. Le modèle de BSP (Bulk Synchronous Parallel) permet de rendre le temps de calcul prévisible. BSPlib est une bibliothèque pour la programmation BSP en langage C. En BSPlib on entrelace des instructions de contrôle de la structure parallèle globale, et des instructions locales pour chaque unité de traitement. Cela permet des optimisations fines de la synchronisation, mais permet aussi l’écriture de programmes dont les calculs locaux divergent et masquent ainsi l’évolution globale du calcul BSP. Toutefois, les programmes BSPlib réalistes sont syntaxiquement alignés, une propriété qui garantit la convergence du flot de contrôle parallèle. Dans ce mémoire nous étudions les trois dimensions principales des programmes BSPlib du point de vue de l’alignement syntaxique : la synchronisation, le temps de calcul et la communication. D’abord nous présentons une analyse statique qui identifie les instructions syntaxiquement alignées et les utilise pour vérifier la sûreté de la synchronisation globale. Cette analyse a été implémentée en Frama-C et certifiée en Coq. Ensuite nous utilisons l’alignement syntaxique comme base d’une analyse statique du temps de calcul. Elle est fondée sur une analyse classique du coût pour les programmes séquentiels. Enfin nous définissons une condition suffisante pour la sûreté de l’enregistrement des variables. L’enregistrement en BSPlib permet la communication par accès aléatoire à la mémoire distante (DRMA) mais est sujet à des erreurs de programmation. Notre développement technique est la base d’une future analyse statique de ce mécanisme
The goal of scalable parallel programming is to program computer architectures composed of multiple processing units so that increasing the number of processing units leads to an increase in performance. Bulk Synchronous Parallel (BSP) is a widely used model for scalable parallel programming with predictable performance. BSPlib is a library for BSP programming in C. In BSPlib, parallel algorithms are expressed by intermingling instructions that control the global parallel structure, and instructions that express the local computation of each processing unit. This lets the programmer fine-tune synchronization, but also implement programs whose diverging parallel control flow obscures the underlying BSP structure. In practice however, the majority of BSPlib program are textually aligned, a property that ensures parallel control flow convergence. We examine three core aspects of BSPlib programs through the lens of textual alignment: synchronization, performanceandcommunication.First,wepresentastaticanalysisthatidentifiestextuallyalignedstatements and use it to verify safe synchronization. This analysis has been implemented in Frama-C and certified in Coq. Second, we exploit textual alignment to develop a static performance analysis for BSPlib programs, based on classic cost analysis for sequential programs. Third, we develop a textual alignment-based sufficient condition for safe registration. Registration in BSPlib enables communication by Direct Remote Memory Access but is error prone. This development forms the basis for a future static analysis of registration
APA, Harvard, Vancouver, ISO, and other styles
10

Mountjoy, Jon-Dean. "Static analysis of functional languages." Thesis, Rhodes University, 1994. http://hdl.handle.net/10962/d1006690.

Full text
Abstract:
Static analysis is the name given to a number of compile time analysis techniques used to automatically generate information which can lead to improvements in the execution performance of function languages. This thesis provides an introduction to these techniques and their implementation. The abstract interpretation framework is an example of a technique used to extract information from a program by providing the program with an alternate semantics and evaluating this program over a non-standard domain. The elements of this domain represent certain properties of interest. This framework is examined in detail, as well as various extensions and variants of it. The use of binary logical relations and program logics as alternative formulations of the framework , and partial equivalence relations as an extension to it, are also looked at. The projection analysis framework determines how much of a sub-expression can be evaluated by examining the context in which the expression is to be evaluated, and provides an elegant method for finding particular types of information from data structures. This is also examined. The most costly operation in implementing an analysis is the computation of fixed points. Methods developed to make this process more efficient are looked at. This leads to the final chapter which highlights the dependencies and relationships between the different frameworks and their mathematical disciplines.
KMBT_223
APA, Harvard, Vancouver, ISO, and other styles
11

Keerthi, Rajasekhar. "STABILITY AND STATIC NOISE MARGIN ANALYSIS OF STATIC RANDOM ACCESS MEMORY." Wright State University / OhioLINK, 2007. http://rave.ohiolink.edu/etdc/view?acc_num=wright1195600920.

Full text
APA, Harvard, Vancouver, ISO, and other styles
12

Osmena, Peter. "Statistical power analysis using SAS and R." Click here to view, 2010. http://digitalcommons.calpoly.edu/statsp/4/.

Full text
Abstract:
Thesis (B.S.)--California Polytechnic State University, 2010.
Project advisor: Karen McGaughey. Title from PDF title page; viewed on Apr. 20, 2010. Includes bibliographical references. Also available on microfiche.
APA, Harvard, Vancouver, ISO, and other styles
13

Zhou, Shuo. "Static timing analysis in VLSI design." Connect to a 24 p. preview or request complete full text in PDF format. Access restricted to UC campuses, 2006. http://wwwlib.umi.com/cr/ucsd/fullcit?p3207193.

Full text
Abstract:
Thesis (Ph. D.)--University of California, San Diego, 2006.
Title from first page of PDF file (viewed May 18, 2006). Available via ProQuest Digital Dissertations. Vita. Includes bibliographical references (p. 110-113).
APA, Harvard, Vancouver, ISO, and other styles
14

Zhang, Connie. "Static Conflict Analysis of Transaction Programs." Thesis, University of Waterloo, 2000. http://hdl.handle.net/10012/1052.

Full text
Abstract:
Transaction programs are comprised of read and write operations issued against the database. In a shared database system, one transaction program conflicts with another if it reads or writes data that another transaction program has written. This thesis presents a semi-automatic technique for pairwise static conflict analysis of embedded transaction programs. The analysis predicts whether a given pair of programs will conflict when executed against the database. There are several potential applications of this technique, the most obvious being transaction concurrency control in systems where it is not necessary to support arbitrary, dynamic queries and updates. By analyzing transactions in such systems before the transactions are run, it is possible to reduce or eliminate the need for locking or other dynamic concurrency control schemes.
APA, Harvard, Vancouver, ISO, and other styles
15

Chapman, Roderick. "Static timing analysis and program proof." Thesis, University of York, 1995. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.261100.

Full text
APA, Harvard, Vancouver, ISO, and other styles
16

JARDIM, JORGE LUIZ DE ARAUJO. "ANALYSIS AND DESIGN OF STATIC EXCITERS." PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO, 1987. http://www.maxwell.vrac.puc-rio.br/Busca_etds.php?strSecao=resultado&nrSeq=9489@1.

Full text
Abstract:
Os sistemas de potência são projetados para operarem com tensão e freqüência constantes, admitindo-se pequenas variações em torno de sues valores nominais. Estas grandezas são controladas principalmente pelos sistemas de excitação e reguladores de velocidade, respectivamente. Esta dissertação examina o projeto de sistemas de excitação modernos e estabelece as características de projeto dos componentes das excitatrizes estáticas. Os principais componentes (conversor, circuito de disparo, circuito de partida e regulador de tensão) são implementados em um protótipo de excitatriz. As respostas do protótipo à pequenas e grandes perturbações também são discutidas.
Power systems are designed to operate with constant voltagem and frequency, allowing small sinal variations around its rated valves. These quantities are mainly controlled by excitation systems and governors, respectively. This dissertation examines the design of modern excitation systems and estabilishes the desired characteristics of static exciter componentes. The main components (conversor, firing circuit, starting circuit and voltage regulator) are implemented in a exciter prototype. The prototype response to small and larger disturbances are also discussed.
APA, Harvard, Vancouver, ISO, and other styles
17

Yue, Hong. "Reliability analysis of static sealed joints." Thesis, University of Leicester, 1995. http://hdl.handle.net/2381/34733.

Full text
Abstract:
Leaking, friction and wear of seals are concerns for machine designers and users everywhere. Although perfect sealing may be the general aim, in practice, considering apparently identical seals in the same application, some may seal while some may not. This is due, at least in part, to surface-related random phenomena. Therefore, the importance of considering the reliability of sealed joints cannot be overemphasized. Up to now, there is no paper in the published literature about the reliability analysis of static sealed joints. All of these facts provide the motivation for the current research work. A computer simulation model for the leakage analysis of static sealed joints has been developed based on the percolation theory. The features of the leakage simulation model can be concluded as follows: (1) It reveals the effect of random properties of rough surfaces on the sealing performance and makes it possible to apply the statistical concepts in discussing the sealing reliability of static sealed joints; (2) It provides much simpler and more economic tool for the statistical analysis of leakage by computer simulation than by experiments; (3) It makes it possible to describe the leakage phenomenon more accurately using the leakage path model instead of the clearance between surface centre-lines; (4) It eliminates the need for individual asperity model of rough surfaces, because the actual digitized surface is used directly. The relationship between the leakage probability and the applied load, which is of great general interest to the designers of static sealed joints, has been predicted by the leakage simulation model. The simulated results show that for a given leakage probability, the required load will increase as the value of RMS o height a increases or the value of correlation length decreases. It is confirmed that a certain value of contact ratio can be used as the criterion for identifying the reliability of static sealed joints with a certain confidence level. The contact ratio criterion provides a simple, inexpensive and useful tool to evaluate the effects of rough surfaces, material properties and applied load on the sealing reliability of static sealed joints. However, in order to be of practical use, experimental work is required to evaluate its validity.
APA, Harvard, Vancouver, ISO, and other styles
18

Henriksson, Oscar, and Michael Falk. "Static Vulnerability Analysis of Docker Images." Thesis, Blekinge Tekniska Högskola, Institutionen för datalogi och datorsystemteknik, 2017. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-14794.

Full text
Abstract:
Docker is a popular tool for virtualization that allows for fast and easy deployment of applications and has been growing increasingly popular among companies. Docker also include a large library of images from the repository Docker Hub which mainly is user created and uncontrolled. This leads to low frequency of updates which results in vulnerabilities in the images. In this thesis we are developing a tool for determining what vulnerabilities that exists inside Docker images with a Linux distribution. This is done by using our own tool for downloading and retrieving the necessary data from the images and then utilizing Outpost24's scanner for finding vulnerabilities in Linux packages. With the help of this tool we also publish statistics of vulnerabilities from the top downloaded images of Docker Hub. The result is a tool that can successfully scan a Docker image for vulnerabilities in certain Linux distributions. From a survey over the top 1000 Docker images it has also been shown that the amount of vulnerabilities have increased in comparison to earlier surveys of Docker images.
APA, Harvard, Vancouver, ISO, and other styles
19

SCOCCO, MAURA. "Analysis of static and perturbed posture." Doctoral thesis, Università Politecnica delle Marche, 2008. http://hdl.handle.net/11566/242439.

Full text
APA, Harvard, Vancouver, ISO, and other styles
20

Carré, Jean-Loup. "Static analysis of embedded multithreaded programs." Cachan, Ecole normale supérieure, 2010. https://theses.hal.science/tel-01199739.

Full text
Abstract:
Cette thèse présente un algorithme d'analyse statique pour des programmes parallèles. Il généralise des techniques d'interprétation abstraite utilisée dans le cas de programmes sans parallélisme et permet de détecter des erreurs d'exécution, exempli gratia, les déréférencements de pointeur invalide, les débordements de tableaux, les débordements d'entiers. Nous avons implémenté cet algorithme. Il analyse un code industriel de taille conséquente (100 000 lignes de code) en quelques heures. Notre technique est modulaire, elle peut utiliser n'importe quel domaine abstrait créé pour le cas de programmes non-parallèles. En outre, sans change le calcul du point fixe, certains de nos domaines abstraits. Permettent la détection de data-races ou de deadlocks. Cette technique ne présuppose pas la consistance séquentielle (i. E. Ne présuppose pas que l'exécution d'un programme parallèle est l'entrelacement de l'exécution de sous-programmes) puisque, en pratique (les processeurs INTEL et SPARC, JAVA,. . . ) l'exécution des programmes n'est pas séquentiellement consistante. Exempli gratia notre technique fonctionne avec les modèles TSO (Total Store Ordering) et PSO (Partial Store Ordering)
This Phd thesis presents a static analysis algorithm for programs with threads. It generalizes abstract interpretation techniques used in the single-threaded case and allows to detect runtimes errors, e. G, invalid pointer dereferences, array overflows, integer overflows. We have implemented this algorithm. It analyzes a large industrial multithreaded code (100K LOC) in few hours. Our technique is modular, it uses any abtract domain designed for the single-threaded-case. Furthermore, without any change in the fixpoint computation, sorne abstract domains allow to detect data-races or deadlocks. This technique does not assume sequential consistency, since, in practice (INTEL and SPARC processors, JAVA,. . . ), program execution is not sequentially consistent. E. G, it works in TSO (Total Store ordering) or PSO (Partial Store Ordering) memory models
APA, Harvard, Vancouver, ISO, and other styles
21

Nimal, Vincent P. J. "Static analyses over weak memory." Thesis, University of Oxford, 2014. http://ora.ox.ac.uk/objects/uuid:469907ec-6f61-4015-984e-7ca8757b992c.

Full text
Abstract:
Writing concurrent programs with shared memory is often not trivial. Correctly synchronising the threads and handling the non-determinism of executions require a good understanding of the interleaving semantics. Yet, interleavings are not sufficient to model correctly the executions of modern, multicore processors. These executions follow rules that are weaker than those observed by the interleavings, often leading to reorderings in the sequence of updates and readings from memory; the executions are subject to a weaker memory consistency. Reorderings can produce executions that would not be observable with interleavings, and these possible executions also depend on the architecture that the processors implement. It is therefore necessary to locate and understand these reorderings in the context of a program running, or to prevent them in an automated way. In this dissertation, we aim to automate the reasoning behind weak memory consistency and perform transformations over the code so that developers need not to consider all the specifics of the processors when writing concurrent programs. We claim that we can do automatic static analysis for axiomatically-defined weak memory models. The method that we designed also allows re-use of automated verification tools like model checkers or abstract interpreters that were not designed for weak memory consistency, by modification of the input programs. We define an abstraction in detail that allows us to reason statically about weak memory models over programs. We locate the parts of the code where the semantics could be affected by the weak memory consistency. We then provide a method to explicitly reveal the resulting reorderings so that usual verification techniques can handle the program semantics under a weaker memory consistency. We finally provide a technique that synthesises synchronisations so that the program would behave as if only interleavings were allowed. We finally test these approaches on artificial and real software. We justify our choice of an axiomatic model with the scalability of the approach and the runtime performance of the programs modified by our method.
APA, Harvard, Vancouver, ISO, and other styles
22

Vera, Xavier. "Towards a static cache analysis for whole program analysis /." Västerås : Mälardalen Univ, 2002. http://www.mrtc.mdh.se/publications/0382.pdf.

Full text
APA, Harvard, Vancouver, ISO, and other styles
23

Yang, Shengqian. "Static Analyses of GUI Behavior in Android Applications." The Ohio State University, 2015. http://rave.ohiolink.edu/etdc/view?acc_num=osu1443558986.

Full text
APA, Harvard, Vancouver, ISO, and other styles
24

Hellström, Patrik. "Tools for static code analysis: A survey." Thesis, Linköping University, Department of Computer and Information Science, 2009. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-16658.

Full text
Abstract:

This thesis has investigated what different tools for static code analysis, with anemphasis on security, there exist and which of these that possibly could be used in a project at Ericsson AB in Linköping in which a HIGA (Home IMS Gateway) is constructed. The HIGA is a residential gateway that opens up for the possibility to extend an operator’s Internet Multimedia Subsystem (IMS) all the way to the user’s home and thereby let the end user connect his/her non compliant IMS devices, such as a media server, to an IMS network.

Static analysis is the process of examining the source code of a program and in that way test a program for various weaknesses without having to actually execute it (compared to dynamic analysis such as testing).

As a complement to the regular testing, that today is being performed in the HIGA project, four different static analysis tools were evaluated to find out which one was best suited for use in the HIGA project. Two of them were open source tools and two were commercial.

All of the tools were evaluated in five different areas: documentation, installation & integration procedure, usability, performance and types of bugs found. Furthermore all of the tools were later on used to perform testing of two modules of the HIGA.

The evaluation showed many differences between the tools in all areas and not surprisingly the two open source tools turned out to be far less mature than the commercial ones. The tools that were best suited for use in the HIGA project were Fortify SCA and Flawfinder.

As far as the evaluation of the HIGA code is concerned some different bugs which could have jeopardized security and availability of the services provided by it were found.

APA, Harvard, Vancouver, ISO, and other styles
25

Kvarnström, Olle. "Static Code Analysis of C++ in LLVM." Thesis, Linköpings universitet, Programvara och system, 2016. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-128625.

Full text
Abstract:
Just like the release of the Clang compiler, the advent of LLVM in the field of static code analysis already shows great promise. When given the task of covering rules not ideally covered by a commercial contender, the end result is not only overwhelmingly positive, the implementation time is only a fraction of what was initially expected. While LLVM’s support for sophisticated AST analysis is remarkable, being the main reason these positive results, it’s support for data flow analysis is not yet up to par. Despite this, as well as a lack of thorough documentation, LLVM should already be a strong rival for any commercial tool today.
APA, Harvard, Vancouver, ISO, and other styles
26

Nguyen, Phung Hua Computer Science &amp Engineering Faculty of Engineering UNSW. "Static analysis for incomplete object-oriented programs." Awarded by:University of New South Wales. School of Computer Science and Engineering, 2005. http://handle.unsw.edu.au/1959.4/24228.

Full text
Abstract:
Static analysis is significant since it provides the information about the run- time behaviour of an analysed program. Such information has many applications in compiler optimisations and software engineering tools. Interprocedural anal- ysis is a form of static analysis, which can exploit information available across procedure boundaries. The analysis is traditionally designed as whole-program analysis, which processes the entire program. However, whole-program analysis is problematic when parts of the analysed program are not available to partici- pate in analysis. In this case, a whole-program analysis has to make conservative assumptions to be able to produce safe analysis results at the expense of some possible precision loss. To improve analysis precision, an analysis can exploit the access control mechanism provided by the underlying program language. This thesis introduces a points-to analysis technique for incomplete object-oriented programs, called com- pleteness analysis, which exploits the access and modification properties of classes, methods and fields to enhance the analysis precision. Two variations of the tech- nique, compositional and sequential completeness analysis, are described. This thesis also presents a mutability analysis (MA) and MA-based side-effect analy- sis, which are based on the output of completeness analysis, to determine whether a variable is potentially modified by the execution of a program statement. The results of experiments carried out on a set of Java library packages are presented to demonstrate the improvement in analysis precision.
APA, Harvard, Vancouver, ISO, and other styles
27

Størkson, Knut Vilhelm. "Static Analysis of Fire Water Pump Module." Thesis, Norges teknisk-naturvitenskapelige universitet, Institutt for konstruksjonsteknikk, 2012. http://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-19324.

Full text
Abstract:
This thesis is based on a project from the previous semester (fall 2011) and initiated by Sigve Gjerstad at Frank Mohn Flato y AS. The thesis introduces the FWP system and different aspects regarding a static analysis of it's main component; The FWP Module. It takes a brief look at different meshing techniques and other choices that needs to be made in the early stages of an analysis. A series of simple analyses are carried out to show how shell elements are the best representation for a plate structure subjected to pressure. A series of simplified blast load analyses are presented where different choices within the Finite Element Method are compared. It's concluded that it is sufficient to consider only one of the two load steps to get the maximum values of stress and deformation. This saves us computation time with no loss of accuracy. The analyses also conclude that a blast load analysis is dependant on a non-linear material model to get reasonable result. A linear material model assumes stress is proportional to strain, even beyond the yield strength. This results in unrealistic high stresses. Implicit solver versus explicit solver are compared in the case of blast loading, which is a problem that requires short time increments. It is clear that the results are similar, however the computational cost is much higher for the implicit solver. It is also shown that stainless steel is more beneficial than structural steel in blast load scenarios. Finally, model simplification is studied as yet another way to decrease the computation time. This implies simplifying solid models with a mid-surface features, representing the model with shells
APA, Harvard, Vancouver, ISO, and other styles
28

Schwartz, Edward J. "Abstraction Recovery for Scalable Static Binary Analysis." Research Showcase @ CMU, 2014. http://repository.cmu.edu/dissertations/336.

Full text
Abstract:
Many source code tools help software programmers analyze programs as they are being developed, but such tools can no longer be applied once the final programs are shipped to the user. This greatly limits users, security experts, and anyone other than the programmer who wishes to perform additional testing and program analysis. This dissertation is concerned with the development of scalable techniques for statically analyzing binary programs, which can be employed by anyone who has access to the binary. Unfortunately, static binary analysis is often more difficult than static source code analysis because the abstractions that are the basis of source code programs, such as variables, types, functions, and control flow structure, are not explicitly present in binary programs. Previous approaches work around the the lack of abstractions by reasoning about the program at a lower level, but this approach has not scaled as well as equivalent source code techniques that use abstractions. This dissertation investigates an alternative approach to static binary analysis which is called abstraction recovery. The premise of abstraction recovery is that since many binaries are actually compiled from an abstract source language which is more suitable for analysis, the first step of static binary analysis should be to recover such abstractions. Abstraction recovery is shown to be feasible in two real-world applications. First, C abstractions are recovered by a newly developed decompiler. The second application recovers gadget abstractions to automatically generate return-oriented programming (ROP) attacks. Experiments using the decompiler demonstrate that recovering C abstractions improves scalability over low-level analysis, with applications such as verification and detection of buffer overflows seeing an average of 17× improvement. Similarly, gadget abstractions speed up automated ROP attacks by 99×. Though some binary analysis problems do not lend themselves to abstraction recovery because they reason about low-level or syntactic details, abstraction recovery is an attractive alternative to conventional low-level analysis when users are interested in the behavior of the original abstract program from which a binary was compiled, which is often the case.
APA, Harvard, Vancouver, ISO, and other styles
29

Gustavsson, Andreas. "Static Execution Time Analysis of Parallel Systems." Doctoral thesis, Mälardalens högskola, Inbyggda system, 2016. http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-31399.

Full text
Abstract:
The past trend of increasing processor throughput by increasing the clock frequency and the instruction level parallelism is no longer feasible due to extensive power consumption and heat dissipation. Therefore, the current trend in computer hardware design is to expose explicit parallelism to the software level. This is most often done using multiple, relatively slow and simple, processing cores situated on a single processor chip. The cores usually share some resources on the chip, such as some level of cache memory (which means that they also share the interconnect, e.g., a bus, to that memory and also all higher levels of memory). To fully exploit this type of parallel processor chip, programs running on it will have to be concurrent. Since multi-core processors are the new standard, even embedded real-time systems will (and some already do) incorporate this kind of processor and concurrent code. A real-time system is any system whose correctness is dependent both on its functional and temporal behavior. For some real-time systems, a failure to meet the temporal requirements can have catastrophic consequences. Therefore, it is crucial that methods to derive safe estimations on the timing properties of parallel computer systems are developed, if at all possible. This thesis presents a method to derive safe (lower and upper) bounds on the execution time of a given parallel system, thus showing that such methods must exist. The interface to the method is a small concurrent programming language, based on communicating and synchronizing threads, that is formally (syntactically and semantically) defined in the thesis. The method is based on abstract execution, which is itself based on abstract interpretation techniques that have been commonly used within the field of timing analysis of single-core computer systems, to derive safe timing bounds in an efficient (although, over-approximative) way. The thesis also proves the soundness of the presented method (i.e., that the estimated timing bounds are indeed safe) and evaluates a prototype implementation of it.
Den strategi som historiskt sett använts för att öka processorers prestanda (genom ökad klockfrekvens och ökad instruktionsnivåparallellism) är inte längre hållbar på grund av den ökade energikonsumtion som krävs. Därför är den nuvarande trenden inom processordesign att låta mjukvaran påverka det parallella exekveringsbeteendet. Detta görs vanligtvis genom att placera multipla processorkärnor på ett och samma processorchip. Kärnorna delar vanligtvis på några av processorchipets resurser, såsom cache-minne (och därmed också det nätverk, till exempel en buss, som ansluter kärnorna till detta minne, samt alla minnen på högre nivåer). För att utnyttja all den prestanda som denna typ av processorer erbjuder så måste mjukvaran som körs på dem kunna delas upp över de tillgängliga kärnorna. Eftersom flerkärniga processorer är standard idag så måste även realtidssystem baseras på dessa och den nämnda typen av kod.  Ett realtidssystem är ett datorsystem som måste vara både funktionellt och tidsmässigt korrekt. För vissa typer av realtidssystem kan ett inkorrekt tidsmässigt beteende ha katastrofala följder. Därför är det ytterst viktigt att metoder för att analysera och beräkna säkra gränser för det tidsmässiga beteendet hos parallella datorsystem tas fram. Denna avhandling presenterar en metod för att beräkna säkra gränser för exekveringstiden hos ett givet parallellt system, och visar därmed att sådana metoder existerar. Gränssnittet till metoden är ett litet formellt definierat trådat programmeringsspråk där trådarna tillåts kommunicera och synkronisera med varandra. Metoden baseras på abstrakt exekvering för att effektivt beräkna de säkra (men ofta överskattade) gränserna för exekveringstiden. Abstrakt exekvering baseras i sin tur på abstrakta interpreteringstekniker som vida används inom tidsanalys av sekventiella datorsystem. Avhandlingen bevisar även korrektheten hos den presenterade metoden (det vill säga att de beräknade gränserna för det analyserade systemets exekveringstid är säkra) och utvärderar en prototypimplementation av den.
Worst-Case Execution Time Analysis of Parallel Systems
RALF3 - Software for Embedded High Performance Architectures
APA, Harvard, Vancouver, ISO, and other styles
30

Valente, Frederico Miguel Goulão. "Static analysis on embedded heterogeneous multiprocessor systems." Master's thesis, Universidade de Aveiro, 2008. http://hdl.handle.net/10773/2180.

Full text
APA, Harvard, Vancouver, ISO, and other styles
31

Ehrhardt, Christian. "Static code analysis in multi-threaded environments." [S.l. : s.n.], 2007. http://nbn-resolving.de/urn:nbn:de:bsz:289-vts-60825.

Full text
APA, Harvard, Vancouver, ISO, and other styles
32

Morgenthaler, John David. "Static analysis for a software transformation tool /." Diss., Connect to a 24 p. preview or request complete full text in PDF format. Access restricted to UC campuses, 1997. http://wwwlib.umi.com/cr/ucsd/fullcit?p9804509.

Full text
APA, Harvard, Vancouver, ISO, and other styles
33

Sawin, Jason E. "Improving the Static Resolution of Dynamic Java Features." The Ohio State University, 2009. http://rave.ohiolink.edu/etdc/view?acc_num=osu1248652226.

Full text
APA, Harvard, Vancouver, ISO, and other styles
34

Edvinsson, Marcus. "Towards a Framework for Static Analysis Based on Points-to Information." Licentiate thesis, Växjö University, School of Mathematics and Systems Engineering, 2007. http://urn.kb.se/resolve?urn=urn:nbn:se:vxu:diva-1687.

Full text
Abstract:

Static analysis on source code or binary code retrieves information about a software program. In object-oriented languages, static points-to analysis retrieves information about objects and how they refer to each other. The result of the points-to analysis is traditionally used to perform optimizations in compilers, such as static resolution of polymorphic calls, and dead-code elimination. More advanced optimizations have been suggested specifically for Java, such as synchronization removal and stack-allocation of objects. Recently, software engineering tools using points-to analysis have appeared aiming to help the developer to understand and to debug software. Altogether, there is a great variety of tools that use or could use points-to analysis, both from academia and from industry.

We aim to construct a framework that supports the development of new and the improvement of existing clients to points-to analysis result. We present two client analyses and investigate the similarities and differences they have. The client analyses are the escape analysis and the side-effects analysis. The similarities refer to data structures and basic algorithms that both depend on. The differences are found in the way the two analyses use the data structures and the basic algorithms. In order to reuse these in a framework, a specification language is needed to reflect the differences. The client analyses are implemented, with shared data-structures and basic algorithms, but do not use a separate specification language.

The framework is evaluated against three goal criteria, development speed, analysis precision, and analysis speed. The development speed is ranked as most important, and the two latter are considered equally important. Thereafter we present related work and discuss it with respect to the goal criteria.

The evaluation of the framework is done in two separate experiments. The first experiment evaluates development speed and shows that the framework enables higher development speed compared to not using the framework. The second experiment evaluates the precision and the speed of the analyses and it shows that the different precisions in the points-to analysis are reflected in the precisions of the client analyses. It also shows that there is a trade-off between analysis precision and analysis speed to consider when choosing analysis precision.

Finally, we discuss four alternative ways to continue the research towards a doctoral thesis.

APA, Harvard, Vancouver, ISO, and other styles
35

Gustafson, Christopher, and Sam Florin. "Qualification of Tool for Static Code Analysis : Processes and Requirements for Approval of Static Code Analysis in the Aviation Industry." Thesis, KTH, Skolan för elektroteknik och datavetenskap (EECS), 2020. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-277941.

Full text
Abstract:
In the aviation industry, the use of software development tools is not as easily adopted as in other industries. Due to the catastrophic consequences of software errors in airborne systems, software development processes has rigorous requirements. One of these requirements is that a code standard must be followed. Code standards are used to exclude code constructions which could result in unwanted behaviours. The process of manually ensuring a specific code standard can be costly. This process could be automated by a tool for static code analysis, however, this requires a formal qualification. This thesis evaluates the process of qualifying a tool for static code analysis in accordance with the requirements of the major aviation authorities EASA and FAA. To describe the qualification process, a literature study was conducted. To further explain how an existing tool could be put through the qualification process, a case study of the existing tool Parasoft C/C++ test was conducted. The results of the literature study show what processes must be completed in order to qualify a static code analysis tool. Importantly, the study shows that no requirements are put on the development process of the tool. This was an important takeaway as it meant that an existing tool could be qualified without any additional data from the developer of the tool. The case study of Parasoft C/C++ test showed how the tool could be configured and verified to analyze code in accordance with a small set of code rules. Furthermore, three documents including qualification data were produced showing how the qualification process should be documented in order to communicate the process to an authority. The results of the thesis do not provide the full picture of how a tool could be qualified as the software, in which the tool is used, is considerations the are specific to the software the tool is used to develop still need to be taken into consideration. The thesis does, however, provide guidance on the majority of the applicable requirements. Future research could be done to provide the complete picture of the qualification process, as well as how the process would look like for other types of tools.
Inom flygindustrin är användandet av olika programmeringsverktyg inte lika självklart som inom andra industrier. På grund av de katastrofala konsekvenser som fel i mjukvaran i ett flygplan kan resultera i finns det rigorösa krav på mjukvaruutvecklingsprocessen. Ett av dessa krav är att en viss kodstandard måste upprätthållas. Kodstandarder används för att exkludera vissa strukturer i kod som kan leda till oönskat beteende. Upprätthållandet av en viss kodstandard är en långdragen process att genomföra manuellt, och kan därför automatiseras med hjälp av ett statiskt kodanalysverktyg. För att kunna använda ett sådant verktyg behövs däremot en formell verktygskvalificering. I denna uppsats kommer kvalificeringsprocessen av ett verktyg för statisk kodanalys att evalueras enligt de krav som de två stora flygmyndigheterna EASA och FAA ställer. För att förklara processen av att kvalificera ett sådant verktyg gjordes en litteraturstudie följt av en fallstudie av det existerande verktyget Parasoft C/C++ test. Resultaten av litteraturstudien beskriver de olika processerna som måste genomföras för att kvalificera ett statiskt kodanalysverktyg. Noterbart är att resultaten visar att inga krav ställs på utvecklingsprocessen av verktyget själv. Detta betyder att ett existerande kommersiellt verktyg kan kvalificeras utan att verktygsutvecklarna själva behöver bidra med extra information. Fallstudien visade hur verktyget Parasoft C/C++ test kan konfigureras och verifieras att följa en viss kodstandard. Vidare resulterade fallstudien i utkast av de nödvändiga dokumenten som behöver produceras för att kommunicera kvalificeringsprocessen till en myndighet. De resultat som presenteras i denna uppsats är i sig inte tillräckliga för beskriva hela kvalificeringsprocessen. Ytterligare överväganden som är specifika till den mjukvaran som verktyget ska användas till att utveckla måste göras för att en komplett kvalificering ska kunna genomföras. Uppsatsen bidrar däremot med riktlinjer och vägledning av majoriteten av de processerna som behöver genomföras. Ytterligare forskning kan göras för att bidra med den kompletta bilden av verktygskvalificering av ett statiskt kodanalysverktyg, samt hur kvalificering kan göras av andra typer av verktyg.
APA, Harvard, Vancouver, ISO, and other styles
36

Heintz, Sofia. "Muscular forces from static optimization." Licentiate thesis, KTH, Mechanics, 2006. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-3943.

Full text
Abstract:

At every joint there is a redundant set of muscle activated during movement or loading of the system. Optimization techniques are needed to evaluate individual forces in every muscle. The objective in this thesis was to use static optimization techniques to calculate individual muscle forces in the human extremities.

A cost function based on a performance criterion of the involved muscular forces was set to be minimized together with constraints on the muscle forces, restraining negative and excessive values. Load-sharing, load capacity and optimal forces of a system can be evaluated, based on a description of the muscle architectural properties, such as moment arm, physiological cross-sectional area, and peak isometric force.

The upper and lower extremities were modelled in two separate studies. The upper extremity was modelled as a two link-segment with fixed configurations. Load-sharing properties in a simplified model were analyzed. In a more complex model of the elbow and shoulder joint system of muscular forces, the overall total loading capacity was evaluated.

A lower limb model was then used and optimal forces during gait were evaluated. Gait analysis was performed with simultaneous electromyography (EMG). Gait kinematics and kinetics were used in the static optimization to evaluate of optimal individual muscle forces. EMG recordings measure muscle activation. The raw EMG data was processed and a linear envelope of the signal was used to view the activation profile. A method described as the EMG-to-force method which scales and transforms subject specific EMG data is used to compare the evaluated optimal forces.

Reasonably good correlation between calculated muscle forces from static optimization and EMG profiles was shown. Also, the possibility to view load-sharing properties of a musculoskeletal system demonstrate a promising complement to traditional motion analysis techniques. However, validation of the accurate muscular forces are needed but not possible.

Future work is focused on adding more accurate settings in the muscle architectural properties such as moment arms and physiological cross-sectional areas. Further perspectives with this mathematic modelling technique include analyzing pathological movement, such as cerebral palsy and rheumatoid arthritis where muscular weakness, pain and joint deformities are common. In these, better understanding of muscular action and function are needed for better treatment.

APA, Harvard, Vancouver, ISO, and other styles
37

Bygde, Stefan. "Static WCET Analysis Based on Abstract Interpretation and Counting of Elements." Licentiate thesis, Västerås : School of Innovation, Design and Engineering, Mälardalen University, 2010. http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-7854.

Full text
APA, Harvard, Vancouver, ISO, and other styles
38

Hovemeyer, David. "Simple and effective static analysis to find bugs." College Park, Md. : University of Maryland, 2005. http://hdl.handle.net/1903/2901.

Full text
Abstract:
Thesis (Ph. D.) -- University of Maryland, College Park, 2005.
Thesis research directed by: Computer Science. Title from t.p. of PDF. Includes bibliographical references. Published by UMI Dissertation Services, Ann Arbor, Mich. Also available in paper.
APA, Harvard, Vancouver, ISO, and other styles
39

Erdal, Feride. "Web Market Analysis: Static, Dynamic And Content Evaluation." Master's thesis, METU, 2012. http://etd.lib.metu.edu.tr/upload/12614694/index.pdf.

Full text
Abstract:
Importance of web services increases as the technology improves and the need for the challenging e-commerce strategies increases. This thesis focuses on web market analysis of web sites by evaluating from the perspectives of static, dynamic and content. Firstly, web site evaluation methods and web analytic tools are introduced. Then evaluation methodology is described from three perspectives. Finally, results obtained from the evaluation of 113 web sites are presented as well as their correlations.
APA, Harvard, Vancouver, ISO, and other styles
40

Lewis, Tim. "Static dependency analysis of recursive structures for parallelisation." Thesis, University of Edinburgh, 2005. http://hdl.handle.net/1842/24832.

Full text
Abstract:
A new approach is presented for the analysis of dependencies in complex recursive data structures with pointer linkages that can be determined statically, at compile time. The pointer linkages in a data structure are described by the programmer in the form of two-variable Finite State Automata (2FSA) which supplements the code that operates over the data structure. Some flexibility is possible in that the linkages can specify a number of possible target nodes for a pointer. An analysis method is described to extract data dependency information, also in the form of 2FSAs, from the recursive code that operates over these structures. For restricted, simple forms of recursion these data dependencies are exact; but, in general, heuristics are presented which provide approximate information. This method uses a novel technique that approximates the transitive closure of these 2FSA relations. In the context of dependency analysis, approximations must be ‘safe' in that they are permitted to overestimate dependencies thereby including spurious ones, but none must be missed. A test is developed that permits the safety of these approximate solutions to be validated. When a recursive program is partitioned into a number of separate threads by the programmer this dependency information can be used to synchronise the access to the recursive structure. This ensures that the threads execute correctly in parallel, enabling a multithreaded version of the code to be constructed. A multithreaded Micronet processor architecture was chosen as a target for this approach. Front- and back-ends of a compiler were developed to compile these multithreaded programs into executables for this architecture, which were then run on a simulation of the processor. The timing results for selected benchmarks are used to demonstrate that useful parallelism can be extracted.
APA, Harvard, Vancouver, ISO, and other styles
41

Mallakunta, Narendra. "Static and dynamic analysis of rectangular sandwich plates." Thesis, University of Ottawa (Canada), 1990. http://hdl.handle.net/10393/5984.

Full text
Abstract:
The static and dynamic characteristics of homogeneous rectangular plates and rectangular sandwich plates are studied by the finite element method using a 8-node isoparametric rectangular element. A computer code utilizing the finite element method is developed to generate solutions for the static and dynamic analysis of homogeneous plates and sandwich plates for conditions of plane stress, plane strain, bending, and combined stress and bending for small deformation problems only. However, in this work, the scope is limited to bending problems only. Further, only the values for the center deflection are generated, in the static analysis, even though the code has the capability to generate the various stress components. In the dynamic analysis, the natural frequency and the associated mode shapes are determined. The boundary conditions are taken as free, simply supported, clamped edge constraints and their combinations. Uniformly distributed loads, concentrated loads or a combination of both can be applied. This study concentrates on free vibration problems in the case of the dynamic analysis. The effect of considering non-uniform shear distribution in the core of the sandwich plate is studied for both the static and dynamic analysis. The impact of considering two different orders of numerical integration is also studied. (Abstract shortened by UMI.)
APA, Harvard, Vancouver, ISO, and other styles
42

Zhan, H. J. "Static and dynamic analysis of toroidal LPG tanks." Thesis, University of Ottawa (Canada), 2008. http://hdl.handle.net/10393/27611.

Full text
Abstract:
Liquefied petroleum gas (LPG) is considered clean, safe and cheap, offering a viable alternative to conventional fuels. Nowadays, the use of LPG as a fuel source in motor vehicles is steadily increasing. The LPG tanks in motor vehicles can be of toroidal shape. The toroidal LPG tanks are generally of non-circular cross-section, and may be supported at points, lines or patches on the surface. Among the mechanical properties of interest for toroidal LPG tanks are the static behavior under internal pressure, the vibration characteristics, the buckling and collapse loads, and the properties under impact loading arising from accident conditions. In the current work, a shell-theory finite element analysis is carried out of toroidal LPG tanks, with non-circular cross-section. The analysis serves to determine the natural frequencies, the buckling and collapse pressures, and the deformation of impacted tanks. The differential quadrature method is used as an alternate means in the vibration analysis. A variety of support conditions are considered, including lines of support at the inner and outer equators of the tank. For validation, comparison is made with previously published results for stress, vibration and buckling of circular and elliptical toroidal shells, and impact deformation of spherical and cylindrical shells. Finally, a parametric study is carried out to determine the influence on the natural frequency, buckling and collapse pressures, and the deformation of the impacted tanks, of shell size, shell thickness, material properties, and support conditions.
APA, Harvard, Vancouver, ISO, and other styles
43

Ackland, Patrik. "Fast and Scalable Static Analysis using Deterministic Concurrency." Thesis, KTH, Skolan för datavetenskap och kommunikation (CSC), 2017. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-210927.

Full text
Abstract:
This thesis presents an algorithm for solving a subset of static analysis data flow problems known as Interprocedural Finite Distribute Subset problems. The algorithm, called IFDS-RA, is an implementation of the IFDS algorithm which is an algorithm for solving such problems. IFDS-RA is implemented using Reactive Async which is a deterministic, concurrent, programming model. The scalability of IFDS-RA is compared to the state-of-the-art Heros implementation of the IFDS algorithm and evaluated using three different taint analyses on one to eight processing cores. The results show that IFDS-RA performs better than Heros when using multiple cores. Additionally, the results show that Heros does not take advantage of multiple cores even if there are multiple cores available on the system.
Detta examensarbete presenterar en algoritm för att lösa en klass av problem i statisk analys känd som Interprocedural Finite Distribute Subset problem.  Algoritmen, IFDS-RA, är en implementation av IFDS algoritmen som är utvecklad för att lösa denna typ av problem. IFDS-RA använder sig av Reactive Async som är en deterministisk programmeringsmodell för samtida exekvering av program.  Prestendan evalueras genom att mäta exekveringstid för tre stycken taint analyser med en till åtta processorkärnor och jämförs med state-of-the-art implementationen Heros. Resultaten visar att IFDS-RA presterar bättre än Heros när de använder sig av flera processorkärnor samt att Heros inte använder sig av flera processorkärnor även om de finns tillgängliga.
APA, Harvard, Vancouver, ISO, and other styles
44

Zhou, Jianguo. "FlexibO : language and its application to static analysis." Thesis, University of Leicester, 2006. http://hdl.handle.net/2381/30106.

Full text
Abstract:
This thesis introduces a new object-based language FlexibO to support prototype development paradigm and more importantly, program static analysis. FlexibO offers extreme flexibility and hence enables developers to write programs that contain rich information for further analysis and optimization. FlexibO interpreter's seamless integration with Java (including direct access to Java classes and methods and direct inheritance of Java classes) makes it a suitable tool for fast prototype software development. FlexibO's extreme flexibility allows developers to redefine the behavior of program evaluation by overriding its default evaluation method. This mechanism can be used to translate FlexibO to other efficient languages. In this thesis we design a translator in FlexibO to translate Bulk-Synchronous Parallel specifications (expressed in FlexibO) to executable C pro grams linked with BSPLib. Before translation, the tool first checks syntax and type, then statically analyzes potential communication conflicts, and finally generates C code. The translation process can accurately analyze primitive commands but require approximation (using abstract interpretation) for more advanced commands such as loops. The appropriateness of the translator and the associated static analysis can be formally analyzed using the technique of normal form.
APA, Harvard, Vancouver, ISO, and other styles
45

Wilson, R. C. "Welded airframes : static strength, structural design and analysis." Thesis, Queen's University Belfast, 2011. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.546430.

Full text
APA, Harvard, Vancouver, ISO, and other styles
46

Singer, Jeremy David. "Static program analysis based on virtual register renaming." Thesis, University of Cambridge, 2006. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.613845.

Full text
APA, Harvard, Vancouver, ISO, and other styles
47

Johnston, Mark. "Static and modal analysis of wind turbine towers." Thesis, De Montfort University, 1999. http://hdl.handle.net/2086/4184.

Full text
APA, Harvard, Vancouver, ISO, and other styles
48

LOVATO, Alberto. "Concurrency and static analysis." Doctoral thesis, 2017. http://hdl.handle.net/11562/964766.

Full text
Abstract:
The thesis describes three important contributions developed during my doctoral course, all involving the use and the verification of concurrent Java code: Binary decision diagrams, or BDDs, are data structures for the representation of Boolean functions. These functions are of great importance in many fields. It turns out that BDDs are the state-of-the-art representation for Boolean functions, and indeed all real world applications use a BDD library to represent and manipulate Boolean functions. It can be desirable to perform Boolean operations from different threads at the same time. In order to do this, the BDD library in use must allow threads to access BDD data safely, avoiding race conditions. We developed a Java BDD library, that is fast in both single and multi-threaded applications, that we use in the Julia static program analyzer. We defined a sound static analysis that identifies if and where a Java bytecode program lets data flow from tainted user input (including servlet requests) into critical operations that might give rise to injections. Data flow is a prerequisite to injections, but the user of the analysis must later gage the actual risk of the flow. Namely, analysis approximations might lead to false alarms and proper input validation might make actual flows harmless. Our analysis works by translating Java bytecode into Boolean formulas that express all possible explicit flows of tainted data. The choice of Java bytecode simplifies the semantics and its abstraction (many high-level constructs must not be explicitly considered) and lets us analyze programs whose source code is not available, as is typically the case in industrial contexts that use software developed by third parties, such as banks. The standard approach to prevent data races is to follow a locking discipline while accessing shared data: always hold a given lock when accessing a given shared datum. It is all too easy for a programmer to violate the locking discipline. Therefore, tools are desirable for formally expressing the locking discipline and for verifying adherence to it. The book Java Concurrency in Practice (JCIP) proposed the @GuardedBy annotation to express a locking discipline. The original @GuardedBy annotation was designed for simple intra-class synchronization policy declaration. @GuardedBy fields and methods are supposed to be accessed only when holding the appropriate lock, referenced by another field, in the body of the class (or this). In simple cases, a quick visual inspection of the class code performed by the programmer is sufficient to verify the synchronization policy correctness. However, when we think deeper about the meaning of this annotation, and when we try to check and infer it, some ambiguities rise. Given these ambiguities of the specification for @GuardedBy, different tools interpret it in different ways. Moreover, it does not prevent data races, thus not satisfying its design goals. We provide a formal specification that satisfies its design goals and prevents data races. We have also implemented our specification in the Julia analyzer, that uses abstract interpretation to infer valid @GuardedBy annotations for unannotated programs. It is not the goal of this implementation to detect data races or give a guarantee that they do not exist. Julia determines what locking discipline a program uses, without judging whether the discipline is too strict or too lax for some particular purpose.
APA, Harvard, Vancouver, ISO, and other styles
49

NIKOLIC, Durica. "A General Framework for Constraint-Based Static Analyses of Java Bytecode Programs." Doctoral thesis, 2013. http://hdl.handle.net/11562/546351.

Full text
Abstract:
Questa tesi introduce un generico e parametrizzato framework per analisi statica dei programmi Java bytecode, basato sulla generazione e soluzione dei vincoli. All'interno del framework è possibile gestire sia i flussi di eccezione all'interno di programmi analizzati, sia i side-effect indotti dalle esecuzioni dei metodi che possono modificare la memoria. Questo framework è generico nel senso che diverse istanziazioni dei suoi parametri risultano in diverse analisi statiche capaci di catturare varie proprietà relative alla memoria delle variabili del programma ad ogni punto del programma. Le analisi statiche definite dal framework sono basate su interpretazione astratta, e quindi le proprietà d'interesse sono rappresentate da dei domini astratti. Il framework può essere usato per la definizione sia delle analisi statiche che producono le approssimazioni del tipo "possible" oppure "may", che quelle del tipo "definite" oppure "must". Nel primo caso, il risultato di tali analisi è una sovra-approssimazione di quello che potrebbe essere vero ad un certo punto del programma, mentre nel secondo caso il risultato rappresenta una sotto-approssimazione della situazione reale. Questa tesi fornisce un insieme di condizioni che diverse istanziazioni dei parametri del framework devono soddisfare affinché le analisi statiche definite all'interno del framework siano "sound" (corrette). Quando i parametri istanziati soddisfano tali condizioni, il framework garantisce la correttezza dell'analisi corrispondente all'istanziazione in questione. Il vantaggio di questo approccio è che il designer di una nuova analisi statica deve soltanto mostrare che i parametri da lui istanziati soddisfano i criteri specificati dal framework.In questo modo la dimostrazione di correttezza dell'analisi completa è semplificata. Questa è una caratteristica molto importante del presente lavoro. La tesi introduce due nuove analisi statiche relatve alle proprietà della memoria: la Possible Reachability Analysis Between Program Variables e la Definite Expression Aliasing Analysis. La prima rappresenta un esempio delle analisi "possible" e determina, per ogni punto p del programma, quali sono le coppie ordinate delle variabili disponibili a tale punto, tali che v potrebbe raggiungere w al punto p, ovvero, che a partire dalla variabile v è possibile seguire un insieme di locazioni di memoria che portano all'oggetto legato alla variabile w. La seconda analisi è un esempio delle analisi "definite" e determina, per ogni punto p del programma ed ogni variabile v disponibile a tale punto, un insieme di espressioni il cui valore è sempre uguale al valore che la variabile v può avere al punto p, per ogni possibile esecuzione. Entrambe le analisi sono state formalizzate e dimostrate corrette grazie ai risultati teorici del framework introdotto in questa tesi. In più, entrambe le analisi sono state implementate all'interno dell'analizzatore statico per Java e Android chiamato Julia (www.juliasoft.com). Gli esperimenti eseguiti sui programmi reali mostrano che la precisione dei principali tool di Julia (nullness e termination tool) è migliorata rispetto alle versioni precedenti di Julia nelle quali le nuove analisi non erano presenti.
The present thesis introduces a generic parameterized framework for static analysis of Java bytecode programs, based on constraint generation and solving. This framework is able to deal with the exceptional flows inside the program and the side-effects induced by calls to non-pure methods. It is generic in the sense that different instantiations of its parameters give rise to different static analyses which might capture complex memory-related properties at each program point. Different properties of interest are represented as abstract domains, and therefore the static analyses defined inside the framework are abstract interpretation-based. The framework can be used to generate possible or may approximations of the property of interest, as well as definite or must approximations of that property. In the former case, the result of the static analysis is an over-approximation of what might be true at a given program point; in the latter, it is an under-approximation. This thesis provides a set of conditions that different instantiations of framework's parameters must satisfy in order to have a sound static analysis. When these conditions are satisfied by a parameter's instantiation, the framework guarantees that the corresponding static analysis is sound. It means that the designer of a novel static analysis should only show that the parameters he or she instantiated actually satisfy the conditions provided by the framework. This way the framework simplifies the proofs of soundness of the static analysis: instead of showing that the overall analysis is sound, it is enough to show that the provided instantiation describing the actual static analyses satisfies the conditions mentioned above. This a very important feature of the present approach. Then the thesis introduces two novel static analyses dealing with memory-related properties: the Possible Reachability Analysis Between Program Variables and the Definite Expression Aliasing Analysis. The former analysis is an example of a possible analysis which determines, for each program point p, which are the ordered pairs of variables available at p, such that v might reach w at p, i.e., such that starting from v it is possible to follow a path of memory locations that leads to the object bound to w. The latter analysis is an example of a definite analysis, and it determines, for each program point p and each variable v available at that point, a set of expressions which are always aliased to v at p. Both analyses have been formalized and proved sound by using the theoretical results of the framework. These analyses have been also implemented inside the Julia tool (www.juliasoft.com), which is a static analyzer for Java and Android. Experimental evaluation of these analyses on real-life benchmarks shows how the precision of Julia's principal checkers (nullness and termination checkers) increased compared to the previous version of Julia where these two analyses were not implemented. Moreover, this experimental evaluation showed that the presence of the reachability analysis actually decreased the total run-time of Julia. On the other hand, the aliasing analysis takes more time, but the number of possible warnings produced by the principal checkers drastically decreased.
APA, Harvard, Vancouver, ISO, and other styles
50

Chien, Wei-Jen, and 簡偉任. "FlexRay Static Segment of Static slot and Utilization theory Analysis." Thesis, 2014. http://ndltd.ncl.edu.tw/handle/96022749254029651238.

Full text
Abstract:
碩士
中原大學
電子工程研究所
102
Vehicle network is an important role in the automotive electronic development. Well-known vehicle networks are LIN, CAN, FlexRay, and MOST. FlexRay is known as high reliability, high speed, and time division multiple access (TDMA) communication system. FlexRay transfers the fixed-time and important message by the static time segment. Our thesis proposes a methodology to make each node can efficiently transfers message by static time segment in the network. Nowadays, there is no suitable method to evaluate the utilization of the static segment, so we propose the evaluative measurement. And we propose the payload planning improved method that pre-calculate the appropriate payload number in the static segment. We set up analytical environments and the network topology configuration. We simulate and verify the payload planning improved method by Matlab, which shows the better result to prove the method’s importance and feasibility.
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography