37 citations found. Retrieving documents...
A. W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3):141--153, 1976.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Test Generation for the Communication-Based Model of Objects - Bogdanov, Simons, Holcombe (2002)   (Correct)

.... 4 :SUBJECT notify( smth( return(false) attach(obj) return(true) update( return(true) return(true) o2:OBSERVER o1:OBSERVER notify first Figure 3: The sequence diagram depicting an unexpected call of attach( while the subject is in the progress of notifying its observers [WS00, BK76, KSTM98] in Message Sequence Charts [RGG95] states can be used to indicate which objects have to be in which states at specific points in time. The ideas described in these references could be used for building state machines of the kind described in this paper from sequence diagrams describing ....

A. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, SE2 (3):141--153, September 1976.


Inductive Functional Programming Using Incremental - Program Transformation Roland   (Correct)

....and not only automatic implementation of algorithms that the ADATE user already knows. One major dimension along which to differentiate inductive inference systems is the amount of information in the specifications that they employ. At one extreme are systems that use traces of computations [1]. At the same end of the spectrum are systems requiring specifications that consist of input output pairs [2, 8, 10] or positive and negative examples as in inductive logic programming [6, 7, 9, 12] In such systems, the input output pairs or the examples must have a structure that corresponds to ....

....problem number i. 1. Consider the specification of a function split : a list a list a list that splits a list Xs into a pair of lists (Ys,Zs) such that the lengths of Ys and Zs differ by at most one. The split function is useful when implementing merge sort. The input output pair ( [1,2,3,4,5,6,7,8], 1,2,3,4] 5,6,7,8] obviously reflects the particular algorithm that chooses Ys to the first half of Xs and Zs to the second half. However, the following split algorithm is both simpler and faster. fun split nil = nil,nil) split (X1: Xs1) case split Xs1 of (Ys,Zs) X1: Zs,Ys) ....

[Article contains additional citation context not shown here]

A.W. Biermann and R. Krishnaswamy, Constructing programs from example computations, IEEE Transactions on Software Engineering 2 (1976) 141--153.


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

....of any dynamic tool that discovers high level specifications of the interfaces of classes. Also, unlike prior work, our system interleaves automatic test generation and specification discovery. All previous systems require a test suite. 6. 3 Automatic Programming Automatic programming systems [7, 9, 8, 2, 25, 43] discover programs from examples or synthesize programs from specifications by deduction. The programs are analogous to our specifications in that our specifications are high level descriptions of examples. Algorithmic program debugging [42] is similar to automatic programming and uses an ....

A. W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3):141--153, Sept. 1976. Springer Verlag. Preprint.


Synthesizing State-Based Object Systems from LSC Specifications - Harel, Kugler (2000)   (13 citations)  (Correct)

....exclusive MSCs, and the work is thus of special interest. The synthesis algorithm produces a state machine for an object selected by the user, and it is basically an application of an early algorithm of Biermann and Krishnaswamy that deals with constructing programs from example computations [6]. The work in [6] describes a setting in which the user performs example compu4 tations that are stored by the system. The system then automatically synthesizes the shortest (in the number of states) possible program capable of executing the observed examples. Furthermore, it is proved in [6] ....

....and the work is thus of special interest. The synthesis algorithm produces a state machine for an object selected by the user, and it is basically an application of an early algorithm of Biermann and Krishnaswamy that deals with constructing programs from example computations [6] The work in [6] describes a setting in which the user performs example compu4 tations that are stored by the system. The system then automatically synthesizes the shortest (in the number of states) possible program capable of executing the observed examples. Furthermore, it is proved in [6] that if the user has ....

[Article contains additional citation context not shown here]

Biermann, A.W., and R. Krishnaswamy, "Constructing Programs from Example Computations", IEEE Trans. Softw. Eng., SE-2 (1976), 141--153.


A Workbench for Synthesising Behaviour Models from Scenarios - Uchitel, Kramer (2001)   (6 citations)  (Correct)

....to the ATM component turns out to be the same as the one for the previous specification (Figure 8) The complete example can be found in [13] 4.2. Domain specific assumptions Sysfft [8] presents the statechart synthesis algorithm implemented in SCED. The algorithm is based on the BKalgorithm [14] for constructing programs from example computations. In the synthesised statecharts, states are labelled with component actions (message outputs) and transitions with a sequence of events (message inputs) In addition, all states that represent the same action are merged as long as they do not ....

Biermann, A.W. and R. Krishnaswamy, Constructing Programs from Example Computations. 1EEE Transactions on Software Engineering, 1976, 2(3): p. 141-153.


