ppxscal/embedding_network huggingface dataset:
An Applicable Family of Data Flow Testing Criteria
Authors: P. G. Frankl, E. J. Weyuker
Venue: IEEE Transactions on Software Engineering (1988)

The authors extend the definitions of the previously introduced family of data flow testing criteria to apply to programs written in a large subset of Pascal. They then define a family of adequacy criteria called feasible data flow testing criteria, which are derived from the data-flow testing criteria. The feasible data flow testing criteria circumvent the problem of nonapplicability of the data flow testing criteria by requiring the test data to exercise only those definition-use associations which are executable. It is shown that there are significant differences between the relationships among the data flow testing criteria and the relationships among the feasible data flow testing criteria. The authors discuss a generalized notion of the executability of a path through a program unit. A script of a testing session using their data flow testing tool, ASSET, is included.
Cutting legal loops
Authors: D. H. Berman
Venue: Proceedings of the 2nd international conference on Artificial intelligence and law (1989)

riverrun, past EVE and Adam's, from swerve of shore to bend of bay, brings us by a commodious vicus of recirculation back to Howth Castle and Enviorns. ***** A way a lone a last a loved a long the Joyce, FINNEGANS WAKE 1, 628 (1955) Recursion is the act of defining an object or solving a problem in terms of itself. A careless recursion can lead to an infinite regress. We avoid the bottomless circularity inherent in this tactic by demanding that the recursion be stated in terms of some &ldquo;simpler&rdquo; object, and by providing the definition or solution of some trivial base case. Properly used, recursion is a powerful problem solving technique, both in artificial domains like mathematics and computer programming, and in real life. Friedman Felleisen, THE LITTLE LISPER ix (1986)
Object-oriented programming for linear algebra
Authors: J. A. McDonald
Venue: Conference proceedings on Object-oriented programming systems, languages and applications (1989)

Many numerical analysts and Lisp/Smalltalk programmers share the assumption that languages like Fortran are more appropriate for traditional, quantitative scientific programming than object-oriented languages. To show how straightforward application of object-oriented design to standard algorithms in numerical linear algebra improves clarity and expressiveness, without sacrificing speed or accuracy, I describe parts of Cactus, a system for numerical linear algebra and constrained optimization, implemented in Common Lisp and CLOS.
Modeling of Hierarchical Distributed Systems with Fault-Tolerance
Authors: Yuan-Bao Shieh, Dipak Ghosal, Prasad R. Chintamaneni, Satish K. Tripathi
Venue: IEEE Transactions on Software Engineering (1990)

Since each of the levels in a hierarchical system could have various characteristics, different fault-tolerant schemes could be appropriate at different levels. A stochastic Petri net (SPN) is used to investigate various fault-tolerant schemes in this context. The basic SPN is augmented by parameterized subnet primitives to model the fault-tolerant schemes. Both centralized and distributed fault-tolerant schemes are considered. The two schemes are investigated by considering the individual levels in a hierarchical system independently. In the case of distributed fault tolerance, two different checkpointing strategies are considered. The first scheme is called the arbitrary checkpointing strategy. Each process in this scheme does its checkpointing independently; thus, the domino effect may occur. The second scheme is called the planned strategy. Here, process checkpointing is constrained to ensure no domino effect. The results show that, under certain conditions, an arbitrary checkpointing strategy can perform better than a planned strategy. The effect of integration on the fault-tolerant strategies of the various levels of a hierarchy are studied.
Competitive algorithms for on-line problems
Authors: Mark Manasse, Lyle McGeoch, Daniel Sleator
Venue: Proceedings of the twentieth annual ACM symposium on Theory of computing (1988)

An on-line problem is one in which an algorithm must handle a sequence of requests, satisfying each request without knowledge of the future requests. Examples of on-line problems include scheduling the motion of elevators, finding routes in networks, allocating cache memory, and maintaining dynamic data structures. A competitive algorithm for an on-line problem has the property that its performance on any sequence of requests is within a constant factor of the performance of any other algorithm on the same sequence. This paper presents several general results concerning competitive algorithms, as well as results on specific on-line problems.
Restructuring Lisp programs for concurrent execution
Authors: James R. Larus, Paul N. Hilfinger
Venue: Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems (1988)

This paper describes the techniques that the program transformation system CURARE uses to restructure Lisp programs for concurrent execution in multiprocessor Lisp systems and discusses the problems inherent in producing concurrent programs in a flexible and dynamic programming language such as Lisp. CURARE's overall organization is similar to other program restructuring systems: it detects potential conflicts between statements in a program, then transforms the program to improve its concurrent performance, and finally inserts synchronization to ensure the program's concurrent behavior. However, the language and programs that CURARE transforms are very different from the FORTRAN programs that are the traditional targets of program restructuring and so CURARE requires new algorithms and approaches, which are described in this paper.
Contemplations of a simulation navel or recognizing the seers among peers
Authors: Richard E. Nance
Venue: ACM SIGSIM Simulation Digest (1989)

