• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 7
  • 3
  • 2
  • 2
  • 2
  • Tagged with
  • 16
  • 16
  • 7
  • 7
  • 7
  • 7
  • 6
  • 6
  • 5
  • 4
  • 4
  • 4
  • 4
  • 4
  • 4
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Debugging With Behavioral Watchpoints

Akshay, Kumar 18 February 2014 (has links)
Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary translation (DBT) systems provide a powerful facility for building program analysis and debugging tools. However, DBT abstractions are too low-level and provide limited contextual information to instrumentation tools, making it hard to implement such tools. In this theis, we introduce behavioral watchpoints, a new software-based watchpoint framework that simplifies the implementation of DBT-based program analysis and debugging tools. Behavioral watchpoints have two key features: 1) they provide contextual information at the instruction level which are directly available with watchpoints and 2) they enable specializing instruction-level instrumentation with individual data structures. We describe three applications that were easily developed using our watchpoint framework: detecting buffer overflows, detecting read-before-write and memory freeing bugs and detecting memory leaks. We implemented behavioral watchpoints using Granary, a DBT framework for instrumenting operating system kernels. We evaluated the overheads of watchpoints for analyzing and debugging operating system kernel modules and show that these overheads are reasonable.
2

Debugging With Behavioral Watchpoints

Akshay, Kumar 18 February 2014 (has links)
Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary translation (DBT) systems provide a powerful facility for building program analysis and debugging tools. However, DBT abstractions are too low-level and provide limited contextual information to instrumentation tools, making it hard to implement such tools. In this theis, we introduce behavioral watchpoints, a new software-based watchpoint framework that simplifies the implementation of DBT-based program analysis and debugging tools. Behavioral watchpoints have two key features: 1) they provide contextual information at the instruction level which are directly available with watchpoints and 2) they enable specializing instruction-level instrumentation with individual data structures. We describe three applications that were easily developed using our watchpoint framework: detecting buffer overflows, detecting read-before-write and memory freeing bugs and detecting memory leaks. We implemented behavioral watchpoints using Granary, a DBT framework for instrumenting operating system kernels. We evaluated the overheads of watchpoints for analyzing and debugging operating system kernel modules and show that these overheads are reasonable.
3

Supporting Source Code Feature Analysis Using Execution Trace Mining

2013 October 1900 (has links)
Software maintenance is a significant phase of a software life-cycle. Once a system is developed the main focus shifts to maintenance to keep the system up to date. A system may be changed for various reasons such as fulfilling customer requirements, fixing bugs or optimizing existing code. Code needs to be studied and understood before any modification is done to it. Understanding code is a time intensive and often complicated part of software maintenance that is supported by documentation and various tools such as profilers, debuggers and source code analysis techniques. However, most of the tools fail to assist in locating the portions of the code that implement the functionality the software developer is focusing. Mining execution traces can help developers identify parts of the source code specific to the functionality of interest and at the same time help them understand the behaviour of the code. We propose a use-driven hybrid framework of static and dynamic analyses to mine and manage execution traces to support software developers in understanding how the system's functionality is implemented through feature analysis. We express a system's use as a set of tests. In our approach, we develop a set of uses that represents how a system is used or how a user uses some specific functionality. Each use set describes a user's interaction with the system. To manage large and complex traces we organize them by system use and segment them by user interface events. The segmented traces are also clustered based on internal and external method types. The clusters are further categorized into groups based on application programming interfaces and active clones. To further support comprehension we propose a taxonomy of metrics which are used to quantify the trace. To validate the framework we built a tool called TrAM that implements trace mining and provides visualization features. It can quantify the trace method information, mine similar code fragments called active clones, cluster methods based on types, categorise them based on groups and quantify their behavioural aspects using a set of metrics. The tool also lets the users visualize the design and implementation of a system using images, filtering, grouping, event and system use, and present them with values calculated using trace, group, clone and method metrics. We also conducted a case study on five different subject systems using the tool to determine the dynamic properties of the source code clones at runtime and answer three research questions using our findings. We compared our tool with trace mining tools and profilers in terms of features, and scenarios. Finally, we evaluated TrAM by conducting a user study on its effectiveness, usability and information management.
4

Defeating ROP Through Dynamically Encrypted Return Addresses

White, Matthew L. 20 October 2014 (has links)
No description available.
5

Interpretação racional de resultados de ensaios SPT com base em conceitos de energia / Rational interpretation of SPT tests results based on energy concepts

