• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 163
  • 30
  • 17
  • 10
  • 7
  • 7
  • 6
  • 3
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 295
  • 149
  • 121
  • 72
  • 53
  • 41
  • 34
  • 31
  • 30
  • 30
  • 27
  • 24
  • 23
  • 22
  • 20
  • 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.
161

Nontermination debugging of Prolog programs.

January 1992 (has links)
by Lam, Hin-ki Isaac. / Thesis (M.Phil.)--Chinese University of Hong Kong, 1992. / Includes bibliographical references (leaves 219-220). / Chapter Chapter 1 --- Introduction --- p.1 / Chapter 1.1 --- The Problem --- p.1 / Chapter 1.2 --- Related Works --- p.3 / Chapter 1.3 --- Contribution of the Present Study --- p.8 / Chapter 1.4 --- Outline of the Thesis --- p.8 / Chapter Chapter 2 --- Nontermination and Recursive Definition --- p.11 / Chapter 2.1 --- Prolog Execution Model --- p.11 / Chapter 2.2 --- Nontermination --- p.15 / Chapter 2.3 --- Exit Condition --- p.21 / Chapter 2.4 --- Exit-Reaching Process --- p.29 / Chapter 2.5 --- Parameter Based Detection --- p.35 / Chapter Chapter 3 --- Parameter Analysis --- p.38 / Chapter 3.1 --- Parameter Links --- p.39 / Chapter 3.1.1 --- Parameter Links and Parameter Modifying Process --- p.39 / Chapter 3.1.2 --- Parameter Links of Multi-Parameters --- p.43 / Chapter 3.1.3 --- Parameter Links in Indirect Recursive Definition --- p.44 / Chapter 3.1.4 --- Parameter Links with Special Parameters --- p.46 / Chapter 3.1.5 --- Parameter Links of the Same Name Parameters --- p.47 / Chapter 3.1.6 --- The Significance of Parameter Links --- p.49 / Chapter 3.2 --- Cyclic Parameter Links --- p.51 / Chapter 3.3 --- Parameter Link Detection --- p.58 / Chapter 3.3.1 --- Graph Technique --- p.58 / Chapter 3.3.1.1 --- Preliminaries --- p.58 / Chapter 3.3.1.2 --- on Parameter Links --- p.59 / Chapter 3.3.2 --- Algorithms --- p.62 / Chapter Chapter 4 --- Data Analysis --- p.70 / Chapter 4.1 --- Data Links --- p.72 / Chapter 4.1.1 --- The Direct Recursive Definition Case --- p.76 / Chapter 4.1.1.1 --- Subgoal Procedures with Facts Alone --- p.76 / Chapter 4.1.1.2 --- Procedures with Rules --- p.79 / Chapter 4.1.2 --- The Indirect Recursive Definition Case --- p.84 / Chapter 4.2 --- on the Difference between Pure and General Prolog --- p.86 / Chapter 4.3 --- Data Link Significance --- p.89 / Chapter 4.4 --- Connected Data-link Lists --- p.92 / Chapter 4.4.1 --- Data Links and Connected Data-link Lists --- p.92 / Chapter 4.4.1.1 --- Connected Data-link Lists and Data Transfer Sequence --- p.95 / Chapter 4.4.1.2 --- Connected Data-link Lists and Backtracking --- p.97 / Chapter 4.4.1.3 --- Connected Data-link Lists and the Recursion Result --- p.99 / Chapter 4.4.2 --- Cyclic and Non-Cyclic Connected Data-link Lists --- p.100 / Chapter 4.4.2.1 --- Non-Cyclic Connected Data-link Lists and Exit Conditions --- p.102 / Chapter 4.4.2.2 --- Cyclic Connected Data-link Lists and Nontermination --- p.104 / Chapter 4.4.3 --- Multi-Connected Data-link Lists --- p.107 / Chapter 4.4.3.1 --- in One Cyclic Parameter Link --- p.107 / Chapter 4.4.3.2 --- in Multi-Cyclic Parameter Links --- p.115 / Chapter 4.4.3.3 --- The Case of Multiple Recursive Subgoals in the Same Rule --- p.120 / Chapter 4.5. --- Special Parameters and Data Links --- p.125 / Chapter 4.5.1. --- Data Links with Special Parameters Only --- p.126 / Chapter 4.5.2 --- Data Links with Both Special Parameters and Subgoals --- p.136 / Chapter 4.6 --- Data Links and Infinite Data Transfer Sequence Detection --- p.142 / Chapter CHAPTER 5 --- Special Cases --- p.150 / Chapter 5.1 --- Interdependent Cyclic Parameter Links --- p.150 / Chapter 5.1.1 --- Interdependent Cyclic Parameter Links through Common Parameters --- p.151 / Chapter 5.1.1.1 --- Interdependency between Cyclic and Non-cyclic Parameter Links and Interdependency between Cyclic Parameter Link and Subgoals --- p.158 / Chapter 5.1.1.2 --- Interdependency between Cyclic Parameter Links --- p.165 / Chapter 5.1.1.2.1 --- Lengths of Cyclic Connected- data Links in Different Ratios --- p.171 / Chapter 5.1.1.2.2 --- Cyclic Parameter Links with Lengths in Different Ratios --- p.182 / Chapter 5.1.2 --- Interdependent Cyclic Parameter Links through Common Subgoals --- p.196 / Chapter 5.1.3 --- Interdependent Cyclic Parameter Links with Special Parameters --- p.202 / Chapter 5.2 --- A Special Case of Cyclic Parameter Links established through Special Parameters --- p.208 / Chapter CHAPTER 6 --- Discussion and Conclusion --- p.213 / Chapter 6.1 --- The Results and Implications --- p.213 / Chapter 6.2 --- Limitations and Future Research --- p.215 / Chapter 6.3 --- Conclusion --- p.217 / Reference --- p.219
162