The Model Development Environment Project has the goal of defining the software utilities and the database support needed for creating, validating, and experimenting with complex simulation models. This project review, emphasizing the needs and explaining some of the guiding concepts and principles, serves to underscore key issues extending beyond discrete event simulation. An introspective summary presents an optimistic reaction to the fear that technically naive modelers might use the more sophisticated capabilities to produce catastrophic results.
Methods for mechanical geometry formula deriving
Authors: S-C. Chou, X-S. Gao
Venue: Proceedings of the international symposium on Symbolic and algebraic computation (1990)

A precise formulation for the relations among certain variables under a set of polynomial equations and a set of polynomial inequations (to exclude certain special cases which cannot be excluded by the selection of parameters alone) is given. Several methods are presented to find such relations. The methods have been implemented and used to find geometry formulas, to discover geometry theorems, and to find geometry locus equations. About 120 non-trivial problems have been solved using the methods.
Optimistic implementation of bulk data transfer protocols
Authors: J. B. Carter, W. Zwaenepoel
Venue: Proceedings of the 1989 ACM SIGMETRICS international conference on Measurement and modeling of computer systems (1989)

During a bulk data transfer over a high speed network, there is a high probability that the next packet received from the network by the destination host is the next packet in the transfer. An optimistic implementation of a bulk data transfer protocol takes advantage of this observation by instructing the network interface on the destination host to deposit the data of the next packet immediately into its anticipated final location. No copying of the data is required in the common case, and overhead is greatly reduced. Our optimistic implementation of the V kernel bulk data transfer protocols on SUN-3/50 workstations connected by a 10 megabit Ethernet achieves peak process-to-process data rates of 8.3 megabits per second for 1-megabyte transfers, and 6.8 megabits per second for 8-kilobyte transfers, compared to 6.1 and 5.0 megabits per second for the pessimistic implementation. When the reception of a bulk data transfer is interrupted by the arrival of unexpected packets at the destination, the worst-case performance of the optimistic implementation is only 15 percent less than that of the pessimistic implementation. Measurements and simulation indicate that for a wide range of load conditions the optimistic implementation outperforms the pessimistic implementation.
Retrospectives I: the early years in computer graphics at MIT, Lincoln Lab, and Harvard
Authors: J. Hurst, M. S. Mhoney, N. H. Taylor, D. T. Ross, R. M. Fano
Venue: ACM SIGGRAPH 89 Panel Proceedings (1989)

I am Jan Hurst; welcome to Retrospectives. In early 1988, SIGGRAPH funded a project which was called Milestones, the History of Computer Graphics. We believed it was important to capture the early history since the graphics of tomorrow continues to build upon its past. We established goals, and one result was to begin a series of retrospectives which focus on specific aspects of the industry. Boston seemed like the perfect opportunity to focus on MIT, Lincoln Lab, and Harvard.I hope that you will get a sense from the pioneers as to what graphics was like in its infancy in Boston. I hope that you will enjoy hearing about their experiences as I have. They have been absolutely charming and inspirational to work with, and I'd like to thank all of them at this time.The speakers have many things to share with you, so I will be brief. I want to thank SIGGRAPH for supporting and encouraging this project and I want to thank the Pioneers for their willingness to share their experiences and their knowledge with all of us.I want to introduce you to Michael S. Mahoney, who will act as the moderator for the retrospectives. Mike is a professor at Princeton, he is in the program in the History of Science, he is editor of the ACM History Series, and he is a distinguished member of the Milestone Advisory Committee. Mike.
Rated and operating complexity of program&mdash;an extension to McCabe's theory of complexity measure
Authors: M. M. Sagri
Venue: ACM SIGPLAN Notices (1989)

Program complexity measure is arrived at using graph- theoretic method giving a cyclomatic number. However it has been found that programs with same cyclomatic number do not have same complexity. A simple extension to the measure is described in this paper to arrive at a better understanding of complexity. The program's complexity is divided into rated amp; operating complexity.
Actors as a special case of concurrent constraint (logic) programming
Authors: K. Kahn, Vijay A. Saraswat
Venue: Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications (1990)