Morais, Thaise da Silva Oliveira 28 November 2014 (has links)
A sondagem de simples reconhecimento do solo com medida do índice de resistência à penetração dinâmica do amostrador (NSPT), universalmente conhecida como ensaio SPT, é um dos ensaios de campo mais difundidos no Brasil. A popularidade deste ensaio deve-se a sua praticidade, baixo custo, à experiência já adquirida e a fácil utilização dos seus resultados. Entretanto, este ensaio tem sido amplamente criticado devido às variações de equipamentos e procedimentos, que causa dispersões significativas nos resultados. Usualmente, o índice NSPT é utilizado na estimativa da capacidade de carga e recalque de fundações, a partir de correlações empíricas ou semi-empíricas, o que também recebe críticas, visto que essas correlações são baseadas em observações práticas e sem fundamento científico. O índice NSPT é função da quantidade de energia entregue ao amostrador, durante o golpe no ensaio SPT. Assim, o conhecimento da eficiência permite normalizar os valores de NSPT para um valor de referência padrão. O valor padrão adotado internacionalmente, correspondente a uma eficiência de 60%. Desta forma, a análise racional dos resultados de ensaios SPT, concentra-se na estimativa das quantidades de energia envolvidas no ensaio. Neste contexto, o presente trabalho trata da interpretação racional de ensaios SPT realizados com o monitoramento das quantidades de energia envolvidas no ensaio. As energias foram obtidas indiretamente, através de sinais de força e aceleração durante a propagação da onda de tensão pela composição de haste. Para tanto, foram utilizados segmentos de hastes instrumentadas com células de carga e acelerômetros; e um sistema de aquisição de dados indicado para o monitoramento de eventos dinâmicos. Os ensaios SPT foram realizados com instrumentação dinâmica em duas seções ao longo da composição de hastes (topo e base, simultaneamente). Assim, a partir desse arranjo, foram determinadas as quantidades de energia responsáveis pela cravação do amostrador e as perdas ocorridas. A partir dos sinais de força no topo do amostrador, foram determinadas as resistências dinâmicas mobilizadas no sistema solo-amostrador devido à cravação. Estes resultados experimentais foram comparados com resultados teóricos de resistência dinâmica e estática, obtidos com base no Princípio de Hamilton. De posse dos resultados de eficiência, comprimento das amostras recuperadas e do atrito adesão entre a parede externa do amostrador e o solo, foi feito o equilíbrio das reações mobilizadas no amostrador, segundo a proposta de Aoki (2013), sendo obtidas as resistências de ponta e atrito (interno e externo) no sistema solo-amostrador. / The Standard Penetration Test (SPT) with measurement of the index of resistance to dynamic penetration of the sampler (NSPT) is one of the most widespread in situ tests in Brazil. The popularity of this test is due to its practicality, low cost, acquired experience by practitioners and simple applicability of its results. However, this test has been widely criticized because of variation in equipment and procedures, which causes significant dispersion in the results. The NSPT index is usually used to estimate the bearing capacity and settlement of foundations, using empirical or semi-empirical correlations. This fact also receives criticism, as these correlations are based on practical observations without any scientific basis. The NSPT index depends on the amount of energy delivered to the sampler, during the blow in the SPT test. Thus, knowing the equipment efficiency allows normalizing the NSPT values to a standard reference value. The international reference value corresponds to an efficiency of 60%. In this way, the rational analysis of the results of SPT tests essentially depends on the estimation of the quantities of energy involved in the test. This research presents the rational interpretation of the SPT test results based on monitoring the amounts of energy involved in the test. The energies were indirectly obtained through force and acceleration signals during the stress wave propagation along the string of rods. For this, rod subassemblies instrumented with load cells and accelerometers were used. A suitable data acquisition system for monitoring dynamic events was also used. The SPT tests were performed with instrumented subassemblies placed at two positions along the string of rods (top and bottom simultaneously). Thus, from this arrangement, the amounts of energy accountable for the sampler penetration and the energy losses occurred were determined. Likewise, the dynamic resistances mobilized in the soil-sampler system during the penetration were determined from the force and acceleration signals at the top of the sampler. These experimental results were compared with those theoretical results, based on the Principle of Hamilton. With the efficiency results, the length of recovered samples and the external skin friction in the soil-sampler system, the balance of the reactions mobilized in the sampler was verified, as proposed by Aoki (2013). Thus, the tip and skin friction (internal and external) resistances in the soil-sampler system were obtained.
6

