Explore chapters and articles related to this topic
Hazard and Risk Analysis
Published in Richard C. Fries, Handbook of Medical Device Design, 2019
Avoiding a hazard all together is the best of all possible methods. Avoidance can be achieved by using different technology (electrical, optical, pneumatic), different agents (less hazardous chemicals) and different materials (less flammable, higher thermal insulation). Unfortunately using these methods is not always possible or will itself generate an entire new set of hazards. However it is a useful exercise during a hazard analysis to evaluate if avoidance is possible and to document if this approach is not feasible. Avoidance is the prime method in handling systematic errors in software. Since fault detection and control mechanisms are difficult to implement or limited in their effectiveness, avoiding programming and design failures is extremely important. A software development process controlled by effective software quality assurance measures can ensure a high level of ‘bug’ avoidance.
B
Published in Philip A. Laplante, Comprehensive Dictionary of Electrical Engineering, 2018
buffering (1) the process of moving data into or out of buffers or to use buffers to deal with input/output from devices. See also buffer, buffered input/output. (2) in optics, material surrounding the optical fiber that provides the first layer of protection from physical and environmental damage. The buffering is usually surrounded by one or more layers of jacketing material for additional physical protection of the fiber. bug (1) an error in a programmed implementation (may be either hardware or software). Bugs may refer to errors in correctness or performance. (2) a syntactical or logical error in a computer program. A name attributed to early computers and electronic testing. built-in logic block observer technique that combines the basic features of scan designs, pseudo-random test pattern generation, and test result signature analysis. built-in self-test (BIST) special hardware embedded into a device (VLSI chip or a board) used to perform self testing. On-line BIST assures testing concurrently with normal operation (e.g., accomplished with coding or duplication techniques).
Force-System Resultants and Equilibrium
Published in Richard C. Dorf, The Engineering Handbook, 2018
Many efficient algorithms require the use of pointers and dynamically allocated data structures. In languages such as C, programs manage a memory space known as the “heap” for dynamically allocated data. A program can allocate and deallocate heap space, and it can access and update heap objects. The “do-it-yourself” style of heap management can lead to efficient programs but also to nasty bugs. For example, a program may reference a memory area after it has been deallocated, a bug known as the “dangling pointer” error. A program might also keep allocating heap space indefinitely, a bug known as a “memory leak.” Some of these problems can be avoided by dealing with the heap at a higher level of abstraction and leaving the details to a memory management system. The memory manager is a part of the run-time system which is present during the execution of a program.
Deep mining of open source software bug repositories
Published in International Journal of Computers and Applications, 2022
Bug tracking systems (e.g. Bugzilla and Jira) are utilized by large scale software projects in the maintenance phase to store bug information and fixes [1,2]. Such systems include repositories to hold bug reports submitted by developers and users of the software. The bug report includes a textual description of the bug in addition to some other attributes. When a bug report is submitted, it is analyzed by a personnel (triager) who decides whether there is a duplication of that bug or not, then determines its severity, priority and assign it to a developer to be fixed. The severity of a bug is an indicator of its impact on the system and is one of the factors that influence the priority of the bug. High priority bug should be resolved immediately while low priority bug could be fixed in the forthcoming releases [1]. Therefore severity is considered one of the bug report’s crucial attributes. Bugzilla has seven levels to assess the severity of a bug; three levels indicate a bug with high severity (‘Blocker,’ ‘Critical,’ ‘Major’); two levels indicate low severity bug (‘Minor,’ ‘Trivial’); in addition to the ‘Enhancement’ and ‘Normal’ levels.