Florentin Ipate
Romanian-American University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Florentin Ipate.
International Journal of Computer Mathematics | 1997
Florentin Ipate; Mike Holcombe
Although a great deal of research has been done in the area of formal methods and their practical use for the specification and verification of software systems, testing issues are very seldom mentioned by those within the formal methods community. Almost all the methods currently used for testing software are experience based rather than theoretically founded methods. In particular, very few methods allow us to make any statement about the type or number of faults that remain undetected after testing is completed. This paper describes a method for using the existence of a formal specification as the basis for the development of a detailed functional testing strategy. By considering testing from a theoretical point of view we demonstrate that this method can provide a more convincing approach to the problem of detecting all faults. The formal method used, X-machines, is a blend of finite state machines, data structures and processing functions and provides a simple and intuitive way for specifying compute...
Software Testing, Verification & Reliability | 1998
Florentin Ipate; Mike Holcombe
Although testing is a major part of software development, it rarely gets the attention it deserves from researchers, partly because its foundations are weak and ill‐understood. The principal purpose of testing is to detect (and then remove) faults in a software system. However, very few of the existing methods allow the tester to make any precise statement about the type or number of faults that remain undetected after testing is completed. In particular, none of the main techniques used by the software industry can give serious guarantees that a system is fault‐free after testing has been completed. This paper advocates the use of a formal method both as a specification language and as the basis of a test data selection strategy. It presents a new method for generating test cases from this type of formal specification that provides a more convincing answer to the problem of detecting all faults in a software system. The method is reductionist in the sense that it guarantees that a system is fault‐free provided that its components are fault‐free; in turn, the same method could be used to test the resulting sub‐systems, so the reduction will continue until the components considered are either known to be correct or are fairly simple pieces of code that can be successfully tested using traditional methods. The formal method used, X‐machines, is a blend of finite state machines, data structures and processing functions and provides a simple and intuitive way of specifying computer systems. The use of X‐machines as a specification tool and the testing method are illustrated with a case study.
Formal Aspects of Computing | 2006
Kirill Bogdanov; Mike Holcombe; Florentin Ipate; L. Seed; Salim K. Vanak
The X-machine testing method has been developed as an application of the W-method to testing the control structure of an implementation, against a specification. The method was proven to demonstrate the equivalence of the behaviour of the two, subject to a number of conditions both a specification and an implementation are expected to satisfy, such as (1) determinism of the two and (2) that functions labelling arcs on a transition diagram of a specification control structure have been tested in advance. Since the original publication of the testing method, a number of extensions have been published, removing the restrictions mentioned above. This paper surveys the extensions of the X-machine testing method, for (1) testing of functions together with testing of a transition diagram, (2) equivalence testing of a non-deterministic implementation against a non-deterministic specification, (3) conformance testing of a deterministic implementation against a non-deterministic specification and (4) equivalence testing of a system of concurrently executing and communicating X-machines, against a specification.
Formal Aspects of Computing | 2000
Florentin Ipate; Mike Holcombe
Abstract. X-machines were proposed by Holcombe as a possible specification language and since then a number of further investigations have demonstrated that the model is intuitive and easy to use as well as general enough to cater for a wide range of applications. In particular (generalised) stream X-machines have been found to be extremely useful as a specification method and most of the theory developed so far has concentrated on this particular class of X-machines. Furthermore, a method for testing systems specified by stream X-machines exists and is proved to detect all faults of the implementation provided that the system meets certain initial requirements. However, this method can only be used to generate test sequences from deterministic X-machine specifications. In this paper we present the theoretical basis for a method for generating test sets from non-deterministic generalised stream X-machines.
Theoretical Computer Science | 2006
Florentin Ipate
Stream X-machines are a form of extended finite state machines that has received extensive study in recent years. A stream X-machine describes a system as a finite set of states, an internal store, called memory, and a finite number of transitions between the states, labelled by function names (the processing functions). One of the great benefits of using a stream X-machine to specify a system is its associated testing method. Under certain design for test conditions, this method produces a test suite that can determine the correctness of the implementation, provided that the processing functions of the stream X-machine specification have been correctly implemented (this can be checked by a separate testing process, using the same method or alternative functional methods). However, the application of the stream X-machine based testing method is often encumbered by the restrictive design for test conditions required. In practical applications, these conditions are achieved by designing extra functionality that will have to be disabled after testing has been completed. This is a time consuming process and can often be a source of error. This paper provides a strong generalisation of the existing method, which requires much laxer design for test conditions; these are naturally satisfied in practical applications and, furthermore, can be introduced into any stream X-machine specification without the need to add extra functionality. Consequently, the generalised method can be applied to virtually any system that can be specified by a stream X-machine.
Formal Aspects of Computing | 2004
Florentin Ipate
Abstract.One of the strengths of using stream X-machines to specify a system is that, under certain well defined conditions, it is possible to produce a test set that is guaranteed to determine the correctness of an implementation. However, the existing method assumes that the implementation of each processing function is proved to be correct before the actual testing can take place, so it only test the system integration. This paper presents a new method for generating test sets from a deterministic stream X-machine specification that generalises the existing integration testing method. This method no longer requires the implementations of the processing functions to be proved correct prior to the actual testing. Instead, the testing of the processing functions is performed along with the integration testing.
International Journal of Computer Mathematics | 1998
Florentin Ipate; Mike Holcombe
Ipate and Holcombe [6] present such an integrated approach by using a type of generalized machine, namely the stream X-machine, both as a specification tool and as a basis of a testing method. However, if this type of specification method is to become usable in a wide range of software applications and acceptable to a wide community of software engineers then there needs to be ways of refining existing specifications into more complex and more detailed versions. Also, for each such process of refinement, there needs to be methods of deriving the test set for the resulting machine from that of the initial machine. This paper present such a refinement and also provides a method for testing machines constructed through such a process of refinement.
Archive | 1995
Matt Fairtlough; Mike Holcombe; Florentin Ipate; Camilla R. Jordan; Gilbert Thomas Laycock; Duan Zhenhua
The problem of constructing a simple formal specification of a dynamic, time dependent system is addressed here. We use an intuitive state machine model which can be developed in a series of stages, each successive refinement adding new features and addressing new issues related to the design of the specification. The model used is fully general, unlike traditional state machine models, and can be supported by a test generation method that will provide a basis for an integrated design for the test specification method. The case study is the specification of a video cassette recorder system which is defined in a formal way with the minimum of mathematical notation.
IFAC Proceedings Volumes | 1995
Mike Holcombe; Florentin Ipate; Andreas Grondoudis
Abstract No existing methods of testing allow us to make any statement about the type or precise number of faults that remain undetected after testing is completed. In particular we are unable to state that specific components of the system are free from fault after testing has been concluded. We demonstrate that a new method for generating test cases allows us to make sensible claims about the level and type of faults remaining after the testing process is complete. The method is illustrated by a case study. Acknowledgement. The case study was carried out in collaboration with Daimler-Benz AG., Research and Technology, Berlin
Formal Aspects of Computing | 2008
Robert M. Hierons; Florentin Ipate
A stream X-machine (SXM) is a type of extended finite state machine with an associated development approach that consists of building a system from a set of trusted components. One of the great benefits of using SXMs for the purpose of specification is the existence of test generation techniques that produce test suites that are guaranteed to determine correctness as long as certain well-defined conditions hold. One of the conditions that is traditionally assumed to hold is controllability: this insists that all paths through the SXM are feasible. This restrictive condition has recently been weakened for testing from a deterministic SXM. This paper shows how controllability can be replaced by a weaker condition when testing a deterministic system against a non-deterministic SXM. This paper therefore develops a new, more general, test generation algorithm for testing from a non-deterministic SXM.