Adaptation non-anticipée de comportement : application au déverminage de programmes en cours d'exécution / Unanticipated behavior adaptation : application to the debugging of running programs

Costiou, Steven 28 November 2018 (has links)
Certains programmes doivent fonctionner en continu et ne peuvent pas être interrompus en cas de dysfonctionnement. C'est par exemple le cas de drones en mission, de satellites et de certains objets connectés. Pour de telles applications, le défi est d’identifier les problèmes et de les corriger pendant l'exécution du programme. De plus, dans le contexte des systèmes à objets, il peut être nécessaire d’observer et d’instrumenter individuellement le comportement de certains objets particuliers. Dans cette thèse, nous proposons une solution d’adaptation dynamique de comportement permettant de déverminer individuellement les objets d'un programme en cours d'exécution. Cette solution est présentée sous la forme d’un patron applicable aux langages objets à typage dynamique. Ce patron permet d'implanter de façon minimale et générique des capacités additionnelles d’adaptation dynamique à granularité objet. Une mise en oeuvre de ce patron pour un langage de programmation particulier permet d'instrumenter dynamiquement un programme pour collecter des objets spécifiques et d'adapter leur comportement pendant l’exécution. Nous expérimentons notre patron par des mises en oeuvre en Pharo et en Python. Des dévermineurs dédiés à la mise au point de programmes en cours d’exécution sont mis en oeuvre pour ces deux langages objet. Ces outils sont évalués pour des cas de déverminage concrets : pour une simulation de drones, pour des applications connectées déployées sur des systèmes cyber-physiques distants, pour un serveur de discussion en ligne ainsi que sur un défaut en production d’un logiciel de génération de documents. / Some programs must run continuously and cannot be interrupted in the event of a malfunction.This is, for example, the case of drones, satellites and some internet-of-things applications. For such applications, the challenge is to identify and fix problems while the program is still running. Moreover, in the context of object-oriented Systems, it may be necessary to observe and instrument the behavior of very specifie objects.In this thesis, we propose a method to adapt object behavior in a running program. This solution is presented as a pattern applicable to dynamically typed object-oriented languages. This pattern makes it possible to implement, in a minimal and generic way, additional debugging capabilities at the level of objects. An implementation of this pattern for a particular programming language makes it possible to dynamically instrument a program, by collecting specifie objects and adapting their behavior during run-time. We experiment this pattern in Pharo and Python implementations with dedicated debuggers for each language.These tools are evaluated on typical debugging case studies: a simulation of drones, connected applications deployed on remote cyber-physical Systems, an online discussion server and a debugging session to fix a defect in a production software.
163