Interpretação racional de resultados de ensaios SPT com base em conceitos de energia / Rational interpretation of SPT tests results based on energy concepts

Thaise da Silva Oliveira Morais 28 November 2014 (has links)
A sondagem de simples reconhecimento do solo com medida do índice de resistência à penetração dinâmica do amostrador (NSPT), universalmente conhecida como ensaio SPT, é um dos ensaios de campo mais difundidos no Brasil. A popularidade deste ensaio deve-se a sua praticidade, baixo custo, à experiência já adquirida e a fácil utilização dos seus resultados. Entretanto, este ensaio tem sido amplamente criticado devido às variações de equipamentos e procedimentos, que causa dispersões significativas nos resultados. Usualmente, o índice NSPT é utilizado na estimativa da capacidade de carga e recalque de fundações, a partir de correlações empíricas ou semi-empíricas, o que também recebe críticas, visto que essas correlações são baseadas em observações práticas e sem fundamento científico. O índice NSPT é função da quantidade de energia entregue ao amostrador, durante o golpe no ensaio SPT. Assim, o conhecimento da eficiência permite normalizar os valores de NSPT para um valor de referência padrão. O valor padrão adotado internacionalmente, correspondente a uma eficiência de 60%. Desta forma, a análise racional dos resultados de ensaios SPT, concentra-se na estimativa das quantidades de energia envolvidas no ensaio. Neste contexto, o presente trabalho trata da interpretação racional de ensaios SPT realizados com o monitoramento das quantidades de energia envolvidas no ensaio. As energias foram obtidas indiretamente, através de sinais de força e aceleração durante a propagação da onda de tensão pela composição de haste. Para tanto, foram utilizados segmentos de hastes instrumentadas com células de carga e acelerômetros; e um sistema de aquisição de dados indicado para o monitoramento de eventos dinâmicos. Os ensaios SPT foram realizados com instrumentação dinâmica em duas seções ao longo da composição de hastes (topo e base, simultaneamente). Assim, a partir desse arranjo, foram determinadas as quantidades de energia responsáveis pela cravação do amostrador e as perdas ocorridas. A partir dos sinais de força no topo do amostrador, foram determinadas as resistências dinâmicas mobilizadas no sistema solo-amostrador devido à cravação. Estes resultados experimentais foram comparados com resultados teóricos de resistência dinâmica e estática, obtidos com base no Princípio de Hamilton. De posse dos resultados de eficiência, comprimento das amostras recuperadas e do atrito adesão entre a parede externa do amostrador e o solo, foi feito o equilíbrio das reações mobilizadas no amostrador, segundo a proposta de Aoki (2013), sendo obtidas as resistências de ponta e atrito (interno e externo) no sistema solo-amostrador. / The Standard Penetration Test (SPT) with measurement of the index of resistance to dynamic penetration of the sampler (NSPT) is one of the most widespread in situ tests in Brazil. The popularity of this test is due to its practicality, low cost, acquired experience by practitioners and simple applicability of its results. However, this test has been widely criticized because of variation in equipment and procedures, which causes significant dispersion in the results. The NSPT index is usually used to estimate the bearing capacity and settlement of foundations, using empirical or semi-empirical correlations. This fact also receives criticism, as these correlations are based on practical observations without any scientific basis. The NSPT index depends on the amount of energy delivered to the sampler, during the blow in the SPT test. Thus, knowing the equipment efficiency allows normalizing the NSPT values to a standard reference value. The international reference value corresponds to an efficiency of 60%. In this way, the rational analysis of the results of SPT tests essentially depends on the estimation of the quantities of energy involved in the test. This research presents the rational interpretation of the SPT test results based on monitoring the amounts of energy involved in the test. The energies were indirectly obtained through force and acceleration signals during the stress wave propagation along the string of rods. For this, rod subassemblies instrumented with load cells and accelerometers were used. A suitable data acquisition system for monitoring dynamic events was also used. The SPT tests were performed with instrumented subassemblies placed at two positions along the string of rods (top and bottom simultaneously). Thus, from this arrangement, the amounts of energy accountable for the sampler penetration and the energy losses occurred were determined. Likewise, the dynamic resistances mobilized in the soil-sampler system during the penetration were determined from the force and acceleration signals at the top of the sampler. These experimental results were compared with those theoretical results, based on the Principle of Hamilton. With the efficiency results, the length of recovered samples and the external skin friction in the soil-sampler system, the balance of the reactions mobilized in the sampler was verified, as proposed by Aoki (2013). Thus, the tip and skin friction (internal and external) resistances in the soil-sampler system were obtained.
7

