21 |
Statistical Debugging of Programs written in Dynamic Programming Language : RUBY / Statistisk Debugging av program skrivna i dynamiskt programmeringsspråk : RUBYAkhter, Adeel, Azhar, Hassan January 2010 (has links)
Debugging is an important and critical phase during the software development process. Software debugging is serious and tough practice involved in functional base test driven development. Software vendors encourages their programmers to practice test driven development during the initial development phases to capture the bug traces and the associated code coverage infected from diagnosed bugs. Application’s source code with fewer threats of bug existence or faulty executions is assumed as highly efficient and stable especially when real time software products are in consideration. Due to the fact that process of development of software projects relies on great number of users and testers which required having an effective fault localization technique. This specific fault localization technique can highlight the most critical areas of software system at code as well as modular level so that debugging algorithm can be used to debug the application source code. Nowadays many complex or simple software systems are in corporation with open bug repositories to localize the bugs. Any inconsistency or imperfection in early development phase of software product results in low efficient system and less reliability. Statistical debugging of program source code for visualization of fault is an important and efficient way to select and rank the suspicious lines of code. This research provides guidelines for practicing statistical debugging technique for programs coded in Ruby programming language. This thesis presents statistical debugging techniques available for dynamic programming languages. Firstly, the statistical debugging techniques were thoroughly observed with different predicate base approaches followed in previous work done in the subject area. Secondly, the new process of statistical debugging for programs coded in Ruby programming language is introduced by generating dynamic predicates. Results were analyzed by implementing multiple programs written in Ruby programming language with different complexity level. The analysis of experimentation performed on candidate programs depict that SOBER is more efficient and accurate in bug identification than Cause Isolation Scheme. It is concluded that despite of extensive research in the field of statistical debugging and fault localization it is not possible to identify majority of the bugs. Moreover SOBER and Cause Isolation Scheme algorithms are found to be two most mature and effective statistical debugging algorithms for bug identification with in software source code. / Address: School of Computing Blekinge Institute of Technology SE-371 79 Karlskrona, Sweden Phone: +46-(0)455-385804 Fax: +46-(0)455-385057
|
22 |
VALUE-BASED FAULT LOCALIZATION IN JAVA NUMERICAL SOFTWARE WITH CAUSAL INFERENCE TECHNIQUESheng, Jian 01 February 2019 (has links)
No description available.
|
23 |
Frequent Subgraph Analysis and its Software Engineering ApplicationsHenderson, Tim A. D. 06 September 2017 (has links)
No description available.
|
24 |
Turning Up the Heat!: Using Fault-Localizing Heat Maps to Help Students Improve Their CodeEdmison, Kenneth Robert, Jr. 16 December 2019 (has links)
Automated grading systems provide feedback to computer science students in a variety of ways, but often focus on incorrect program behaviors. These tools will provide indications of test case failures or runtime errors, but without debugging skills, students often become frus- trated when they don't know where to start. They know their code has defects, but finding the problem may be beyond their experience, especially for beginners. An additional concern is balancing the need to provide enough direction to be useful, without giving the student so much direction that they are effectively given the answer. Drawing on the experiences of the software engineering community, in this work we apply a technique called statistical fault location (SFL) to student program assignments. Using the GZoltar software tool, we applied this technique to a set of previously-submitted student assignments gathered from students in our introductory CS course, CS 1114: Introduction to Software Design. After a manual inspection of the student code, this exercise demonstrated that the SFL technique identifies the defective method in the first three most suspicious methods in the student's code 90% of the time. We then developed a plug-in for Web-CAT to allow new student submissions to be evaluated with the GZoltar SFL system. Additionally, we developed a tool to create a heat map visualization to show the results of the SFL evaluation overlaid on the student's source code. We deployed this toolset for use in CS 1114 in Fall 2017. We then surveyed the students about their perceptions of the utility of the visualization for helping them understand how to find and correct the defects in their code, versus not having access to the heat map. Their responses led to refinements in our presentation of the feedback. We also evaluated the performance of CS 1114 classes from two semesters and discovered that having the heat maps led to more frequent incremental improvements in their code, as well as reaching their highest correctness score on instructor-provided tests more quickly than students that did not have access to the heat maps. Finally, we suggest several directions for future enhancements to the feedback interface. / Doctor of Philosophy / Automated grading systems provide feedback to computer science students in a variety of ways, but often focus on incorrect program behaviors. These tools will provide indications of test case failures or runtime errors, but without debugging skills, students often become frus- trated when they don't know where to start. They know their code has defects, but finding the problem may be beyond their experience, especially for beginners. An additional concern is balancing the need to provide enough direction to be useful, without giving the student so much direction that they are effectively given the answer. Drawing on the experiences of the software engineering community, in this work we apply a technique called statistical fault location (SFL) to student program assignments. Using the GZoltar software tool, we applied this technique to a set of previously-submitted student assignments gathered from students in our introductory CS course, CS 1114: Introduction to Software Design. After a manual inspection of the student code, this exercise demonstrated that the SFL technique identifies the defective method in the first three most suspicious methods in the student's code 90% of the time. We then developed a plug-in for Web-CAT to allow new student submissions to be evaluated with the GZoltar SFL system. Additionally, we developed a tool to create a heat map visualization to show the results of the SFL evaluation overlaid on the student's source code. We deployed this toolset for use in CS 1114 in Fall 2017. We then surveyed the students about their perceptions of the utility of the visualization for helping them understand how to find and correct the defects in their code, versus not having access to the heat map. Their responses led to refinements in our presentation of the feedback. We also evaluated the performance of CS 1114 classes from two semesters and discovered that having the heat maps led to more frequent incremental improvements in their code, as well as reaching their highest correctness score on instructor-provided tests more quickly than students that did not have access to the heat maps. Finally, we suggest several directions for future enhancements to the feedback interface.
|
25 |
Visualização de informação de depuração: uma avaliação experimental / Visualization of debugging information: an empirical assessmentSilva, Fabio Pereira da 15 December 2017 (has links)
Depuração é a tarefa de localizar e corrigir defeitos em um programa. Apesar do esforço de pesquisa em depuração, especialmente nos últimos anos, ela ainda é realizada da mesma forma desde a década de 60, quando os primeiros depuradores simbólicos foram introduzidos. Localização de defeitos baseada em cobertura (LDC) é uma técnica de depuração promissora devido ao seu baixo custo de execução. LDC identifica os elementos mais suspeitos de um programa ao classificar linhas, métodos, classes e pacotes com maior valor de suspeição. Recentemente, ferramentas de visualização têm sido propostas para representar os valores de suspeição dos elementos de um programa. Entretanto, nenhuma delas foi introduzida em ambientes industriais e a utilização de depuradores simbólicos ainda é predominante. Nesta dissertação, foi avaliada a eficácia, a eficiência e a usabilidade de duas ferramentas de depuração, chamadas CodeForest e Jaguar, em ambientes reais. Jaguar apresenta os trechos mais suspeitos de um programa em uma lista ordenada por seus valores de suspeição. A CodeForest recebe informações de classes, métodos e blocos (conjunto de instruções executadas em sequência) suspeitos para construir uma floresta de cactus tridimensional representando o programa inspecionado. Na CodeForest, as classes são representadas como cactus, os métodos como galhos e os blocos como espinhos de um galho. Em ambas as ferramentas, os elementos do programa recebem cores que variam de acordo com o seu valor de suspeição. A questão básica respondida ao término deste trabalho é se as informações da depuração quando exibidas em uma metáfora visual melhoram a eficácia, a eficiência e a usabilidade na localização de defeitos. A eficácia e a eficiência foram avaliadas, respectivamente, pela capacidade da ferramenta direcionar o desenvolvedor ao método ou linha do defeito e o tempo necessário para localizá-los. A usabilidade das ferramentas foi avaliada por meio de um questionário baseado no modelo TAM (Technology Acceptance Model). Os resultados obtidos demonstram que a Jaguar foi mais eficaz, eficiente e com maior grau de usabilidade do que a CodeForest; entretanto, o tamanho do efeito estatístico é insignificante para a eficácia e eficiência e baixo para a usabilidade / Debugging is the task of locating and fixing defects in a program. Despite the research effort in debugging, especially in recent years, this task is still carried out in the same way since the 60s when the first symbolic debuggers were introduced. Spectrum-Based Fault Localization (SFL) is a promising debugging technique due to it is relative low execution cost. SFL pinpoints the most suspicious program elements by ranking lines, methods, classes and packages with greater suspicious values. Recently, visualization techniques have been proposed to represent the suspicious values of program elements. However, none of them have been introduced at industrial settings and the use of symbolic debuggers is still prevalent. This dissertation assessed the effectiveness, efficiency and usability of two debugging tools, called and CodeForest and Jaguar, in real environments. Jaguar presents the most suspicious elements of a program in a list sorted by suspicious values. CodeForest receives lists of suspicious classes, methods and blocks (set of statements executed in sequence) to build a three-dimensional cacti forest representing the program inspected. In CodeForest, classes are represented as cacti, methods as branches and blocks as thorns of a branch. In both tools, the program elements receive colors that vary according to the suspicious values. The basic question answered at the end of this research is whether debugging information when displayed as a visual metaphor improve the effectiveness, efficiency and usability during fault localization. The effectiveness and efficiency were assessed, respectively, by the tool\'s ability to direct the developer to the faulty method or line and the time spent to locate them. The tools\' usability was evaluated using the Technology Acceptance Model (TAM). The results show that Jaguar is more effective, efficient and presented greater usability than CodeForest; however, the statistical effect size is insignificant for effectiveness and efficiency and low for usability
|
26 |
Visualização de informação de depuração: uma avaliação experimental / Visualization of debugging information: an empirical assessmentFabio Pereira da Silva 15 December 2017 (has links)
Depuração é a tarefa de localizar e corrigir defeitos em um programa. Apesar do esforço de pesquisa em depuração, especialmente nos últimos anos, ela ainda é realizada da mesma forma desde a década de 60, quando os primeiros depuradores simbólicos foram introduzidos. Localização de defeitos baseada em cobertura (LDC) é uma técnica de depuração promissora devido ao seu baixo custo de execução. LDC identifica os elementos mais suspeitos de um programa ao classificar linhas, métodos, classes e pacotes com maior valor de suspeição. Recentemente, ferramentas de visualização têm sido propostas para representar os valores de suspeição dos elementos de um programa. Entretanto, nenhuma delas foi introduzida em ambientes industriais e a utilização de depuradores simbólicos ainda é predominante. Nesta dissertação, foi avaliada a eficácia, a eficiência e a usabilidade de duas ferramentas de depuração, chamadas CodeForest e Jaguar, em ambientes reais. Jaguar apresenta os trechos mais suspeitos de um programa em uma lista ordenada por seus valores de suspeição. A CodeForest recebe informações de classes, métodos e blocos (conjunto de instruções executadas em sequência) suspeitos para construir uma floresta de cactus tridimensional representando o programa inspecionado. Na CodeForest, as classes são representadas como cactus, os métodos como galhos e os blocos como espinhos de um galho. Em ambas as ferramentas, os elementos do programa recebem cores que variam de acordo com o seu valor de suspeição. A questão básica respondida ao término deste trabalho é se as informações da depuração quando exibidas em uma metáfora visual melhoram a eficácia, a eficiência e a usabilidade na localização de defeitos. A eficácia e a eficiência foram avaliadas, respectivamente, pela capacidade da ferramenta direcionar o desenvolvedor ao método ou linha do defeito e o tempo necessário para localizá-los. A usabilidade das ferramentas foi avaliada por meio de um questionário baseado no modelo TAM (Technology Acceptance Model). Os resultados obtidos demonstram que a Jaguar foi mais eficaz, eficiente e com maior grau de usabilidade do que a CodeForest; entretanto, o tamanho do efeito estatístico é insignificante para a eficácia e eficiência e baixo para a usabilidade / Debugging is the task of locating and fixing defects in a program. Despite the research effort in debugging, especially in recent years, this task is still carried out in the same way since the 60s when the first symbolic debuggers were introduced. Spectrum-Based Fault Localization (SFL) is a promising debugging technique due to it is relative low execution cost. SFL pinpoints the most suspicious program elements by ranking lines, methods, classes and packages with greater suspicious values. Recently, visualization techniques have been proposed to represent the suspicious values of program elements. However, none of them have been introduced at industrial settings and the use of symbolic debuggers is still prevalent. This dissertation assessed the effectiveness, efficiency and usability of two debugging tools, called and CodeForest and Jaguar, in real environments. Jaguar presents the most suspicious elements of a program in a list sorted by suspicious values. CodeForest receives lists of suspicious classes, methods and blocks (set of statements executed in sequence) to build a three-dimensional cacti forest representing the program inspected. In CodeForest, classes are represented as cacti, methods as branches and blocks as thorns of a branch. In both tools, the program elements receive colors that vary according to the suspicious values. The basic question answered at the end of this research is whether debugging information when displayed as a visual metaphor improve the effectiveness, efficiency and usability during fault localization. The effectiveness and efficiency were assessed, respectively, by the tool\'s ability to direct the developer to the faulty method or line and the time spent to locate them. The tools\' usability was evaluated using the Technology Acceptance Model (TAM). The results show that Jaguar is more effective, efficient and presented greater usability than CodeForest; however, the statistical effect size is insignificant for effectiveness and efficiency and low for usability
|
27 |
Statistical causal analysis for fault localizationBaah, George Kofi 08 August 2012 (has links)
The ubiquitous nature of software demands that software is released without faults. However, software developers inadvertently introduce faults into software during development. To remove the faults in software, one of the tasks developers perform is debugging. However, debugging is a difficult, tedious, and time-consuming process. Several semi-automated techniques have been developed to reduce the burden on the developer during debugging. These techniques consist of experimental, statistical, and program-structure based techniques. Most of the debugging techniques address the part of the debugging process that relates to finding the location of the fault, which is referred to as fault localization. The current fault-localization techniques have several limitations. Some of the limitations of the techniques include (1) problems with program semantics, (2) the requirement for automated oracles, which in practice are difficult if not impossible to develop, and (3) the lack of theoretical basis for addressing the fault-localization problem.
The thesis of this dissertation is that statistical causal analysis combined with program analysis is a feasible and effective approach to finding the causes of software failures. The overall goal of this research is to significantly extend the state of the art in fault localization. To extend the state-of-the-art, a novel probabilistic model that combines program-analysis information with statistical information in a principled manner is developed. The model known as the probabilistic program dependence graph (PPDG) is applied to the fault-localization problem. The insights gained from applying the PPDG to fault localization fuels the development of a novel theoretical framework for fault localization based on established causal inference methodology. The development of the framework enables current statistical fault-localization metrics to be analyzed from a causal perspective. The analysis of the metrics show that the metrics are related to each other thereby allowing the unification of the metrics. Also, the analysis of metrics from a causal perspective reveal that the current statistical techniques do not find the causes of program failures instead the techniques find the program elements most associated with failures. However, the fault-localization problem is a causal problem and statistical association does not imply causation. Several empirical studies are conducted on several software subjects and the results (1) confirm our analytical results, (2) demonstrate the efficacy of our causal technique for fault localization. The results demonstrate the research in this dissertation significantly improves on the state-of-the-art in fault localization.
|
28 |
Improved fault localization method for electrical power distribution networks / Améliorations de méthodes de localisation de défauts pour les réseaux de distribution électriqueMarguet, Raphaël 05 March 2015 (has links)
Ces travaux proposent des améliorations de méthodes de localisation desdéfauts électriques sur les réseaux électriques de distribution. Les réseaux de transportont rapidement été instrumenté en élément de protection. En effet, un incident survenantsur le réseau de transport peut entrainer de graves conséquences s’il n’est pas traité rapidement.Les réseaux de distribution quand à eux possèdent un schéma de protectionminimal. Cependant le développement des smart grids (ou réseaux intelligents) amène denouvelles possibilités avec l’ajout d’équipements de mesures sur le réseau de distribution.Les travaux présentés dans cette thèse développent deux méthodes de localisation de défaut.La première permet de mieux utiliser l’équipement déjà en place (indicateurs depassage de défaut) afin d’isoler de manière rapide et fiable la zone concernée par le défaut.La deuxième permet une localisation précise (en distance) des différents lieux de défautspossibles à partir de mesures électriques. / This thesis proposes to improve fault localization methods for electricalpower distribution networks. Transmission networks were quickly equipped with protectionand fault localization equipments. Indeed, faults on the transmission network need tobe dealt with quickly in order to avoid serious consequences. Unlike transmission networks,distribution networks have a minimal protection scheme. The smart grid developmentsbring new possibilities with the installation of new equipments giving access to many newvariables. The work presented in this thesis develop two fault localization method. Thefirst aims in using the equipment already installed (fault indicators) in order to isolatequickly and efficiently the zone concerned by the fault. The second method performs aprecise localization (in distance) of the different possible fault locations from the electricalmeasurements made on the network.
|
29 |
Fault Localization in All-Optical Mesh NetworksAli, Mohammed Liakat January 2013 (has links)
Fault management is a challenging task in all-optical wavelength division multiplexing (WDM) networks. However, fast fault localization for shared risk link groups (SRLGs) with multiple links is essential for building a fully survival and functional transparent all-optical mesh network.
Monitoring trail (m-trail) technology is an effective approach to achieve the goal, whereby a set of m-trails are derived for unambiguous fault localization (UFL). However, an m-trail traverses through a link by utilizing a dedicated wavelength channel (WL), causing a significant amount of resource consumption. In addition, existing m-trail methods incur long and variable alarm dissemination delay.
We introduce a novel framework of real-time fault localization in all-optical WDM mesh networks, called the monitoring-burst (m-burst), which aims at initiating a balanced trade-off between consumed monitoring resources and fault localization latency. The m-burst framework has a single monitoring node (MN) and requires one WL in each unidirectional link if the link is traversed by any m-trail. The MN launches short duration optical bursts periodically along each m-trail to probe the links of the m-trail. Bursts along different m-trails are kept non-overlapping through each unidirectional link by scheduling burst launching times from the MN and multiplexing multiple bursts, if any, traversing the link. Thus, the MN can unambiguously localize the failed links by identifying the lost bursts without incurring any alarm dissemination delay. We have proposed several novel m-trail allocation, burst launching time scheduling, and node switch fabric configuration schemes. Numerical results show that the schemes, when deployed in the m-burst framework, are able to localize single-link and multi-link SRLG faults unambiguously, with reasonable fault localization latency, by using at most one WL in each unidirectional link.
To reduce the fault localization latency further, we also introduce a novel methodology called nested m-trails. At first, mesh networks are decomposed into cycles and trails. Each cycle (trail) is realized as an independent virtual ring (linear) network using a separate pair of WLs (one WL in each direction) in each undirected link traversed by the cycle (trail). Then, sets of m-trails, i.e., nested m-trails, derived in each virtual network are deployed independently in the m-burst framework for ring (linear) networks. As a result, the fault localization latency is reduced significantly. Moreover, the application of nested m-trails in adaptive probing also reduces the number of sequential probes significantly. Therefore, practical deployment of adaptive probing is now possible. However, the WL consumption of the nested m-trail technique is not limited by one WL per unidirectional link. Thus, further investigation is needed to reduce the WL consumption of the technique.
|
30 |
Improved fault localization method for electrical power distribution networks / Améliorations de méthodes de localisation de défauts pour les réseaux de distribution électriqueMarguet, Raphaël 05 March 2015 (has links)
Ces travaux proposent des améliorations de méthodes de localisation desdéfauts électriques sur les réseaux électriques de distribution. Les réseaux de transportont rapidement été instrumenté en élément de protection. En effet, un incident survenantsur le réseau de transport peut entrainer de graves conséquences s’il n’est pas traité rapidement.Les réseaux de distribution quand à eux possèdent un schéma de protectionminimal. Cependant le développement des smart grids (ou réseaux intelligents) amène denouvelles possibilités avec l’ajout d’équipements de mesures sur le réseau de distribution.Les travaux présentés dans cette thèse développent deux méthodes de localisation de défaut.La première permet de mieux utiliser l’équipement déjà en place (indicateurs depassage de défaut) afin d’isoler de manière rapide et fiable la zone concernée par le défaut.La deuxième permet une localisation précise (en distance) des différents lieux de défautspossibles à partir de mesures électriques. / This thesis proposes to improve fault localization methods for electricalpower distribution networks. Transmission networks were quickly equipped with protectionand fault localization equipments. Indeed, faults on the transmission network need tobe dealt with quickly in order to avoid serious consequences. Unlike transmission networks,distribution networks have a minimal protection scheme. The smart grid developmentsbring new possibilities with the installation of new equipments giving access to many newvariables. The work presented in this thesis develop two fault localization method. Thefirst aims in using the equipment already installed (fault indicators) in order to isolatequickly and efficiently the zone concerned by the fault. The second method performs aprecise localization (in distance) of the different possible fault locations from the electricalmeasurements made on the network.
|
Page generated in 0.1344 seconds