30881235
Criteria for generating specification-based tests
This paper presents general criteria for generating test inputs from state-based specifications. Software testing can only be formalized and quantified when a solid basis for test generation can be defined. Formal specifications of complex systems represent a significant opportunity for testing because they precisely describe what functions the software is supposed to provide in a form that can easily be manipulated. These techniques provide coverage criteria that are based on the specifications, and are made up of several parts, including test prefixes that contain inputs necessary to put the software into the appropriate state for the test values. The test generation process includes several steps for transforming specifications to tests. Empirical results from a comparative case study application of these criteria are presented.
1315911
An Object Semantic Model of SOFL
SOFL (Structured-Object-based-Formal Language) is recently proposed to combine the advantages of formal methods, structured methods and object-oriented methodology into one method for software development. SOFL integrates modeling techniques from VDM (for specifying system component state) and data flow diagrams with Petri nets (for specifying system behaviours and interaction). To support the standardisation and the tool support for SOFL, a formal semantics of the language is desirable. As SOFL is under further development, the semantic representation of current SOFL needs to be easily reused and extended. In this paper, an object-oriented approach is taken to specify the semantics of SOFL and this approach is proved to be effective in providing a modular and reusable semantic representation. Object modeling techniques, such as inheritance is used to illustrate the common and the differences between various SOFL graphical constructs; object containment is used to capture the acyclic structure of SOFL hierarchical module decomposition.
7866306
Two-level assurance of QoS requirements for distributed real-time and embedded systems
Assuring quality of service (QoS) requirements is critical when assembling a distributed real-time and embedded (DRE) system from a repository of existing software and hardware components. This paper presents a two-level approach for assuring satisfaction of QoS requirements in the context of a reduced design space for DRE systems. Techniques from artificial intelligence and statistics are used to fulfill these collective objectives at system assembly time. The result not only lessens the overhead of validation of QoS requirements at run-time, but also reduces the development and integration cost of DRE systems.
3093228
T-Clipse: an integrated development environment for two-level grammar
T-Clipse is an Integrated Development Environment (IDE) using Eclipse developed for Two-Level Grammar (TLG), a high-level formal specification language. In our research, given a programming language, TLG is used to specify the syntax and semantics of the language to generate an interpreter for that language. This IDE provides a user-friendly environment for editing and navigation of TLG source codes, as well as parsing and error tracing at the source code level and interpreter generation for programming languages. To build this IDE, we leveraged the extension power of plug-ins in Eclipse as well as a TLG parser prebuilt from an existing lexical analyzer generator and parser generator.
14632854
An Approach to Integration Testing Based on Data Flow Specifications
Integration testing of programs based on formal specifications can benefit considerably from the comprehensibility of specifications. In this paper, we describe an approach to testing programs based on data-flow-oriented specifications by analyzing data flow paths and discussing criteria for test case generation. This approach suggests a specific way to generate test cases directly from formalized data flow diagrams and the associated textual specifications. We apply the approach in a case study of testing part of an ATM system to evaluate its effectiveness in fault detection and to uncover its weakness for further improvement.
11824549
An approach to detecting domain errors using formal specification-based testing
Domain testing, a technique for testing software or portions of software dominated by numerical processing, is intended to detect domain errors that usually arise from incorrect implementations of desired domains. This paper describes our recent work aiming to provide support for revealing domain errors using formal specifications. In our approach, formal specifications serve as a means for domain modeling. We describe a strong domain testing strategy that guide testers to select a set of test points so that the potential domain errors can be effectively detected, and apply our approach in two case studies for test cases generation.
6979172
Encoding the Temporal Statistics of Markovian Sequences of Stimuli in Recurrent Neuronal Networks
Encoding, storing, and recalling a temporal sequence of stimuli in a neuronal network can be achieved by creating associations between pairs of stimuli that are contiguous in time. This idea is illustrated by studying the behavior of a neural network model with binary neurons and binary stochastic synapses. The network extracts in an unsupervised manner the temporal statistics of the sequence of input stimuli. When a stimulus triggers the recalling process, the statistics of the output patterns reflects those of the input. If the sequence of stimuli is generated through a Markov process, then the network dynamics faithfully reproduces all the transition probabilities.