Two experiments were conducted to investigate the relationship between planning and debugging and the effect of program authorship on debugging strategies. Three groups of participants with different programming exper...
详细信息
Two experiments were conducted to investigate the relationship between planning and debugging and the effect of program authorship on debugging strategies. Three groups of participants with different programming experiences were recruited. In the first experiment, the participants were asked to develop and debug their self-generated program whereas in the second experiment, they were asked to debug an other-written program where some logical errors were planted. Situated cognition approach, being an emergent cognitive paradigm, furnishes an alternative framework to understand the problems of interest. Deweyan notion of inquiry and Gibsonian theory of affordance are of particular relevance. The results show that planning is ineffective for debugging, irrespective of the programming expertise level and program authorship. Besides, situated debugging is demonstrated to be the preferred strategy which is not significantly related to the program authorship. A model of planning for program debugging and a theory of two-faceted transparency are postulated for explicating the observations.
To ensure low failure and high reliability of fiber optic current transducers (FOCTs), it is urgent to study methods of condition monitoring and fault diagnosis in FOCT. Faults in FOCT have statistical characteristics...
详细信息
To ensure low failure and high reliability of fiber optic current transducers (FOCTs), it is urgent to study methods of condition monitoring and fault diagnosis in FOCT. Faults in FOCT have statistical characteristics. With the analyzing of time domain and frequency domain features in fiber optic current transformers' measurement data, we establish correspondence between the physical characteristics of key components in transformer and data features and then build diagnostic analysis model based on Allan variance. According to the Allan variance calculation results, we can diagnose fiber optic current transformer's health state and realize faults location. Experiment results show that diagnostic methods based on Allan variance are accurate and effective to identify fault features.
In commercial software development organizations, increased complexity of products, shortened development cycles, and higher customer expectations of quality have placed a major responsibility on the areas of software...
详细信息
In commercial software development organizations, increased complexity of products, shortened development cycles, and higher customer expectations of quality have placed a major responsibility on the areas of software debugging, testing, and verification. As this issue of the IBM Systems Journal illustrates, there are exciting improvements in the underlying technology on all three fronts. However, we observe that due to the informal nature of software development as a whole, the prevalent practices in the industry are still immature, even in areas where improved technology exists. In addition, tools that incorporate the more advanced aspects of this technology are not ready for large-scale commercial use. Hence there is reason to hope for significant improvements in this area over the next several years.
The work reported in the article seeks to expand the single-user-logbook approach to investigate the phenomenology of debugging across a large population of users, aiming to understand and address the problems of prof...
详细信息
The work reported in the article seeks to expand the single-user-logbook approach to investigate the phenomenology of debugging across a large population of users, aiming to understand and address the problems of professional programmers working on very large programming tasks. The author conducted a survey of professional programmers, asking them to describe their most difficult bugs involving large pieces of software. The survey was conducted through email and conferencing/bulletin board facilities with worldwide access, including Usenet newsgroups, the BYTE Information Exchange, Compuserve, and Applelink. An analysis of the debugging anecdotes collected form worldwide email trawl revealed three primary dimensions of interest: why the bugs were difficult to find, how the bugs were found, and root causes of bugs. The investigation highlights a potential wealth of information available on Internet and indicates it may be possible to establish an online repository for perusal by those with an urgent need to solve complex debugging problems.
The article examines methods through which collaboration may be integrated into system administration. The findings in this paper were elucidated through a study of system administrators, with the figure of an individ...
详细信息
The article examines methods through which collaboration may be integrated into system administration. The findings in this paper were elucidated through a study of system administrators, with the figure of an individual referred to as George serving to represent the complexity of system administration work. A Web administrator in a large information technology (IT) service delivery center, George provided numerous planning, deployment, maintenance, and troubleshooting tasks for customers. The author uses George’s role to discuss the nature of debugging, computer security administration, and the need for collaboration.
A good user interface brings the end user face-to-face with whatever is being manipulated and experienced. The article discusses about the experience of immediacy in a programming environment which draws the programme...
详细信息
A good user interface brings the end user face-to-face with whatever is being manipulated and experienced. The article discusses about the experience of immediacy in a programming environment which draws the programmer closer to the program. In such cases debugging is easier. The principle of immediacy can serve as a guide, keeping builders of programming environments on the path to productive environments. When programming environments convey the experience of immediacy, programmers perceive and manipulate the facets of the program and its unfolding computation with less conscious efforts and accelerate the debugging process. Authors describe how the principle of immediacy applies to debugging environments by describing ZStep 95, a program debugging environment based on the principle of immediacy. Three kinds of immediacy important for debugging, on which software designers should strive are explained in the article. These are: temporal immediacy, semantic immediacy, and spatial immediacy.
We consider system level diagnostics for multicore (modular) computational systems with multiple faults. Test results for faulty units correspond to the well-known model of Preparata, Metze, and Chien (PMC-model). We ...
详细信息
We consider system level diagnostics for multicore (modular) computational systems with multiple faults. Test results for faulty units correspond to the well-known model of Preparata, Metze, and Chien (PMC-model). We prove conditions for t-diagnosability without repair for systems whose structure is a symmetric circulant graph. We present the rules of comparative analysis for test results for units in the considered multicore system that ensure a correct and complete testing of its technical state for a number of faulty units that does not exceed a certain predefined threshold.
Programs written in C and C++ are susceptible to memory errors, including buffer overflows and dangling pointers. These errors, which can lead to crashes, erroneous execution, and security vulnerabilities, are notorio...
详细信息
Programs written in C and C++ are susceptible to memory errors, including buffer overflows and dangling pointers. These errors, which can lead to crashes, erroneous execution, and security vulnerabilities, are notoriously costly to repair. Tracking down their location in the source code is difficult, even when the full memory state of the program is available. Once the errors are finally found, fixing them remains challenging: even for critical security-sensitive bugs, the average time between initial reports and the issuance of a patch is nearly 1 month. We present Exterminator, a system that automatically corrects heap-based memory errors without programmer intervention. Exterminator exploits randomization to pinpoint errors with high precision. From this information, Exterminator derives runtime patches that fix these errors both in current and subsequent executions. In addition, Exterminator enables collaborative bug correction by merging patches generated by multiple users. We present analytical and empirical results that demonstrate Exterminator's effectiveness at detecting and correcting both injected and real faults.
IFRA, an acronym for Instruction Footprint Recording and Analysis, overcomes major challenges associated with a very expensive step in post-silicon validation of processors-pinpointing a bug location and the instructi...
详细信息
IFRA, an acronym for Instruction Footprint Recording and Analysis, overcomes major challenges associated with a very expensive step in post-silicon validation of processors-pinpointing a bug location and the instruction sequence that exposes the bug from a system failure, such as a crash. Special on-chip recorders, inserted in a processor during design, collect instruction footprints-special information about flows of instructions, and what the instructions did as they passed through various microarchitectural blocks of the processor. The recording is done concurrently during the normal operation of the processor in a post-silicon system validation setup. Upon detection of a system failure, the recorded information is scanned out and analyzed offline for bug localization. Special self-consistency-based program analysis techniques, together with the test-program binary of the application executed during post-silicon validation, are used for this purpose. Major benefits of using IFRA over traditional techniques for post-silicon bug localization are (1) it does not require full system-level reproduction of bugs, and (2) it does not require full system-level simulation. Hence, it can overcome major hurdles that limit the scalability of traditional post-silicon validation methodologies. Simulation results on a complex superscalar processor demonstrate that IFRA is effective in accurately localizing electrical bugs with 1% chip-level area impact.
Information-flow control mechanisms are difficult both to design and to prove correct. To reduce the time wasted on doomed proof attempts due to broken definitions, we advocate modern random-testing techniques for fin...
详细信息
Information-flow control mechanisms are difficult both to design and to prove correct. To reduce the time wasted on doomed proof attempts due to broken definitions, we advocate modern random-testing techniques for finding counterexamples during the design process. We show how to use QuickCheck, a property-based random-testing tool, to guide the design of increasingly complex information-flow abstract machines, leading up to a sophisticated register machine with a novel and highly permissive flow-sensitive dynamic enforcement mechanism that is sound in the presence of first-class public labels. We find that both sophisticated strategies for generating well-distributed random programs and readily falsifiable formulations of noninterference properties are critically important for efficient testing. We propose several approaches and evaluate their effectiveness on a collection of injected bugs of varying subtlety. We also present an effective technique for shrinking large counterexamples to minimal, easily comprehensible ones. Taken together, our best methods enable us to quickly and automatically generate simple counterexamples for more than 45 bugs. Moreover, we show how testing guides the discovery of the sophisticated invariants needed for the noninterference proof of our most complex machine.
暂无评论