Saraswat recently introduced the framework of concurrent constraint programming [14]. The essence of the framework is that computations consist of concurrent agents interacting by communicating constraints. Several concurrent constraint programming languages have been defined. They differ in the kinds of constraints that can be used as well as the kinds of operations on constraints which are available. In this paper we introduce a very simple concurrent constraint language we call Lucy, designed to closely mimic the actor model of computation. Agents can communicate only by the posting of constraints upon bags (un-ordered collections possibly with duplicate elements). This very impoverished concurrent constraint language is a syntactic subset of Janus, a concurrent constraint language which closely resembles concurrent logic programming languages such as Guarded Horn Clauses [21], Strand [5], Parlog [2] and Flat Concurrent Prolog [13]. By identifying the subset of Janus which is an actor language, we elucidate the relationship between actors and concurrent logic programming (and its generalization as concurrent constraint programming). Lucy is best not thought of as a unification of logic and constraint programming with actor and object-oriented programming, but as the missing link between these programming language genera.
File processing&mdash;a correctness approach
Authors: Richard M. Plishka
Venue: ACM SIGCSE Bulletin (1988)

This paper describes an upper-division course in file processing which is intended to satisfy the requirements of both theoretical and applications-oriented curricula. It emphasizes file processing concepts from a software engineering perspective. Attention is paid to the system life cycle and a correctness approach to design and coding.
Statistical issues in a general-purpose simulation modeling language
Authors: S. D. Roberts, R. W. Klein
Venue: Proceedings of the 21st conference on Winter simulation (1989)

INSIGHT, a general purpose discrete event simulation language, has been designed to be easy to learn and use, making simulation accessible to a community of users having little or no previous simulation or programming experience. Because the language also presumes that its users have minimal statistical expertise, considerable attention has been given to statistical issues within the language, so users can enjoy the benefits of sound statistical analysis without the burden of detailed specifications. A wide range of statistical input distribution types are provided, including a time-varying arrival process and the univariate and multivariate Johnson System. INSIGHT simulations automatically produce a summary report, designed to represent the behavior of the simulation from several perspectives. The experimental framework of INSIGHT promotes proper computation of the variance of means. Variance reduction using correlation induction can be easily invoked. A non-procedural method of extending summary statistics and producing statistics on arbitrary values is available. INSIGHT's attention to statistical issues makes sound statistical analysis a natural partner of modeling. The convenience of such statistics facilities promotes the routine use of statistical concepts in examining and constructing simulations.
ISR: A Database for Symbolic Processing in Computer Vision
Authors: J. Brolio, B. A. Draper, J. R. Beveridge, A. R. Hanson
Venue: Computer (1989)

ISR (international symbolic representation), a representation and management system for use at the intermediate (symbolic) level of vision, is described. ISR mediates access to intermediate-level vision data and forms an active interface to the higher-level inference processes that construct an image's interpretation. The system supports important types of data and operations and can be adapted to the changing needs of ongoing research. It provides a centralized data representation that supports integration of results from multiple avenues of research into the overall vision system. ISR's underlying computational paradigm is explained, database requirements for image interpretation are identified, the ISR data management system is described, and the use of ISR is discussed.
Orientation of 3-D Structures in Medical Images
Authors: T. L. Faber, E. M. Stokely
Venue: IEEE Transactions on Pattern Analysis and Machine Intelligence (1988)

A tensor-based moment function method and a principal-axes method were investigated for registering 3-D test images to a standard image using translation, scale, and orientation. These methods were applied at two image resolutions to test discretization effects. At the higher resolution, both methods were found to perform well in cases where the test image could be described as an affine transform of the standard. At low resolutions, however, and when the test image was not an affine transform of the standard, only the principal-axes-based method performed adequately. The problem of quantifying the left ventricular function from gated blood pool single-photo emission computed tomographic images is considered.
A formal model for context-free languages augmented with reduplication
Authors: Walter J. Savitch
Venue: Computational Linguistics (1989)

A model is presented to characterize the class of languages obtained by adding reduplication to context-free languages. The model is a pushdown automaton augmented with the ability to check reduplication by using the stack in a new way. The class of languages generated is shown to lie strictly between the context-free languages and the indexed languages. The model appears capable of accommodating the sort of reduplications that have been observed to occur in natural languages, but it excludes many of the unnatural constructions that other formal models have permitted.
Error-Control Coding in Computers
Authors: Eiji Fujiwara, Dhiraj K. Pradhan
Venue: Computer (1990)

In this article, intended for readers with basic knowledge in coding, the codes used in actual systems are surveyed. Error control in high-speed memories is examined, including bit-error-correcting/detecting codes, byte-error-correcting/detecting codes, and codes to detect single-byte errors as well as correct single-bit errors and detect double-bit errors. Tape and disk memory codes for error control in mass memories are discussed. Processor error control and unidirectional error-control codes are covered, including the application of the latter to masking asymmetric line faults.
An Overview of the Nexus Distributed Operating System Design
Authors: Anand R. Tripathi
Venue: IEEE Transactions on Software Engineering (1989)

