Debugging Process

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 10470 Experts worldwide ranked by ideXlab platform

Peter Nightingale - One of the best experts on this subject based on the ideXlab platform.

  • CP - Metamorphic Testing of Constraint Solvers
    Lecture Notes in Computer Science, 2018
    Co-Authors: Özgür Akgün, Ian P. Gent, Christopher Jefferson, Ian Miguel, Peter Nightingale
    Abstract:

    Constraint solvers are complex pieces of software and are notoriously difficult to debug. In large part this is due to the difficulty of pinpointing the source of an error in the vast searches these solvers perform, since the effect of an error may only come to light long after the error is made. In addition, an error does not necessarily lead to the wrong result, further complicating the Debugging Process. A major source of errors in a constraint solver is the complex constraint propagation algorithms that provide the inference that controls and directs the search. In this paper we show that metamorphic testing is a principled way to test constraint solvers by comparing two different implementations of the same constraint. Specifically, specialised propagators for the constraint are tested against the general purpose table constraint propagator. We report on metamorphic testing of the constraint solver Minion. We demonstrate that the metamorphic testing method is very effective for finding artificial bugs introduced by random code mutation.

Margo Seltzer - One of the best experts on this subject based on the ideXlab platform.

  • provbuild improving data scientist efficiency with provenance an extended abstract
    International Conference on Software Engineering, 2020
    Co-Authors: Jiwon Joung, Maia Jacobs, Krzysztof Z Gajos, Margo Seltzer
    Abstract:

    Data scientists frequently analyze data by writing scripts. We conducted a contextual inquiry with interdisciplinary researchers, which revealed that parameter tuning is a highly iterative Process and that Debugging is time-consuming. As analysis scripts evolve and become more complex, analysts have difficulty conceptualizing their workflow. In particular, after editing a script, it becomes difficult to determine precisely which code blocks depend on the edit. Consequently, scientists frequently re-run entire scripts instead of re-running only the necessary parts. We present ProvBuild, a data analysis environment that uses change impact analysis [1] to improve the iterative Debugging Process in script-based workflow pipelines. ProvBuild is a tool that leverages language-level provenance [2] to streamline the Debugging Process by reducing programmer cognitive load and decreasing subsequent runtimes, leading to an overall reduction in elapsed Debugging time. ProvBuild uses provenance to track dependencies in a script. When an analyst debugs a script, ProvBuild generates a simplified script that contains only the information necessary to debug a particular problem. We demonstrate that Debugging the simplified script lowers a programmer’s cognitive load and permits faster re-execution when testing changes. The combination of reduced cognitive load and shorter runtime reduces the time necessary to debug a script. We quantitatively and qualitatively show that even though ProvBuild introduces overhead during a script’s first execution, it is a more efficient way for users to debug and tune complex workflows. ProvBuild demonstrates a novel use of language-level provenance, in which it is used to proactively improve programmer productively rather than merely providing a way to retroactively gain insight into a body of code. To the best of our knowledge, ProvBuild is a novel application of change impact analysis and it is the first Debugging tool to leverage language-level provenance to reduce cognitive load and execution time.

  • provbuild improving data scientist efficiency with provenance
    International Conference on Software Engineering, 2020
    Co-Authors: Jiwon Joung, Maia Jacobs, Krzysztof Z Gajos, Margo Seltzer
    Abstract:

    Data scientists frequently analyze data by writing scripts. We conducted a contextual inquiry with interdisciplinary researchers, which revealed that parameter tuning is a highly iterative Process and that Debugging is time-consuming. As analysis scripts evolve and become more complex, analysts have difficulty conceptualizing their workflow. In particular, after editing a script, it becomes difficult to determine precisely which code blocks depend on the edit. Consequently, scientists frequently re-run entire scripts instead of re-running only the necessary parts. We present ProvBuild, a data analysis environment that uses change impact analysis [1] to improve the iterative Debugging Process in script-based workflow pipelines. ProvBuild is a tool that leverages language-level provenance [2] to streamline the Debugging Process by reducing programmer cognitive load and decreasing subsequent runtimes, leading to an overall reduction in elapsed Debugging time. ProvBuild uses provenance to track dependencies in a script. When an analyst debugs a script, ProvBuild generates a simplified script that contains only the information necessary to debug a particular problem. We demonstrate that Debugging the simplified script lowers a programmer's cognitive load and permits faster re-execution when testing changes. The combination of reduced cognitive load and shorter runtime reduces the time necessary to debug a script. We quantitatively and qualitatively show that even though ProvBuild introduces overhead during a script's first execution, it is a more efficient way for users to debug and tune complex workflows. ProvBuild demonstrates a novel use of language-level provenance, in which it is used to proactively improve programmer productively rather than merely providing a way to retroactively gain insight into a body of code. To the best of our knowledge, ProvBuild is a novel application of change impact analysis and it is the first Debugging tool to leverage language-level provenance to reduce cognitive load and execution time.

  • improving data scientist efficiency with provenance
    International Conference on Software Engineering, 2020
    Co-Authors: Jiwon Joung, Maia Jacobs, Krzysztof Z Gajos, Margo Seltzer
    Abstract:

    Data scientists frequently analyze data by writing scripts. We conducted a contextual inquiry with interdisciplinary researchers, which revealed that parameter tuning is a highly iterative Process and that Debugging is time-consuming. As analysis scripts evolve and become more complex, analysts have difficulty conceptualizing their workflow. In particular, after editing a script, it becomes difficult to determine precisely which code blocks depend on the edit. Consequently, scientists frequently re-run entire scripts instead of re-running only the necessary parts. We present ProvBuild, a tool that leverages language-level provenance to streamline the Debugging Process by reducing programmer cognitive load and decreasing subsequent runtimes, leading to an overall reduction in elapsed Debugging time. ProvBuild uses provenance to track dependencies in a script. When an analyst debugs a script, ProvBuild generates a simplified script that contains only the information necessary to debug a particular problem. We demonstrate that Debugging the simplified script lowers a programmer's cognitive load and permits faster re-execution when testing changes. The combination of reduced cognitive load and shorter runtime reduces the time necessary to debug a script. We quantitatively and qualitatively show that even though ProvBuild introduces overhead during a script's first execution, it is a more efficient way for users to debug and tune complex workflows. ProvBuild demonstrates a novel use of language-level provenance, in which it is used to proactively improve programmer productively rather than merely providing a way to retroactively gain insight into a body of code.