Static And Dynamic Reverse Engineering Techniques for Java.. - Systä (2000)   (1 citation)  (Correct)

....(UML) 95, 85] A SCED state diagram notation can be characterized as a simplified UML statechart diagram notation. In SCED, state diagrams can be synthesized automatically from a set of scenario diagrams. The basic synthesis algorithm used was originally presented by Biermann and Krishnaswamy [7], and its adoption to state machine synthesis from scenarios is discussed by Koskimies and M akinen [54] This algorithm with a few modifications has been implemented in SCED [56] At any time during scenario editing the user can select one participating object and synthesize a state diagram ....

....a statechart diagram describes the total behavior of a single object. 52 A basic observation behind SCED is that the synthesis of a state diagram on the basis of given scenarios can be carried out automatically. The basic synthesis algorithm used has been presented by Biermann and Krishnaswamy [7], and its adoption to state machine synthesis from scenarios is discussed by Koskimies and M akinen [54] The Biermann Krishnaswamy algorithm (hereafter BK algorithm, for short) and the way it is applied in SCED are presented next. The notation and principles used closely follow those in [7] and ....

[Article contains additional citation context not shown here]

Biermann A.W. and Krishnaswamy, R., Constructing programs from example computations, IEEE Trans. Softw. Eng., 2, 3, 1976, pp. 141--153.


A Framework For Automated Performance Engineering of Distributed .. - El-Sayed (1999)   (2 citations)  (Correct)

....synthesizer, called a generator, integrating scenarios and state machines with various mechanisms. A cornerstone of SCED is the algorithm that synthesizes a state machine on the basis of a set of scenario diagrams. This algorithm is based on a known machine learning result by Biermann et al. [Biermann76]. SCED has also a number of other features: automated construction of scenario diagrams, automated simplification of state machines using OMT notation, automated layout of state machines, ability to visualize existing systems and produce their abstract behavior Page 19 as state machines of their ....

A.W. Biermann and R. Krishnaswamy, "Constructing programs from example computations", IEEE Transactions on Software Engineering, vol. 2, pp. 141153, 1976.


SCED: A Tool for Dynamic Modelling of Object Systems - Koskimies, Männistö, Systä.. (1996)   (8 citations)  (Correct)

....and vice versa. Hence, scenarios and state machines are complementary notions, and they should be constructed in concert, rather than one after the other. In this and the following section we will show how the fact that they share same information can be exploited in developing design tools. In [BiK76], Biermann and Krishnaswamy presented an algorithm for synthesizing programs from their example traces. The algorithm was used in an actual system that was able to synthesize programs on the basis of examples of sequences of primitive actions (like assignments) and assertions given by the ....

Biermann A.W. and Krishnaswamy R.: Constructing Programs from Example Computations, IEEE Trans. Softw. Eng. SE-2 (1976), 141-153.


Object-Oriented Software Evolution - Lieberherr, Xiao (1993)   (6 citations)  (Correct)

....them. A propagation pattern is usually developed and tested for an example schema, although a propagation pattern works for many more schemas. Therefore, propagation pattern programming is an advanced form of programming by example. Programming by example was an active topic in the early 1970s [BK76] Programs were derived from examples of inputs and corresponding outputs. In our case, we write a program for a sample data structure and we automatically generalize this program to other data structures. Meta level software structures Rao [Rao91] defines implementational reflection as ....

A.W. Biermann and R. Krishnasawamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, SE-2(3):141--153, Sept. 1976.


Engineering Adaptive Software - Lieberherr (1993)   (Correct)

....them. A propagation pattern is usually developed and tested for an example schema, although a propagation pattern works for many more schemas. Therefore, propagation pattern programming is an advanced form of programming by example. Programming by example was an active topic in the early 1970s [BK76] Programs were derived from examples of inputs and corresponding outputs. In our case, we write a program for a sample data structure and we automatically generalize this program to other data structures. ffl Meta level software structures Many mechanisms have been invented to make software ....

A.W. Biermann and R. Krishnasawamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, SE-2(3):141--153, Sept. 1976.


Generating Statechart Designs From Scenarios - Whittle, Schumann (2000)   (29 citations)  (Correct)

....to explicitly name each state in the FSM generated from a scenario. Different states are then merged if they have been given the same name. This approach requires a good deal of effort from the user, however. The SCED tool [13] generates FSMs from traces using the Biermann Krishnaswamy algorithm [3]. This algorithm uses backtracking to identify identical states in such a way that the final output FSM will be deterministic. As a result, there is no use of semantic information about the states and the algorithm ultimately may produce incorrect results by identifying two states that are in fact ....

A. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, SE2 (3):141--153, 1976.


Extracting State Diagrams From Legacy Systems - Systä, Koskimies (1997)   (2 citations)  (Correct)

....and fusing them into a state diagram can be supported by automated tools far more than what is done in current systems. The algorithm used for the state diagram synthesis was based on a method for synthesizing programs from their example traces originally presented by Biermann and Krishnaswamy in [BiK76] The Biermann Krishnaswamy (BK) algorithm was used in an actual system that was able to synthesize programs on the basis of examples of sequences of primitive actions (like assignments) and assertions given by the programmer using a partly graphical interface. Essentially, the user gives traces ....

Biermann A.W and Krishnaswamy R.: Constructing Programs from Example Computations, A777#R'exf##Qyp"###7xq#, Q7##, 1976, pp. 141-153.


Synthesis of Program Outlines from Scenarios in DYNAMO - Nørmark (1998)   (1 citation)  (Correct)

....and paste editing commands) into objects, and to install such command objects in invoker objects (such as in pop menu items) When the command is installed, it receives information about a receiver object (such as the document being edited) which will be affected by executing a command. Figure 2 shows a trace of the scenario from above. A trace shows the most important information about the scenario, as represented in DYNAMO, and it is the result of an ordered traversal of the tree of messages. As an alternative view, we also show an interaction diagram of the scenario, see figure 3. Both ....

....contribute to the method we are deriving from the scenarios. The challenge is here how to subsume a number of examples, found at various places in the set of scenarios, into a single method body that covers all the examples. To be concrete, we will assume that there are n message cases mc 1 , mc 2 , mc n of the message m in a class C. Each message case involves a message m i to some instance o i of C. Notice that m 1 , m 2 , m n are all instance of the same message m (and as such they have the same names) Also assume that the message case mc i , in turn, sends the messages m ....

[Article contains additional citation context not shown here]

A. W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, SE-2:141--153, 1976.


Deriving Classes from Scenarios in Object-oriented Design.. - Nørmark (1997)   (Correct)

....models from the dynamic models. More concrete, we will discuss to which degree it is possible to generate classes and methods from scenarios. In our context, a scenario is an example of object interactions, typically crossing the abstraction barriers defined by the underlying classes. Figure 1 shows an informal descrition of a scenario. This particular scenario is related to the command design pattern [ 2 ] The idea behind the command design pattern is to turn interactive commands (such as a cut and paste editing commands) into objects, and to install such command objects in ....

....method we are deriving from the scenarios. The challenge is here how to subsume a number of examples (found at various places in the scenarios) into a single description (a method body) which in some sense covers all the examples. To be concrete, we will assume that there are n message cases mc 1 , mc 2 , mc n of the message m in a class C. Each message case involves a message m to some instance o i of C. Message case mc i , in turn, sends the messages m i;1 , m i;2 , m i;n i from o i to the objects o i;j , i = 1: n, j = 1: n i . A concrete example, for three message cases is ....

[Article contains additional citation context not shown here]

A. W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, SE-2:141--153, 1976.


Tools for Presentation and Animation of Dynamic Models.. - Nørmark, Iversen, Madsen (1998)   (Correct)

....diagrams. In an object graph vertices represent objects and edges represent messages (or relations between objects via which it is possible to send messages) In an interaction diagram objects are represented by vertical lines, and messages are represented as arrows between the objects. Figure 1 shows comparable and stylized examples of the two kinds of diagrams. We will now discuss these two kinds of diagrams as the basis for tools in a dynamic modelling environment. An object graph is probably the most intuitive notation. People who discuss an object oriented design at a blackboard ....

....relative vertical positions of the edges: The vertical dimension represents time. If timing aspects have to be shown in a more conventional object graph, additional graphical details in terms of sequence numbers need to be added to the graph. Figure 2 shows a version of the object graph from figure 1 with sequence numbers. From a tool perspective it is relatively straightforward to draw an interaction diagram, primarily because there is no complicated layout problems that have to solved. However, as mentioned in [ 28 ] the number of objects that can be shown on the screen at a given point ....

[Article contains additional citation context not shown here]

A. W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, SE2: 141--153, 1976.


Synthesis of Program Outlines from Dynamic Models in DYNAMO - Nørmark (1997)   (Correct)