Interpretação racional do ensaio DPL / Rational interpretation of DPL test

Bastos, Nélio José [UNESP] 26 February 2016 (has links)
Submitted by NELIO JOSE BASTOS null (njbastos@yahoo.com.br) on 2016-04-22T23:04:15Z No. of bitstreams: 1 Dissertação-Nélio-Jose-Bastos.pdf: 16350068 bytes, checksum: dddb1a9d279d04aa8e052ef55a31b375 (MD5) / Approved for entry into archive by Juliano Benedito Ferreira (julianoferreira@reitoria.unesp.br) on 2016-04-26T19:24:39Z (GMT) No. of bitstreams: 1 bastos_nj_me_bauru.pdf: 16350068 bytes, checksum: dddb1a9d279d04aa8e052ef55a31b375 (MD5) / Made available in DSpace on 2016-04-26T19:24:39Z (GMT). No. of bitstreams: 1 bastos_nj_me_bauru.pdf: 16350068 bytes, checksum: dddb1a9d279d04aa8e052ef55a31b375 (MD5) Previous issue date: 2016-02-26 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) / As propriedades geomecânicas do solo são dados imprescindíveis na elaboração e execução de um projeto de engenharia geotécnica. Para isso, diversos métodos são comumente utilizados na prática tais como o ensaio à percussão (SPT) e o ensaio de cone (CPT), entre outros. Cada tipo de equipamento vai apresentar vantagens e desvantagens em função da geologia, das condições de acesso e área de montagem e trabalho. O Penetrômetro Dinâmico Leve modificado por Nilsson (2001), com medida de torque, é um equipamento leve e simples que apresenta grande mobilidade, permitindo realizar ensaios em regiões de difícil acesso, como relevo acidentado, florestas e áreas inundadas. Esse equipamento é pouco difundido no Brasil e a interpretação dos seus resultados é feita através do índice N10 que fornece uma ideia da resistência do solo, assim como o NSPT faz com o SPT. Este trabalho procurou interpretar racionalmente os resultados do DPL aplicando os mesmos conceitos de energia e propagação de onda unidimensional de tensão, hoje amplamente usados para interpretar o SPT. Foi investigada a influência da geometria de ponta no atrito mobilizado, constatando que pode-se substituir a ponteira de 90° do DPL por uma com 60° de ápice, como as usadas no CPT. É proposto uma nova formula relacionando o torque medido no DPL com o atrito lateral da ponteira, considerando as contribuições da luva cilíndrica e da ponta cônica. Ensaios de campo mostraram que esta fórmula proposta contabiliza mais adequadamente o atrito lateral, especialmente quando se usa a medida do torque residual e não a do torque máximo, além de que o peso do sistema DPL tem influência nas medidas de torques máximo e residual. Foi desenvolvida uma haste instrumentada com célula de carga e acelerômetros, com o objetivo de medir os sinais de força e aceleração durante a propagação de onda de tensão no topo da composição das hastes, através de um sistema de aquisição digital de dados. Os sinais obtidos em um ensaio de campo, realizado em conjunto com ensaios CPT, foram tratados através do próprio programa de aquisição de dados e de software desenvolvido para esta finalidade. A partir dos sinais de força e aceleração medidos foram determinadas as quantidades de energia transmitidas às hastes pela queda do martelo, determinando as perdas de energia na cravação da ponteira no solo. Verificou-se que a relação entre a energia potencial do sistema e a energia medida EFV é constante a partir de certa profundidade. Foram determinadas as forças dinâmicas mobilizadas na cravação a partir dos sinais de força e do deslocamento permanente médio da ponteira, e também através da aplicação do método CASE aos sinais de F e Zv. A partir da força dinâmica calculada, e dos atritos laterais calculados através da formula proposta, usando as medidas de torque máximo e residual, foi possível utilizar o ábaco de Robertson et al. (1986) para classificar o solo ensaiado até a profundidade de 12m, obtendo grande correspondência com os resultados apresentados na classificação através dos resultados do CPT elétrico. / Geotechnical properties of soil are given essential in the preparation and execution of a geotechnical engineering design. For this, several methods are commonly used in practice such as percussion test (SPT) and cone test (CPT), among others. Each type of equipment will have advantages and disadvantages depending on the geology, the conditions of access and mounting area and work. The Dynamic Light Penetrometer modified by Nilsson (2001), to measure torque, is a lightweight and simple tool that exhibits high mobility, allowing perform tests in areas of difficult access, such as rugged terrain, forests and wetlands. This equipment is not yet widespread in Brazil and the interpretation of results is done via the N10 index that provides an idea of the strength of the soil, as well as the NSPT makes the SPT. This study sought to rationally interpret the DPL results of applying the same concepts of energy and one-dimensional wave propagation of tension, now widely used to interpret the SPT. The influence of the tip geometry the mobilized friction was investigated, noting that one may substitute the tip 90 of the DPL by a 60 ° apex, as used in CPT. It is proposed a new formula relating the torque measured in DPL with the lateral friction of the tip, considering the contributions of the cylindrical sleeve and the conical tip. Field trials have shown that this accounts for proposed formula more suitably the lateral friction, especially when using the measurement of the residual torque, and not the maximum torque, and the weight of the DPL system has an influence on the measurements of maximum and residual torques. An instrumented with load cell rod and accelerometers, for the purpose of measuring the force and acceleration signals during stress wave propagation at the top of the stems of the composition via a digital acquisition system data has been developed. The signals obtained in a field test, carried out in conjunction with CPT trials were treated by own data acquisition software and software developed for this purpose. From the signs of strength and measured acceleration were determined amounts of energy transmitted to the rods by the hammer fall, causing energy losses in crimping the ferrule on the ground. It was found that the relationship between the potential energy of the system and the energy measure EFV is constant at a certain depth. We determined the dynamic forces mobilized in the piling from the force signals and the average displacement of the permanent ferrule, and also by applying the method to CASE signals F and Zv. From the calculated dynamic force, and the calculated lateral friction through the proposed formula, using the maximum and residual torque measurements, it was possible to use the abacus Robertson et al. (1986) tested for classifying the soil to a depth of 12m, achieving great correspondence with the results shown in sorting through the results of electric CPT.
8