Shigeru Yamada - One of the best experts on this subject based on the ideXlab platform.

  • Reliability Analysis Methods for an Embedded Open Source Software
    'IntechOpen', 2021
    Co-Authors: Yoshinobu Tamura, Shigeru Yamada
    Abstract:

    In this chapter, we have discussed the methods of reliability analysis for an embedded OSS developed under on an open source project. Especially, we have proposed a stochastic differential equation model in order to consider the active state of the open source project, where we have assumed that the software failure intensity depends on the time, and the software fault-reporting phenomena on the bug tracking system keep an irregular state. Moreover, we have derived several assessment measures in terms of imperfect Debugging of an entire system under such open source development paradigm. Especially, we have applied the exponential and S-shaped intensity functions of inherent software failures for the i -th component importance level to the interaction among components by using an acceleration parameters. Furthermore, we have shown the transitional probability of S(t) in Eq. (26). In case of considering the effect of Debugging Process on an entire system on software reliability assessment for open source projects, it is necessary to grasp the deeplyintertwined factors. In this chapter, we have shown that our method can describe such deeply-intertwined factors. Especially, we have applied BN technique in order to consider the effect of each software component on the reliability of an entire system under such open source development paradigm. By using the BN, we have proposed the method of reliability assessment incorporating the interaction among software components. Moreover, we have proposed the fault-detection rate based on BN used as the portability assessment measure for the embedded OSS. Finally, we have focused on an embedded OSS developed under open source projects. New distributed development paradigm typified by such open source project will evolve at

  • component oriented reliability analysis and optimal version upgrade problems for open source software
    Journal of Software, 2008
    Co-Authors: Yoshinobu Tamura, Shigeru Yamada
    Abstract:

    The current software development environment has been changing into new development paradigms such as concurrent distributed development environment and the so-called open source project by using network computing technologies. Especially, OSS (Open Source Software) systems which serve as key components of critical infrastructures in our society are still ever-expanding now. However, poor handling of quality attainment and customer support prohibit the progress of OSS. We focus on the problems in low software quality that prohibit the progress of OSS. In case of considering the effect of the Debugging Process on an entire system in the development of a method of reliability assessment for open source project, it is necessary to grasp the deeply-intertwined factors, such as programming path, size of each component, skill of fault reporter, and so on. In order to consider the effect of each software component on the reliability of an entire system under such OSS development, we propose a new approach to software reliability assessment by creating a fusion of neural networks and the software reliability growth models. Also, it has been necessary to manage the software development Process in terms of reliability, effort, and version-upgrade time. In this paper, we find the optimal version-upgrade time based on the total expected software maintenance effort by using our software reliability growth models.

  • software reliability assessment and optimal version upgrade problem for open source software
    Systems Man and Cybernetics, 2007
    Co-Authors: Yoshinobu Tamura, Shigeru Yamada
    Abstract:

    Network technologies have made rapid progress with the dissemination of computer systems in all areas. The current software development environment has been changing into new development paradigms such as concurrent distributed development environment and the so-called open source project by using network computing technologies. Especially, OSS (Open Source Software) systems which serve as key components of critical infrastructures in the society are still ever-expanding now. We focus on OSS developed under open source project. In case of considering the effect of the Debugging Process on an entire system in the development of a method of reliability assessment for open source project, it is necessary to grasp the deeply-intertwined factors, such as programming path, size of each component, skill of fault reporter, and so on. In order to consider the effect of each software component on the reliability of an entire system under such open source software development, we propose a new approach to software reliability assessment by creating a fusion of neural networks and a software reliability growth model. Also, it has been necessary to manage the software development Process in terms of reliability, effort, and version-upgrade time. In this paper, we find the optimal total version-upgrade time based on the total expected software maintenance effort.