....about objects from above, it turns out to be difficult to extract knowledge about the inheritance relations between the underlying classes. It might, however, be possible to compare classes with respect to their class protocols. Let us briefly develop a concrete proposal along these lines. Let C 1 and C 2 be two different classes, and let PC1 and PC2 be the class protocols of C 1 and C 2 respectively. We may conjecture that C 2 inherit from C 1 if PC 1 PC 2 . 3 This is based on the heuristics that a subclass (C 2 ) extends the set of features which are inherited from its superclass (C 1 ....

....however, be possible to compare classes with respect to their class protocols. Let us briefly develop a concrete proposal along these lines. Let C 1 and C 2 be two different classes, and let PC1 and PC2 be the class protocols of C 1 and C 2 respectively. We may conjecture that C 2 inherit from C 1 if PC 1 PC 2 . 3 This is based on the heuristics that a subclass (C 2 ) extends the set of features which are inherited from its superclass (C 1 ) This is typically case, but not necessarily true in all object oriented programming languages (Eiffel [ 4 ] being one of the exceptions) In the ....

[Article contains additional citation context not shown here]

A. W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, SE-2:141--153, 1976.


Inductive Logic Programming: Theory And Methods - Muggleton, De Raedt (1994)   (253 citations)  (Correct)

....representation. Clearly universal representations promise much wider scope of applicability. Logic programs are arguably much easier to manipulate for a machine learning algorithm than other universal representations which have been investigated, such as Universal Turing Machines programs [14] and LISP programs [133, 12] This is due to the fact that in pure clausal logic changes can be made to a program by simply adding or deleting either complete clauses or literals within a clause without worrying about ordering effects. Since the semantics of logic programs are so closely allied to ....

A.W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3), 1976.


Process Programming by Hindsight - Pankaj Garg (1992)   (8 citations)  (Correct)

....based on explanation based generalization to synthesize process fragments by generalizing histories of previous activities. 2 Background The idea of synthesizing a program from a trace of computations is quite old and dates back to the Autoprogrammer system developed by Biermann and Krishnaswamy [3]. The Autoprogrammer system was based on the idea of dividing the responsibility of program construction by assigning to a human the task of furnishing a trace of an algorithm on example problems and the system the task of generating code that is consistent with the examples. In the past decade, ....

A. W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3):141--153, September 1976.


Toward Natural Language Computation - Alan Biermann Bruce (2001)   Self-citation (Biermann)   (Correct)

....adding something like an arithmetic expression handler is modest. Other con structs from programming languages which are shown to be convenient could also be considered for inclu sion. 1. 3 Background The NLC system has grown out of an earlier series of studies on the autoprogrammer (Biermann[6]) and bears much resemblance to it. Program synthesis in both the current and the previous systems is based upon example calculations done by the user on displayed data structures. In the current system, the example is done in restricted English with all its power, which is a dramatic departure ....

Biermann, A. and Krishnaswamy, R. "Constructing Programs From Example Computations", IEEE Transactions on Software Engineering, September, 1976, pp. 141-153.


Kernels on Prolog Proof Trees: Statistical Learning in .. - Passerini, Frasconi.. (2006)   (Correct)

No context found.

A. W. Biermann and R. Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3):141--153, 1976.


Dynamically Discovering Likely Program Invariants - Ernst (2000)   (108 citations)  (Correct)

No context found.

Alan W. Biermann and Ramachandran Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3):141-153, September 1976. 114


Automated Verification of State-based specifications against.. - Bontemps (2001)   (Correct)

No context found.

Alan Biermann W. & Ramachandran Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Sotware Engineering, vol. 2, pages 141--153, 1976.


Dynamically Discovering Likely Program Invariants - Ernst (2000)   (108 citations)  (Correct)

No context found.

Alan W. Biermann and Ramachandran Krishnaswamy. Constructing programs from example computations. IEEE Transactions on Software Engineering, 2(3):141-153, September 1976. 114


Automatic Synthesis of State Machines from Trace Diagrams - Koskimies, Mäkinen (1994)   (28 citations)  (Correct)

No context found.

A. W. Biermann and R. Krishnaswamy, `Constructing programs from example computations', IEEE Trans. Softw. Eng., SE-2, 141--153 (1976).


Scenario-based Synthesis of Annotated Class Diagrams in UML - Selonen, Systä (2000)   (Correct)

No context found.

Biermann A.W. and Krishnaswamy, R. Constructing programs from example computations, IEEE Trans. Softw. Eng., 2(3), 1976, 141-153.

First 50 documents

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