DIFFERENTIAL GPS ENHANCES TEST CAPABILITIES OF DOMESTIC AND INTERNATIONAL PROGRAMS

Wallace, Keith, McCleaf, Tim, Pham, Tri 10 1900 (has links)
International Telemetering Conference Proceedings / October 28-31, 1996 / Town and Country Hotel and Convention Center, San Diego, California / A system was developed using capabilities from the Range Applications Joint Program Office (RAJPO) GPS tracking system and the ACMI Interface System (ACINTS) to provide tracking data and visual cues to experimenters. The Mobile Advanced Range Data System (ARDS) Control System (MACS) outputs are used to provide research data in support of advanced project studies. Enhanced from a previous system, the MACS expands system capabilities to allow researchers to locate where Digital Terrain Elevation Data (DTED) is available for incorporation into a reference data base. The System Integration Group at Veda Incorporated has been supporting Wright Laboratories in the ground-based tracking and targeting arena since 1989 with the design, development, and integration of four generations of real-time, telemetry-based tracking aids. Commencing in Q3 1995, Veda began developing a mobile, transportable system based on the RAJPO GPS tracking system. The resulting system architecture takes advantage of the front end processor (FEP) used in the three previous generations of interface systems built for Wright Laboratories, thus maximizing hardware and software reuse. The FEP provides a computational interface between the GPS tracking system and the display (operator) system. The end product is a powerful, flexible, fully mobile testbed supporting RDT&E requirements for Wright Laboratories, as well as to other U.S. and foreign research organizations. The system is rapidly reconfigurable to accommodate ground-based tracking systems as well as GPS-based systems, and its capabilities can be extended to include support for mission planning tools, insertion of virtual participants such as DIS entities, and detailed post-mission analysis.
9

Runtime specialization for heterogeneous CPU-GPU platforms