Özgür Akgün - One of the best experts on this subject based on the ideXlab platform.

  • CP - Metamorphic Testing of Constraint Solvers
    Lecture Notes in Computer Science, 2018
    Co-Authors: Özgür Akgün, Ian P. Gent, Christopher Jefferson, Ian Miguel, Peter Nightingale
    Abstract:

    Constraint solvers are complex pieces of software and are notoriously difficult to debug. In large part this is due to the difficulty of pinpointing the source of an error in the vast searches these solvers perform, since the effect of an error may only come to light long after the error is made. In addition, an error does not necessarily lead to the wrong result, further complicating the Debugging Process. A major source of errors in a constraint solver is the complex constraint propagation algorithms that provide the inference that controls and directs the search. In this paper we show that metamorphic testing is a principled way to test constraint solvers by comparing two different implementations of the same constraint. Specifically, specialised propagators for the constraint are tested against the general purpose table constraint propagator. We report on metamorphic testing of the constraint solver Minion. We demonstrate that the metamorphic testing method is very effective for finding artificial bugs introduced by random code mutation.

Jiwon Joung - One of the best experts on this subject based on the ideXlab platform.

  • provbuild improving data scientist efficiency with provenance an extended abstract
    International Conference on Software Engineering, 2020
    Co-Authors: Jiwon Joung, Maia Jacobs, Krzysztof Z Gajos, Margo Seltzer
    Abstract:

    Data scientists frequently analyze data by writing scripts. We conducted a contextual inquiry with interdisciplinary researchers, which revealed that parameter tuning is a highly iterative Process and that Debugging is time-consuming. As analysis scripts evolve and become more complex, analysts have difficulty conceptualizing their workflow. In particular, after editing a script, it becomes difficult to determine precisely which code blocks depend on the edit. Consequently, scientists frequently re-run entire scripts instead of re-running only the necessary parts. We present ProvBuild, a data analysis environment that uses change impact analysis [1] to improve the iterative Debugging Process in script-based workflow pipelines. ProvBuild is a tool that leverages language-level provenance [2] to streamline the Debugging Process by reducing programmer cognitive load and decreasing subsequent runtimes, leading to an overall reduction in elapsed Debugging time. ProvBuild uses provenance to track dependencies in a script. When an analyst debugs a script, ProvBuild generates a simplified script that contains only the information necessary to debug a particular problem. We demonstrate that Debugging the simplified script lowers a programmer’s cognitive load and permits faster re-execution when testing changes. The combination of reduced cognitive load and shorter runtime reduces the time necessary to debug a script. We quantitatively and qualitatively show that even though ProvBuild introduces overhead during a script’s first execution, it is a more efficient way for users to debug and tune complex workflows. ProvBuild demonstrates a novel use of language-level provenance, in which it is used to proactively improve programmer productively rather than merely providing a way to retroactively gain insight into a body of code. To the best of our knowledge, ProvBuild is a novel application of change impact analysis and it is the first Debugging tool to leverage language-level provenance to reduce cognitive load and execution time.

  • provbuild improving data scientist efficiency with provenance
    International Conference on Software Engineering, 2020
    Co-Authors: Jiwon Joung, Maia Jacobs, Krzysztof Z Gajos, Margo Seltzer
    Abstract:

    Data scientists frequently analyze data by writing scripts. We conducted a contextual inquiry with interdisciplinary researchers, which revealed that parameter tuning is a highly iterative Process and that Debugging is time-consuming. As analysis scripts evolve and become more complex, analysts have difficulty conceptualizing their workflow. In particular, after editing a script, it becomes difficult to determine precisely which code blocks depend on the edit. Consequently, scientists frequently re-run entire scripts instead of re-running only the necessary parts. We present ProvBuild, a data analysis environment that uses change impact analysis [1] to improve the iterative Debugging Process in script-based workflow pipelines. ProvBuild is a tool that leverages language-level provenance [2] to streamline the Debugging Process by reducing programmer cognitive load and decreasing subsequent runtimes, leading to an overall reduction in elapsed Debugging time. ProvBuild uses provenance to track dependencies in a script. When an analyst debugs a script, ProvBuild generates a simplified script that contains only the information necessary to debug a particular problem. We demonstrate that Debugging the simplified script lowers a programmer's cognitive load and permits faster re-execution when testing changes. The combination of reduced cognitive load and shorter runtime reduces the time necessary to debug a script. We quantitatively and qualitatively show that even though ProvBuild introduces overhead during a script's first execution, it is a more efficient way for users to debug and tune complex workflows. ProvBuild demonstrates a novel use of language-level provenance, in which it is used to proactively improve programmer productively rather than merely providing a way to retroactively gain insight into a body of code. To the best of our knowledge, ProvBuild is a novel application of change impact analysis and it is the first Debugging tool to leverage language-level provenance to reduce cognitive load and execution time.

  • improving data scientist efficiency with provenance
    International Conference on Software Engineering, 2020
    Co-Authors: Jiwon Joung, Maia Jacobs, Krzysztof Z Gajos, Margo Seltzer
    Abstract:

    Data scientists frequently analyze data by writing scripts. We conducted a contextual inquiry with interdisciplinary researchers, which revealed that parameter tuning is a highly iterative Process and that Debugging is time-consuming. As analysis scripts evolve and become more complex, analysts have difficulty conceptualizing their workflow. In particular, after editing a script, it becomes difficult to determine precisely which code blocks depend on the edit. Consequently, scientists frequently re-run entire scripts instead of re-running only the necessary parts. We present ProvBuild, a tool that leverages language-level provenance to streamline the Debugging Process by reducing programmer cognitive load and decreasing subsequent runtimes, leading to an overall reduction in elapsed Debugging time. ProvBuild uses provenance to track dependencies in a script. When an analyst debugs a script, ProvBuild generates a simplified script that contains only the information necessary to debug a particular problem. We demonstrate that Debugging the simplified script lowers a programmer's cognitive load and permits faster re-execution when testing changes. The combination of reduced cognitive load and shorter runtime reduces the time necessary to debug a script. We quantitatively and qualitatively show that even though ProvBuild introduces overhead during a script's first execution, it is a more efficient way for users to debug and tune complex workflows. ProvBuild demonstrates a novel use of language-level provenance, in which it is used to proactively improve programmer productively rather than merely providing a way to retroactively gain insight into a body of code.