74 citations found. Retrieving documents...
John Guttag and James Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978. 119

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

The Transformational Paradigm as a Means of Smoothing Abrupt.. - Oliveira (1985)   (2 citations)  (Correct)

....with the proposal of alternative, transformational approaches to doing model refinement in VDM. This is intended to smooth such abrupt realization strategies, which are regarded as potential bottlenecks of the methodology. 1 Introduction During the past decade, work on abstract data types [1, 2, 3] has uncovered (and proposed solutions for) a great deal of defficiencies in the traditional way of developing software. This work has emphasized the need for formal (mathematical) support, and puts forward strategies whereby the specification of a piece of software (which should be as abstract as ....

Guttag J.V. and Horning J.J. The Algebraic Specification of Abstract Data Types, in Acta Informatica, 10, 27-52, 1978.


An Informal Formal Method for Systematic JUnit Test Case.. - Stotts, Lindsey, Antley (2002)   (6 citations)  (Correct)

....and execution support for the manner in which a programmer is already accustomed to developing test suites. We have developed and experimented with a systematic test suite generation method we call JAX (for Junit Axioms) based on Guttags algebraic semantics of Abstract Data Types (ADTs) [5,6,7]. Following the JAX method leads to JUnit test suites that completely cover the possible behaviors of a Java class. Our approach is simple and systematic. It will tend to generate more test methods than a programmer would by following the basic JUnit practice, but our preliminary experiments ....

....of ADTs The raison detre of JAX is to apply a systematic discipline to the otherwise informal (and possibly haphazard) process of creating effective test methods in JUnit test classes. A class to be developed is treated as an ADT (abstract data type) and the formal algebraic specification [5,6,7] of this ADT is then used as a guide to create a complete and consistent set of test methods. Guttags work is fundamental and, we think, underused in modern software methodologies; for this contribution he was recently recognized as a software pioneer along with Dijkstra, Hoare, Brooks, Wirth, ....

[Article contains additional citation context not shown here]

Guttag, J.V., and Horning, J.J., The Algebraic Specification of Abstract Data Types, Acta Informatica 10 (1978), pp. 27-52.


Model Variables: Cleanly Supporting Abstraction in.. - Cheon, Leavens.. (2003)   (3 citations)  (Correct)

....these helpers are open to use in client code just like all other public fields, methods, and types. As a result, they are more di#cult to While the query method approach can be used to write complete specifications, one has to use some discipline, such as that described by Guttag and Horning [11], to make sure that all methods are completely specified in the sense that trivial implementations are not allowed. For example, in Figure 2, the formal specifications given allow the contains method to always return true. 3 import org.jmlspecs.models. public abstract class ....

J. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10(1):27--52, 1978.


Estimating Software Reliability Using Inverse Sampling - Singh, Viveros, Parnas   (Correct)

....in correct behavior. For software considered reliable, inputs leading to failure are very rare; conversely software is considered unreliable if failure causing inputs occur frequently. TABLE I A Sample Portion of Code IF (FLAG[1] 0) THEN A1 . IF (FLAG[2] 0) THEN A2 . IF (FLAG[3] = 0) ffl THEN A50 . It may be argued that a complete solution to the software reliability problem would be to test every admissible input and debug those resulting in failure. While this may be a feasible and often resorted to approach in small programs, for most applications the number ....

....other situations in section V. C. Relevant Previous Work C.1. Specifications in Terms of Traces Work on specifying the required behavior of modules with internal state using assertions about traces began in 1977 with [1] but had its roots in earlier papers on algebraic specification such as [3]. Since that time many people have been interested in the problem, with [13, 17, 5, 12, 15, 4] yielding results that provide input to the present work. Wang s work [17] in particular lead to a simulator that can be used to determine whether or not an implementation satisfies a specification. C.2. ....

J.V. Guttag and J.J. Horning, "The Algebraic Specification of Abstract Data Types," Acta Informatica 10, pp. 27-52, 1978.


Discovering Algebraic Specifications from Java Classes - Henkel, Diwan (2003)   (5 citations)  (Correct)

....CCR 0085792 and CCR 0086255, and an IBM Faculty Partnership Award. Any opinions, findings and conclusions or recommendations expressed in this material are the authors and do not necessarily reflect those of the sponsors. Springer Verlag. Preprint. Our tool discovers algebraic specifications [22] from Java classes. Algebraic specifications can describe what Java classes implement without revealing implementation details. Our approach is as follows. We start by extracting the signatures of classes automatically using the Java reflection API. We use the signatures to automatically generate ....

....6 Related Work We now describe related work in algebraic specifications, dynamic invariant detection, automatic programming, static analysis, and testing. 6. 1 Algebraic Specifications We drew many ideas and inspirations from previous work in algebraic specifications for abstract data types [22]. Horebeek and Lewi [28] give a good introduction to algebraic specifications. Sannella et al. give an overview of and motivation for the theory behind algebraic specifications [41] A book by Astesiano et al. contains reports of recent developments in the algebraic specification community [5] ....

J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978.


Persistence in Algebraic Specifications - Wiedijk (1991)   (6 citations)  (Correct)

....research that is concerned with the topics that we treat here: checking the persistence of a modular specification and compiling specifications to programs in traditional programming languages. Checking persistence is closely related to checking sufficient completeness which was introduced in [Guttag, Horning, 1978] and developed in [Huet, Hullot, 1980] Bidoit, 1981] Dershowitz, 1982] Padawitz, 1983] Thiel, 1984] Rmy, Uhrig, 1988] In the ASF project two researchers, P.R.H. Hendriks and H.R. Walters, looked at the problem of how to make algebraic specifications executable. Their work can be found ....