Farooqui, Naila 27 May 2016 (has links)
Heterogeneous parallel architectures like those comprised of CPUs and GPUs are a tantalizing compute fabric for performance-hungry developers. While these platforms enable order-of-magnitude performance increases for many data-parallel application domains, there remain several open challenges: (i) the distinct execution models inherent in the heterogeneous devices present on such platforms drives the need to dynamically match workload characteristics to the underlying resources, (ii) the complex architecture and programming models of such systems require substantial application knowledge and effort-intensive program tuning to achieve high performance, and (iii) as such platforms become prevalent, there is a need to extend their utility from running known regular data-parallel applications to the broader set of input-dependent, irregular applications common in enterprise settings. The key contribution of our research is to enable runtime specialization on such hybrid CPU-GPU platforms by matching application characteristics to the underlying heterogeneous resources for both regular and irregular workloads. Our approach enables profile-driven resource management and optimizations for such platforms, providing high application performance and system throughput. Towards this end, this research: (a) enables dynamic instrumentation for GPU-based parallel architectures, specifically targeting the complex Single-Instruction Multiple-Data (SIMD) execution model, to gain real-time introspection into application behavior; (b) leverages such dynamic performance data to support novel online resource management methods that improve application performance and system throughput, particularly for irregular, input-dependent applications; (c) automates some of the programmer effort required to exercise specialized architectural features of such platforms via instrumentation-driven dynamic code optimizations; and (d) proposes a specialized, affinity-aware work-stealing scheduling runtime for integrated CPU-GPU processors that efficiently distributes work across all CPU and GPU cores for improved load balance, taking into account both application characteristics and architectural differences of the underlying devices.
10

Génération efficace de graphes d’appels dynamiques complets

Ikhlef, Hajar 11 1900 (has links)
Analyser le code permet de vérifier ses fonctionnalités, détecter des bogues ou améliorer sa performance. L’analyse du code peut être statique ou dynamique. Des approches combinants les deux analyses sont plus appropriées pour les applications de taille industrielle où l’utilisation individuelle de chaque approche ne peut fournir les résultats souhaités. Les approches combinées appliquent l’analyse dynamique pour déterminer les portions à problèmes dans le code et effectuent par la suite une analyse statique concentrée sur les parties identifiées. Toutefois les outils d’analyse dynamique existants génèrent des données imprécises ou incomplètes, ou aboutissent en un ralentissement inacceptable du temps d’exécution. Lors de ce travail, nous nous intéressons à la génération de graphes d’appels dynamiques complets ainsi que d’autres informations nécessaires à la détection des portions à problèmes dans le code. Pour ceci, nous faisons usage de la technique d’instrumentation dynamique du bytecode Java pour extraire l’information sur les sites d’appels, les sites de création d’objets et construire le graphe d’appel dynamique du programme. Nous démontrons qu’il est possible de profiler dynamiquement une exécution complète d’une application à temps d’exécution non triviale, et d’extraire la totalité de l’information à un coup raisonnable. Des mesures de performance de notre profileur sur trois séries de benchmarks à charges de travail diverses nous ont permis de constater que la moyenne du coût de profilage se situe entre 2.01 et 6.42. Notre outil de génération de graphes dynamiques complets, nommé dyko, constitue également une plateforme extensible pour l’ajout de nouvelles approches d’instrumentation. Nous avons testé une nouvelle technique d’instrumentation des sites de création d’objets qui consiste à adapter les modifications apportées par l’instrumentation au bytecode de chaque méthode. Nous avons aussi testé l’impact de la résolution des sites d’appels sur la performance générale du profileur. / Code analysis is used to verify code functionality, detect bugs or improve its performance. Analyzing the code can be done either statically or dynamically. Approaches combining both analysis techniques are most appropriate for industrial-scale applications where each one individually cannot provide the desired results. Blended analysis, for example, first applies dynamic analysis to identify problematic code regions and then performs a focused static analysis on these regions. However, the existing dynamic analysis tools generate inaccurate or incomplete data, or result in an unacceptably slow execution times. In this work, we focus on the generation of complete dynamic call graphs with additional information required for blended analysis. We make use of dynamic instrumentation techniques of Java bytecode to extract information about call sites and object creation sites, and to build the dynamic call graph of the program. We demonstrate that it is possible to profile real-world applications to efficiently extract complete and accurate information. Performance measurement of our profiler on three sets of benchmarks with various workloads places the overhead of our profiler between 2.01 and 6.42. Our profiling tool generating complete dynamic graphs, named dyko, is also an extensible platform for evaluating new instrumentation approaches. We tested a new adaptive instrumentation technique for object creation sites which accommodates instrumentation to the bytecode of each method. We also tested the impact of call sites resolution on the overall performance of the profiler.

Page generated in 0.1374 seconds