Interactive maintenance terminal fault isolation program

Bulat, Michael Henry January 1981 (has links)
Thesis (B.S.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1981. / MICROFICHE COPY AVAILABLE IN ARCHIVES AND ENGINEERING. / Bibliography: leaves 40-41. / by Michael Henry Bulat. / B.S.
164

Swarm debugging : the collective debugging intelligence of the crowd / Depuração em enxame : a inteligência coletiva na depuração pela multidão

Petrillo, Fábio dos Santos January 2016 (has links)
As formigas são criaturas fascinantes que, além dos avanços na biologia também inspiraram pesquisas sobre teoria da informação. Em particular, o estudo resultou na criação da Teoria da Forragem de Informação, que descreve como os agentes de buscam informações em seu ambiente. Esta teoria também explica fenômenos recentes e bem-sucedidos, como crowd sourcing. Crowdsourcing tem sido aplicado a muitas atividades em engenharia de software, incluindo desenvolvimento, tradução e testes, mas uma atividade parece resistir: depuração. No entanto, os desenvolvedores sabem que a depuração pode exigir dedicação, esforço, longas horas de trabalho, por vezes, para mudar uma linha de código único. Nós introduzimos o conceito de Depuração em Enxame, para trazer crowd sourcing para a atividade de depuração. Através de crowd sourcing, pretendemos ajudar os desenvolvedores, capitalizando a sua dedicação, esforço e longas horas de trabalho para facilitar atividades de depuração. Mostramos que a depuração enxame requer uma abordagem específica para recolher informações relevantes, e descrevemos sua infra-estrutura. Mostramos também que a depuração em enxame pode reduzir o esforço desenvolvedores. Concluímos com as vantagens e limitações atuais de depuração enxame, e sugerir caminhos para superar estas limitações e ainda mais a adoção de crowd sourcing para atividades de depuração. / Ants are fascinating creatures that beyond the advances in biology have also inspired research on information theory. In particular, their study resulted in the creation of the Information Foraging Theory, which describes how agents forages for information in their environment. This theory also explains recent and fruitful phenomena, such as crowdsourcing. Many activities in software engineering have applied crowdsourcing, including development, translation, and testing, but one action seems to resist: debugging. Developers know that debugging can require dedication, effort, long hours of work, sometimes for changing one line of code only. We introduce the concept of Swarm Debugging, to bring crowdsourcing to the activity of debugging. Through crowdsourcing, we aim at helping developers by capitalizing on their dedication, effort, and long hours of work to ease debugging activities of their peers or theirs, on other bugs. We show that swarm debugging requires a particular approach to collect relevant information, and we describe the Swarm Debugging Infrastructure. We also show that swarm debugging minimizes developers effort. We conclude with the advantages and current limitations of swarm debugging and suggest directions to overcome these limitations and further the adoption of crowdsourcing for debugging activities.
165

Presenting results of software model checker via debugging interface / Presenting results of software model checker via debugging interface

Kohan, Tomáš January 2012 (has links)
Title: Presenting results of software model checker via debugging interface Author: Tomáš Kohan Department: Department of Software Engineering Supervisor of the master thesis: RNDr. Ondřej Šerý, Ph.D., Department of Distributed and Dependable Systems Abstract: This thesis is devoted to design and implementation of the new de- bugging interface to the Java PathFinder application. As a suitable interface container was selected the Eclipse development environment. The created inter- face visualizes results of JPF and details of paused JVM state, especially a list of variables and their values. Two subprojects were created, i.e. debug4jpf and JPFDeb.core. The first one is responsible for controlling and communication with the JPF instance. The latter one is an Eclipse plugin and provides user interface which is similar to the interface of standard Java debugger. These two components communicate with each other by using the ad-hoc communication protocol created for this purpose. Keywords: Java, verification, model checker, JPF, debugging interface
166

Depuração de programas baseada em cobertura de integração / Program debugging based on integration coverage

Higor Amario de Souza 20 December 2012 (has links)
Depuração é a atividade responsável pela localização e correção de defeitos gerados durante o desenvolvimento de programas. A depuração ocorre devido à atividade de teste bem-sucedida, na qual falhas no comportamento do programa são reveladas, indicando a existência de defeitos. Diversas técnicas têm sido propostas para automatizar a tarefa de depuração de programas. Algumas delas utilizam heurísticas baseadas em informações de cobertura obtidas da execução de testes. O objetivo é indicar trechos de código do programa mais suspeitos de conter defeitos. As informações de cobertura mais usadas em depuração automatizada são baseadas no teste estrutural de unidade. A cobertura de integração, obtida por meio da comunicação entre as unidades de um programa, pode trazer novas informações sobre o código executado, possibilitando a criação de novas estratégias para a tarefa de localização de defeitos. Este trabalho apresenta uma nova técnica de localização de defeitos chamada Depuração de programas baseada em Cobertura de Integração (DCI). São apresentadas duas coberturas de integração baseadas nas chamadas de métodos de um programa. Essas coberturas são usadas para a proposição de roteiros de busca dos defeitos a partir dos métodos considerados mais suspeitos. As informações de cobertura de unidade são então utilizadas para a localização dos defeitos dentro dos métodos. A DCI também utiliza uma nova heurística para atribuição de valores de suspeição a entidades de integração estática dos programas como pacotes, classes e métodos, fornecendo também um roteiro para a procura dos defeitos. Os experimentos realizados em programas reais mostram que a DCI permite realizar a localização de defeitos de forma mais eficaz do que o uso de informações de cobertura de unidade isoladamente. / Debugging is the activity responsible for localizing and fixing faults generated during software development. Debugging occurs due to a successful testing activity, in which failures in the behavior of the program are revealed, indicating the existence of faults. Several techniques have been proposed to automate the debugging tasks, especially the fault localization task. Some techniques use heuristics based on coverage data obtained from the execution of tests. The goal is to indicate program code excerpts more likely to contain faults. The coverage data mostly used in automated debugging is based on white-box unit testing. Integration coverage data, obtained from the communication between the units of a program, can bring about new information with respect to the executed code, which allows new strategies to the fault localization task to be devised. This work presents a new fault localization technique called Debugging based on Integration Coverage (DIC). Two integration coverages based on method invocations are presented. These coverages are used to propose two search strategies that provides a roadmap to locate faults by investigating the more suspicious methods. The unit coverage information are used to search the faulty statement inside the suspicious methods. The DIC technique also proposes a heuristic that assigns suspiciousness values to static integration entities of the programs, namely, packages, classes, and methods. This heuristic also provides a roadmap to search for the faults. Experiments using real programs show that DIC is more effective to locate faults than solely using unit coverage information.
167

Using Source-to-Source Transformations to Add Debug Observability to HLS-Synthesized Circuits

Monson, Joshua Scott 01 March 2016 (has links)
This dissertation introduces a novel approach for exposing the internal, source-level expressions of circuits generated by high-level synthesis (HLS) for in-circuit debug. The approach uses source-to-source transformations to instrument specific source-level expressions with debug ports. These debug ports allow a user to connect a debugging instrument (e.g. an embedded logic analyzer) to record the activity of the expression corresponding to the debug port. This dissertation demonstrates that a debugging solution based on these source-to-source transformations is feasible and that individual debug ports can be added for a cost of a 1-2% increase in circuit area on average. It also introduces another transformation that permits pointer-valued expressions to be instrumented for debug. It is demonstrated that all pointers in the CHStone benchmarks can be instrumented for an average 4% increase in circuit area. The debug port transformations are demonstrated on two HLS tools – Vivado HLS and Legup. The architecture of the source-to-source compiler allowed the necessary adaptations for the second tool (Legup) to be implemented using a minimal amount of additional code. Due to limitations in the Legup compiler an additional optimization was added to reduce the latency overhead incurred by the debug ports. User manuals and other documentation from 10 additional C-based HLS tools is examined to determine whether they are amenable to debug instrumentation using the source-to-source transformations. Of the 10 additional HLS tools examined, 6 were amenable to the transformations, 3 were likely to be amenable, and 1 was not. This dissertation estimates the cost of a complete debugging solution (i.e. one with debug ports and a debugging instrument) and identifies a possible worst case bound for adding debug ports. Finally, this dissertation analyzes two different debugging instruments and determines which instrument would be best for most HLS circuit mapped to FPGAs. It then estimates the overhead of this debugging solution.
168

Automatic error detection using program invariants for fault localization

Santos, João Filipe Rodrigues dos January 2012 (has links)
Tese de Mestrado Integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 2012
169

CONTEXT-AWARE DEBUGGING FOR CONCURRENT PROGRAMS

Chu, Justin 01 January 2017 (has links)
Concurrency faults are difficult to reproduce and localize because they usually occur under specific inputs and thread interleavings. Most existing fault localization techniques focus on sequential programs but fail to identify faulty memory access patterns across threads, which are usually the root causes of concurrency faults. Moreover, existing techniques for sequential programs cannot be adapted to identify faulty paths in concurrent programs. While concurrency fault localization techniques have been proposed to analyze passing and failing executions obtained from running a set of test cases to identify faulty access patterns, they primarily focus on using statistical analysis. We present a novel approach to fault localization using feature selection techniques from machine learning. Our insight is that the concurrency access patterns obtained from a large volume of coverage data generally constitute high dimensional data sets, yet existing statistical analysis techniques for fault localization are usually applied to low dimensional data sets. Each additional failing or passing run can provide more diverse information, which can help localize faulty concurrency access patterns in code. The patterns with maximum feature diversity information can point to the most suspicious pattern. We then apply data mining technique and identify the interleaving patterns that are occurred most frequently and provide the possible faulty paths. We also evaluate the effectiveness of fault localization using test suites generated from different test adequacy criteria. We have evaluated Cadeco on 10 real-world multi-threaded Java applications. Results indicate that Cadeco outperforms state-of-the-art approaches for localizing concurrency faults.
170

TeaBag: A Debugger for Curry

Johnson, Stephen Lee 01 July 2004 (has links)
This thesis describes TeaBag, which is a debugger for functional logic computations. TeaBag is an accessory of a virtual machine currently under development. A distinctive feature of this machine is its operational completeness of computations, which places novel demands on a debugger. This thesis describes the features of TeaBag, in particular the handling of non-determinism, the ability to control nondeterministic steps, to remove context information, to toggle eager evaluation, and to set breakpoints on both functions and terms. This thesis also describes TeaBag's architecture and its interaction with the associated virtual machine. Finally, some debugging sessions of defective programs are presented to demonstrate TeaBag's ability to locate bugs. A distinctive feature of TeaBag is how it presents non-deterministic trace steps of an expression evaluation trace to the user. In the past expression evaluation traces were linearized via backtracking. However, the presence of backtracking makes linear traces difficult to follow. TeaBag does not present backtracking to the user. Rather TeaBag presents the trace in two parts. One part is the search space which has a tree structure and the other part is a linear sequence of steps for one path through the search space.

Page generated in 0.0352 seconds