The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
This paper illustrates the application of formal specifications to software documentation and debugging by presenting a real-life scenario involving the use of a garbage collection package. It illustrates the advantages of using formal specifications over informal documentation. The paper also illustrates the usefulness of run-time checking tools that compares program behavior with their formal specifications...
Increasingly intelligent energy-management and safety systems are developed to realize safe and economic automobiles. The realization of these systems is only possible with complex and distributed software. This development poses a challenge for verification and validation. Upcoming standards like ISO 26262 provide requirements for verification and validation during development phases. Advanced test...
The variations in testing requirements often result in the problem of numerous test cases and low efficiency in regression testing. To solve this problem, a reduction method of testing requirements is proposed based on the relation mode in this paper. This method analyzes the relationship between the modules and testing requirements, then determines the varied regression testing requirements, and...
Software reliability refers to the probability of failure-free operation of a system. It is related to many aspects of software, including the testing process. Directly estimating software reliability by quantifying its related factors can be difficult. Testing is an effective sampling method to measure software reliability. Guided by the operational profile, software testing (usually black-box testing)...
Defect prevention techniques can be used during the creation of software artifacts to help developers create high-quality artifacts. These artifacts should have fewer faults that must be removed during inspection and testing. The Requirement Error Taxonomy that we have developed helps focus developers' attention on common errors that can occur during requirements engineering. Our claim is that, by...
The following topics are dealt with: fault tolerance; software reliability modeling; software availability modeling; software testing; formal methods; and system assurance.
Test case prioritization involves scheduling test cases in an order that increases the effectiveness in achieving some performance goals. One of the most important performance goals is the rate of fault detection. Test cases should run in an order that increases the possibility of fault detection and also that detects faults at the earliest in its testing life cycle. In this paper, an algorithm is...
Finite state automata are widely used in specification-based testing. However, the existing specification- based testing techniques do not fully automate the generation of an FSM from a formal specification. Major challenges in automatic generation of FSM are the identification of disjoint states and transitions from the implicit pre- and postconditions of operations specified in a formal language...
The following topics are dealt with: digital system design; system and circuit synthesis; systems and networks on chip; reconfigurable computing; system-level energy optimization of HW/SW embedded systems; multicore systems; fault tolerance in digital system design; embedded-software specification, modeling, verification and test; flexible digital radio; wireless sensor networks; dependability and...
Software testing techniques based on formal methods can reduce the uncertainty, improve accuracy, validity and degree of automation. In this paper, formal methods were introduced into the real-time embedded software testing field and a time-extended finite state machine, called t_EFSM, was proposed firstly. And then, based on the t_EFSM and combined with testing process of flight control software...
Several methods for automatic test case generation have been proposed in the past. But most of these techniques are structural testing techniques that require the understanding of the internal working of the program. We propose a generic framework for automating test suite generation based on decision tables which is a black-box testing technique. Although, decision table is an old technique for testing,...
Aimed at the large amount of test cases in handset's software testing and tremendous manual work, this paper adopted orthogonal experiment to generate test cases after comparing three algorithms which are genetic algorithm, formal specification and orthogonal experiment. By constructing the experiment and analysing their difficulties, maneuverability, coverage rate and rigour, etc, it is concluded...
Prioritizing requirements helps the project team to understand which requirements are most important and most urgent. Based on this finding a software engineer can decide what to develop/implement in the first release and what on the coming releases. Prioritization is also a useful activity for decision making in other phases of software engineering like development, testing, and implementation. There...
Software testing is an important step to help ensure that the software is behaving correctly. An important component of the test process is a test oracle, which determines if the software behavior is correct or not. In this paper, we present tools that enhance an integrated development environment to give the user the ability to write the formal specifications in a readable manner and generate test...
Software testing is an ultimate obstacle to the final release of software products. Software testing is also a leading cost factor in the overall construction of software products. On the one hand, model-based testing methods are new testing techniques aimed at increasing the reliability of software, and decreasing the cost by automatically generating a suite of test cases from a formal behavioral...
Component Based Software Development is gaining popularity in recent years. In this way of software development, software components, which are typically black-box components, are intensively reused to construct new systems. The existed component models describe the characteristics of component from different aspects. However, there is not certain information about component testing. In this paper,...
Previous approaches to search based test data generation tend to focus on coverage, rather than oracle cost. While there may be an aspiration that systems should have models, checkable specifications and/or contract driven development, this sadly remains an aspiration; in many real cases, system behaviour must be checked by a human. This painstaking checking process forms a significant cost, the oracle...
This paper presents the development of an automatic test case generator (ATCG) for testing safety-critical software systems based on the concepts of specification-based testing. The ATCG receives the specification of system under test in normal specification language form and the causes and effects are automatically extracted and it also will visualize the cause-effect graph specification model. Finally...
The large scale software system requires computational management techniques in engineering designs, implementations and maintains urgently. This paper discusses an approach of program understanding with mathematical foundations for computation of software behavior. Computational analyses automatically figure out possible behavior and security attributes of software components both for source files...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.