J.V. Guttag, J.J. Horning, `The algebraic specification of abstract data types'. Acta Informatica 10, pp. 27-52, 1978.


Algebraic Specifications and Sequencing: A Defect Detection.. - Olender, Bieman   (Correct)

....using Larch as an example. 2 2 Background 2.1 Algebraic Specifications and Larch Formal specifications describe the behavior of systems using mathematical techniques. Several approaches can be used to write formal specifications including abstract modeling [17, 28] algebraic specifications [4, 10, 11], trace specifications [3, 21] and knowledge based methods [7, 27] Algebraic specifications are examined in the initial investigation. Using algebraic specifications, a system is specified primarily as a collection of abstract data types (ADT) each of which includes a specification of the ADT ....

....explicitly using error or exception values as results in the axioms, or implicitly by omission of an axiom. Figure 1 shows two example algebraic specifications of a stack ADT. The two examples demonstrate two ways to specify errors. The specification in Figure 1(A) uses the notation from Guttag [11]. In this example, error conditions are explicitly noted in the axioms. The specification in Figure 1(B) is written in LSL, the Larch Shared Language. Error conditions in this version are simply left undefined. Larch, a two tiered approach for software specification, has been used extensively ....

[Article contains additional citation context not shown here]

J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978.


Using Algebraic Specifications To Find Sequencing Defects - Kurt Olender James (1993)   (1 citation)  (Correct)

....then be used to automatically find defects in the sequencing of computations at compile time. 1. 1 Algebraic Specifications Formal specifications describe the behavior of systems using mathematical techniques, with several approaches including abstract modeling [4, 5] algebraic specifications [6, 7], trace specifications [8, 9] and knowledge based methods [10, 11] Algebraic specifications were selected in our initial investigation because languages that support them, such as Larch [12] are widely known and are well supported by tools. In addition, the equational nature of algebraic ....

....in the axioms, or implicitly by omission of an axiom. In this paper, we assume that error conditions are explicitly noted in the axioms, so that the axiomatization is sufficiently complete. Figure 1 is an example specification of a stack ADT. For simplicity, we use the notation from Guttag [7]. For additional information on algebraic specification techniques, see [13] 1.2 Cecil Cecil is a language for expressing sequencing constraints in software. A sequencing constraint is an assertion that defines legal sequences of particular computations, or events , that may occur during some ....

[Article contains additional citation context not shown here]

J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978.


Role of Verification in the Software Specification Process - Zelkowitz (1998)   (1 citation)  (Correct)

....relationships, we can formally define how a stack must behave. We do not care how it is implemented as long as the operations of push and pop obey these relationships. That is, these relationships now form a specification for a stack. In addition to (Guttag, 1980) the paper by Guttag and Hornlug (Guttag, 1978) provides much of the mathematical background for this theory. The use of term rewriting systems and the Knuth Bendix algorithm is a significant part of the proof methodology used to determine correctness of an algebraic specification. Two papers by Musser provide a good introduction to this model ....

Guttag J. and Horning J. J., The algebraic specification of abstract data types, Acta Informatica, 10, 27-52.


A Transformation Based on the Equality between Terms - Neumerkel (1993)   (4 citations)  (Correct)

....7 As long as the equations in E contain only terms in T old such an extension is considered trivial. No alternative representations could be constructed. Our notion of conservative extension can be seen as a restriction to the notion of consistency in rewrite systems and algebraic specifications [10]. A set of equations E is consistent if for all ground terms the condition above holds. i.e. consistency is a necessary but not su#cient condition to qualify E as a conservative extension. The following example gives an equation that qualifies as consistent but not as a conservative extension. F ....

J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978.


An Informal Formal Method for Systematic JUnit Test Case.. - Stotts, Lindsey, Antley (2002)   (6 citations)  (Correct)

....and execution support for the manner in which a programmer is already accustomed to developing test suites. We have developed and experimented with a systematic test suite generation method we call JAX (for Junit Axioms) based on Guttags algebraic semantics of Abstract Data Types (ADTs) [5,6,7]. Following the JAX method leads to JUnit test suites that completely cover the possible behaviors of a Java class. Our approach is simple and systematic. It will tend to generate more test methods than a programmer would by following the basic JUnit practice, but our preliminary experiments ....

....of ADTs The raison detre of JAX is to apply a systematic discipline to the otherwise informal (and possibly haphazard) process of creating effective test methods in JUnit test classes. A class to be developed is treated as an ADT (abstract data type) and the formal algebraic specification [5,6,7] of this ADT is then used as a guide to create a complete and consistent set of test methods. Guttags work is fundamental and, we think, underused in modern software methodologies; for this contribution he was recently recognized as a software pioneer along with Dijkstra, Hoare, Brooks, Wirth, ....

[Article contains additional citation context not shown here]

Guttag, J.V., and Horning, J.J., The Algebraic Specification of Abstract Data Types, Acta Informatica 10 (1978), pp. 27-52.


Relation Algebras over Containers and Surfaces: An.. - Egenhofer.. (1999)   (2 citations)  (Correct)

....to be a basic operation to define spatial relations associated with surfaces. M. Egenhofer and A. Rodrguez Journal of Spatial Cognition and Computation, Vol. 1, No. 2, pp. 155 180, 1999. 11 The natural language description of this ontology was translated into an algebraic specification [17, 29] and implemented in the functional programming language Gofer [24] Outcomes of the algebraic specification are [38] Spatial relations inside, outside, on, and off are defined without ambiguities based on four basic operations: move into, move onto, and remove from either a container or a ....

J. Guttag and J. Horning, "The Algebraic Specification of Abstract Data Types," Acta Informatica, vol. 10, pp. 27-52, 1978.


Theories, Implementations, and Transformations - Eric Hehner Ioannis   (Correct)

....to another. 0 Introduction A classic paper by Burstall and Goguen in 1977 [2] taught us to think about data types used in computer programs as logical theories, presented by axioms, whose properties can be explored by logical deduction. The following year, a paper by Guttag and Horning [4] developed the idea further, showing us the algebraic properties of data types presented as theories. Another important contribution came from Abrial [8] in the design of Z, and more recently B [1] He brought to theory design all the structuring and scoping that programming languages provide, ....

....nor associates to the right, but means a = b b = c . A mixture of continuing operators can be used; for example, a b c means a b b c . For further details on notation and basic theories please consult [5] or [6] 2 Theories Here is a little theory presented in a style similar to [2] and [4]. Theory0: names: chain, start, link, isStart signatures: start: chain link: chainchain isStart: chainbool axioms: isStart start c: chain isStart (link c) Theory0 introduces four new names into our vocabulary. The signatures section tells us something about the role these names will play ....

J.V.Guttag, J.J.Horning: "the Algebraic Specification of Abstract Data Types", Acta Informatica, volume 10 pages 27-52, 1978


The ASTOOT Approach to Testing Object-Oriented Programs - Doong, Frankl (1994)   (56 citations)  (Correct)

....of type T , functions which return values of types other than T are called observers, because they provide the only ways for us to query the contents of T . Functions which return values of type T are called constructors or transformers 2 . The 2 Transformers are called extensions in [16]. 4 distinction between constructors and transformers is clarified below. The semantic part of the specification consists of a list of axioms describing the relation between the functions. Some specification techniques allow for a list of preconditions describing the domains of the functions, ....

....we can use the axioms as rewrite rules to transform S 1 to S 2 3 . A specification can then be modeled by a heterogeneous word algebra, in which the elements are equivalence classes of sequences of operations. For a specification S to be useful, it must be consistent and sufficiently complete [16]. A consistent specification must not contain contradictory axioms, i.e. no contradiction should be derivable from any operation sequences of the specification. Let W be the set containing all the operation sequences consisting of constructors or transformers of S. S is sufficiently complete, if ....

J. J. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978.


Verifying the Specification-to-Code Correspondence for.. - Schweizer, Denzler (1997)   (1 citation)  (Correct)

....Preliminaries Algebraic specification techniques provide a sound basis to formalize correctness notions for program development steps. In this section a brief survey of notational conventions used in this paper is given. For in depth discussion of the subject, the reader is referred to e.g. [21, 20, 14, 38]. A context free grammar G is a quadruple hN; T; s 0 ; P i, where N is a set of nonterminal symbols, T is a set of terminal symbols, s 0 is the start non terminal and P is a set of production rules. L(G) designates the language generated by G. A signature is a pair Sigma = hS; Omega i where S ....

J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978.


Abstraction and Standardisation in the Spatial Domain - Winter, Nittel   (Correct)

....done by comments in text form. The requirements in the field of geographic information systems recently lead to proposals to use functional languages for writing algebraic specifications (Egenhofer and Frank, 1992; Frank and Kuhn, 1995, 1999; Kuhn, 1997; Frank, 1999) Algebraic specifications (Guttag and Horning, 1978; Horebeek and Lewi, 1989; Loeckx et al. 1996) provide the following features: they have a mathematical clean form, they are su#ciently abstract, they are constructive, which means they are executable and their behavior can be checked, and . modules can be combined to complex ....

....The spatial domain, as every complex domain, deals with several types, like Grid, Feature, or Geometry. Therefore, we need algebras that allow several types, and their composability. 4. 2 Multi sorted algebras Multi sorted algebras are proposed for abstract specifications in software engineering (Guttag and Horning, 1978; Horebeek and Lewi, 1989; Loeckx et al. 1996) Multi sorted algebras are structures consisting of some sets of objects (types) and a number of functions whose arguments and results belong to these sets (Horebeek and Lewi, 1989, p. 15) In the spatial domain we handle some types, like features ....

Guttag, J. V., Horning, J. J., 1978. The algebraic specification of abstract data types. Acta Informatica 10, 27--52.


Modal Logic and Algebraic Specifications - Moss, Thatte   (Correct)

....= A(v) Standardness essentially extends the notion of respecting the base to all Sigma ext terms of observable sort; i.e. it guarantees that the carriers of observable sorts will be exactly those in I base . A specification (base, ext) is said to be sufficiently complete iff I ext is standard [GH78]. The main theorem of final algebra semantics is: 4 THREE FUNDAMENTAL MODALITIES 6 Theorem 1 ( Wan77] For every sufficiently complete specification (base; ext) the category Rext has a final object. 4 Three Fundamental Modalities We show in this section that if the ideas of necessity and ....

J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10(1):27--52, 1978.


tjV"P< 's (Wuu Yang) - Wuuyang Cis Nctu   Self-citation (Guttag Horning)   (Correct)

....NSC 89 2213 E 009 146. #d##, Bb Pb 2, cA DECL xk B bQO DECL 4 DECL 4u##k : P # ##, Db # ## u j#J# ##, J P Vl# . #d3bh1u, PlbuAb#pU Bb6JPb b Cu2A#b, V[Ab .lb, #w , Bb. w A , u . #dT # #j PlbD P , Je# e G ( data type) Bb e GhV #, # j#, D Guttag D Horning j # [2], # N5T Bb j#, # ( P ) u xk DECL (first order language) V[ 7 DECL 5 4 TM, uY xkVd Bb j#, f7t (axioms) DRd (inference rules) Bb j Df t (axiomatic approach) 1, 3] E# f t, j4V TRoe , 7Bb j, u#[A tDRj , Bb Rj, 2 (semantic domain) 6u[A xk . #d (##HBb F A# 2. x###xk . #d52, ....

Guttag, J.V. and J.J. Horning, "The algebraic specification of abstract data types," in Programming Methodoly, pp. 282-308, Ed. D. Gries, Springer-Verlag, New York, 1978.


Unknown -   (Correct)

No context found.

John Guttag and James Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978. 119


A Tool for Writing and Debugging Algebraic Specifications - Henkel, Diwan (2004)   (1 citation)  (Correct)

No context found.

J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10:27--52, 1978.


Formal Methods and the Certification of Critical Systems - Rushby (1993)   (50 citations)  (Correct)

No context found.

John V. Guttag and James J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10(1):27--52, 1978.


Software Specification: A Comparison of Formal Methods - Gannon, Purtilo, Zelkowitz (2001)   (9 citations)  (Correct)

No context found.

J. V. Guttag and J.J. Horning, "The Algebraic Specification of Abstract Data Types," Acta Informatica, Vol. 10, 1978, pp. 27-52.


Unified Domains and Abstract Computational Structures - Calmet, Homann, Tjandra (1993)   (Correct)

No context found.

Guttag,J.V., The Algebraic Specification of Abstract Data Types, Acta Informatica 10, 27--52, Springer-Verlag, 1978.


Software Reuse in an Object Oriented Framework: - Distinguishing Types From   (Correct)

No context found.

J. Guttag and J. J. Horning "The Algebraic Specification of Abstract Data Types", Acta Informatica, 10, 1, pp. 27ff., 1978.


Class-is-Type is Inadequate for Object Reuse - Yu, Guo, Scheyen   (Correct)

No context found.

J.V.Guttag, J.J.Horning, The Algebraic Specification of Abstract Data Types, Programming Methodology, 282--308, Springer-Verlag, 1978.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC