DEBUGGING EMBEDDED SYSTEMS CAM REPRESENT MORE THAN HALF OF ANEMBEDDED-software-PROJECT WORKLOAD. UNDERSTANDING HARDWARE-DEBUGGING FUNCTIONS AND THE ISSUES THEYTACKLE IS KEY TO SELECTING THE RIGHT CHIPS, BUILDING DEBUG...
详细信息
DEBUGGING EMBEDDED SYSTEMS CAM REPRESENT MORE THAN HALF OF ANEMBEDDED-software-PROJECT WORKLOAD. UNDERSTANDING HARDWARE-DEBUGGING FUNCTIONS AND THE ISSUES THEYTACKLE IS KEY TO SELECTING THE RIGHT CHIPS, BUILDING DEBUGGING SYSTEMS, AND INCREASING *** people erroneously credit the term 'bug' to Rear Admiral Grace Murray Hopper. In fact,however, no one knows where the term originated, and it may go back to Thomas A Edison or evenearlier. Nevertheless, US Naval Reservist Hopper found a moth that had short-circuited Relay #70,Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University onSept 9,1945. By removing the moth - that is, 'debugging' the computer, she solved the glitch thathad temporarily shut down the machine (Reference 1). Although that early example literally removed abug from a system's hardware, 'debugging' today refers to the process of understanding a programfailure and removing the defective code. A failure includes any small deviation from the originalintention, and removing the defective code is much better than adding correction code. In an idealsituation, all characteristics, such as bus and register values of a system, would be accessible atany time for monitoring and modification. But with ICs moving toward SOCs (systems on chips),accessibility becomes more difficult.
For mission critical programs, integer overflow is one of the most dangerous faults. Different testing methods provide several effective ways to detect the defect. However, it is hard to validate the testing outputs, ...
详细信息
For mission critical programs, integer overflow is one of the most dangerous faults. Different testing methods provide several effective ways to detect the defect. However, it is hard to validate the testing outputs, because the oracle of testing is not always available or too expensive to get, unless the program throws an exception obviously. In the present study, the authors conduct a case study, where the authors apply a metamorphic testing (MT) method to detect the integer overflow defect and alleviate the oracle problem in testing critical program of Traffic Collision Avoidance System (TCAS). Experimental results show that, in revealing typical integer mutations, compared with traditional safety property testing method, MT with a novel symbolic metamorphic relation is more effective than the traditional method in some cases.
The causes of a computer program's failure are often a complex mix of interactions between developer-written code and library code. To reduce debugging time and effort, the Signpost system uses a program's beh...
详细信息
The causes of a computer program's failure are often a complex mix of interactions between developer-written code and library code. To reduce debugging time and effort, the Signpost system uses a program's behavior to query a knowledge base and automatically retrieve articles that describe known bugs and approaches.
The article on the Veritesting dynamic symbolic execution and path merging or static symbolic execution testing technique for automating softwaretesting as a method of solving the 'path explosion' problem is ...
详细信息
The article on the Veritesting dynamic symbolic execution and path merging or static symbolic execution testing technique for automating softwaretesting as a method of solving the 'path explosion' problem is presented. The bug identification rate of MergePoint software with veritesting is compared to MergePoint without veritesting using Debian binaries and verification-based algorithms are presented as a technique to enhance symbolic execution.
GPflow is a Gaussian process library that uses TensorFlow for its core computations and Python for its front end. 1 The distinguishing features of GPflow are that it uses variational inference as the primary approxima...
详细信息
GPflow is a Gaussian process library that uses TensorFlow for its core computations and Python for its front end. 1 The distinguishing features of GPflow are that it uses variational inference as the primary approximation method, provides concise code through the use of automatic differentiation, has been engineered with a particular emphasis on softwaretesting and is able to exploit GPU hardware.
PROGRAMMING, THOUGH A creative activity, poses strict demands on its human practitioners in terms of precision, and even talented programmers make mistakes. The effect of a mistake can manifest in several ways-as a pr...
详细信息
PROGRAMMING, THOUGH A creative activity, poses strict demands on its human practitioners in terms of precision, and even talented programmers make mistakes. The effect of a mistake can manifest in several ways-as a program crash, data corruption, or unexpected output. Debugging is the task of locating the root cause of an error from its observable manifestation. It is a challenge because the manifestation of an error might become observable in a program's execution much later than the point at which the error infected the program state in the first place. Stories abound of heroic efforts required to fix problems that cropped up unexpectedly in software that was previously considered to be working and dependable. Given the importance of efficient debugging in overall software productivity, computer-assisted techniques
The article presents a case study on the experience of a subdivision of FedEx, a Fortune 500 global courier delivery firm, in implementing the business rules approach and examines its effects on softwaretesting throu...
详细信息
The article presents a case study on the experience of a subdivision of FedEx, a Fortune 500 global courier delivery firm, in implementing the business rules approach and examines its effects on softwaretesting throughout the software development life cycle (SDLC). Topics include business rules management systems (BRMSs), adoption and implementation of available BMRS products such as iLog and Tibco, and benefits and challenges of using business rules approach.
Static program analysis techniques cannot know certain values, such as the value of user input or network state, at analysis time. While such unknown values need to be treated as nondeterministic choices made by the p...
详细信息
Static program analysis techniques cannot know certain values, such as the value of user input or network state, at analysis time. While such unknown values need to be treated as nondeterministic choices made by the program's execution environment, it is still possible to glean very useful information about how such statically unknown values may or must influence computation. We give a method for integrating such nondeterministic choices with an expressive static analysis. Interestingly, we cannot solve the resulting recursive constraints directly, but we give an exact method for answering all may and must queries. We show experimentally that the resulting solved forms are concise in practice, enabling us to apply the technique to very large programs, including an entire operating system.
This article presents a metaheuristic algorithm for testingsoftware, especially web applications, which can be modeled as a state transition diagram. We formulate the testing problem as an optimization problem and us...
详细信息
This article presents a metaheuristic algorithm for testingsoftware, especially web applications, which can be modeled as a state transition diagram. We formulate the testing problem as an optimization problem and use a simulated annealing (SA) metaheuristic algorithm to generate test cases as sequences of events while keeping the test suite size reasonable. SA evolves a solution by minimizing an energy function that is based on testing objectives such as coverage, diversity, and continuity of events. The suggested method includes a significance weight assigned to events, which leads to important web pages and ensures coverage of relevant features by test cases. The experimental results demonstrate the effectiveness of simulated annealing and show that SA yields good results for testing web applications in comparison with other heuristics.
The article presents a discussion of methods for testing complex computer programs by modeling subsets of their architecture. It is noted that this is a useful method for detecting problems of scaling before extensive...
详细信息
The article presents a discussion of methods for testing complex computer programs by modeling subsets of their architecture. It is noted that this is a useful method for detecting problems of scaling before extensive resources are committed to systems development, and is also helpful in terms of debugging complicated systems. Examples are provided involving Windows software by Microsoft. The advantages of constructing dummy modules, which can be used to duplicate the performance of a sub-system under various conditions without generating unnecessary data, are described.
暂无评论