4 research outputs found

    Bridging the Gap Between Algebraic Specification and Object-Oriented Generic Programming

    No full text
    Abstract. Although sophisticated languages have been proposed for defining algebraic specifications, the relationships with OO implementations that have been established so far are restricted to very simple cases. Key aspects at the specification side s.a. genericity and subsorting are not covered, although they have obvious counterparts in OO programming that are extremely useful and popular. In this paper we establish a connection between algebraic specifications and objectoriented programs that takes these two aspects into account. More precisely, we propose an interpretation of specifications involving subsorting and parametrisation in terms of Java programs useful for defining a notion of conformance. This connection paves the way for the extension of CONGU, a tool-based approach we have been developing to support runtime checking of Java programs against algebraic specifications, so that it becomes applicable to a more comprehensive range of situations, namely those that appear in the context of a typical Algorithms and Data Structures course.

    A fault-location technique for Java implementations of algebraic specifications

    Get PDF
    Reviewed by Antónia LopesExecuting comprehensive test suits allows programmers to strengthen the confidence on their software systems. However, given some failed test cases, finding the faults' locations is one of the most expensive and time consuming tasks, thereby any technique that makes it easier for the programmer to locate the faulty components is highly desirable. In this paper we focus on finding faults in object-oriented, more precisely Java, implementations of data types that are described by algebraic specifications. We capitalize on the ConGu and GenT approaches, namely on the models for the specification under study and the corresponding generated JUnit test suits that cover all axioms of the specification, and present a collection of techniques and underlying methodology, that give the programmer a means to find the location of a fault that causes the implementation to violate the specification. We propose Flasji, a stepwise process for finding the faulty method, which is transparent to the programmer, that applies the proposed techniques to find a collection of initial suspect candidates and to subsequently decide the prime suspect among them. We carried out an experiment to evaluate Flasji and obtained very encouraging results

    Automatic generation of the cases derived from algebraic specifications

    Get PDF
    Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 201
    corecore