Nexus is a distributed operating system designed to support experimental research in fault-tolerance techniques and object-oriented programming in distributed systems. The Nexus programming environment consists of objects, which are instances of abstract data types. Inheritance of types and multiple implementations for a type are supported by the system. Operations on objects are invoked, based on the remote-procedure-call paradigm and executed as atomic actions with provisions for application-controlled checkpointing and restart within actions. Nexus also supports parallel remote procedure calls. Interobject communication and location transparency in accessing objects is supported by the Nexus kernel.
Register allocation via clique separators
Authors: R. Gupta, M. L. Soffa, T. Steele
Venue: Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation (1989)

Although graph coloring is widely recognized as an effective technique for global register allocation, the overhead can be quite high, not only in execution time but also in memory, as the size of the interference graph needed in coloring can become quite large. In this paper, we present an algorithm based upon a result by R. Tarjan regarding the colorability of graphs which are decomposable using clique separators, that improves on the overhead of coloring. The algorithm first partitions program code into code segments using the notion of clique separators. The interference graphs for the code partitions are next constructed one at a time and colored independently. The colorings for the partitions are combined to obtain a register allocation for the program code. The technique presented is both efficient in space and time because the graph for only a single code segment needs to be constructed and colored at any given point in time. The partitioning of a graph using clique separators increases the likelihood of obtaining a coloring without spilling and hence an efficient allocation of registers for the program. For straight line code an optimal allocation for the entire program code can be obtained from optimal allocations for individual code segments. In the presence of branches, optimal allocation along one execution path and a near optimal allocation along alternative paths can be potentially obtained. Since the algorithm is highly efficient, it eliminates the need for a local register allocation phase.
The use of APL.68000 access to the Macintosh quickdraw system for the productio n of shadows cast by buildings
Authors: W. G. Julian
Venue: Proceedings of the international conference on APL (1987)

This paper describes the considerations involved in predicting the shapes of shadows cast by buildings for any hour, day or month of the year and for any location on Earth. The power of APL is demonstrated in the general solutions possible for the problem irrespective of the shape of the building provided that it is composed of regular cylinders or prisms. Direct access to the Macintosh Quickdraw functions allows the production of graphical output of high resolution and using any of the available printing fonts. The system described makes use of Macintosh menus and dialogue boxes for data input and workflow control. The result is a system with an appearance similar to other Macintosh applications, such as, MacWrite, Word or MacDraw and the user is unaware of the presence of APL.
Simplified task analysis and design for end-user interface design computing: implications for human/computer interface design (poster session)
Authors: V. J. Dubrovsky
Venue: ACM SIGCHI Bulletin (1989)

The paper suggests a structured task analysis and design technique which is based on the "levels-stages" model of a user action. The analysis of existing user tasks employs a top-down strategy. The first stage, dictated by the action model, decomposes the tasks into functional subtasks. The second stage decomposes the subtasks into functionally primitive subtasks according to the structure of the object. At the third stage, the functionally primitive subtasks are described in terms of operations with the object elements.
DTR: a defect-tolerant routing algorithm
Authors: A. Pitaksanonkul, S. Thanawastien, C. Lursinsap, J. A. Gandhi
Venue: Proceedings of the 26th ACM/IEEE Design Automation Conference (1989)

A new channel routing algorithm called DTR (Defect-Tolerant Routing) is investigated. This algorithm minimizes the total area and simultaneously maximizes the performance by reducing the critical area which can potentially be the source of logical faults caused by the bridging effects of spot defects. Experimental results show DTR produces less critical area than Yoshimura Kuh's algorithm [1].
A general model for concurrent and distributed object-oriented programming
Authors: D. Caromel
Venue: Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming (1988)

This summary presents a general model supporting object-oriented programming in concurrent as well as distributed environments.The model combines the advantages of remote procedure calls with those of message passing.It relies on the following concepts: bull; All objects are not active but the active entities are objects. bull; Asynchronous Message Passing with Data-driven synchronization. bull; Service mechanism allowing an explicit thread of control.
The program dependence graph and vectorization
Authors: W. Baxter, H. R. Bauer,  III
Venue: Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (1989)

Previous attempts at vectorizing programs written in a sequential high level language focused on converting control dependences to data dependences using a mechanism known as IF-conversion. After IF-conversion vector optimizations are performed on a data dependence graph. However, IF-conversion is an irrevocable process which can introduce high run-time overhead if the input program is not amenable to vectorization. This paper uses a program dependence graph as the intermediate representation for a vectorizing compiler. A program dependence graph explicitly represents both control and data dependences, allowing guard values to be generated for vectorized statements. Techniques have been developed to perform code motion on vectorization candidates, to validly eliminate all unnecessary control and data dependence cycles, and to regenerate the newly vectorized program consistent with a topological ordering based on the control and data dependences.