By Topic

Computer Languages, 1998. Proceedings. 1998 International Conference on

Date 16-16 May 1998

Filter Results

Displaying Results 1 - 25 of 28
  • Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225)

    Publication Year: 1998
    Request permission for commercial reuse | PDF file iconPDF (912 KB)
    Freely Available from IEEE
  • Author index

    Publication Year: 1998, Page(s): 282
    Request permission for commercial reuse | PDF file iconPDF (34 KB)
    Freely Available from IEEE
  • An operational semantics for probabilistic concurrent constraint programming

    Publication Year: 1998, Page(s):174 - 183
    Cited by:  Papers (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (212 KB)

    The paper investigates a probabilistic version of the concurrent constraint programming paradigm (CCP). The aim is to introduce the possibility to formulate so called “randomised algorithms” within the CCP framework. Differently from common approaches in (imperative) high level programming languages, which rely on some kind of random() function, we introduce randomness in the very defi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Type reconstruction for syntactic control of interference. 2

    Publication Year: 1998, Page(s):164 - 173
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (292 KB)

    Syntactic control of interference (SCI) (J.C. Reynolds, 1978) has long been studied as a basis for interference free programming, with cleaner reasoning properties and semantics than traditional imperative languages. The paper improves upon H. Huang and U.S. Reddy's (1996) type inference system for SCI based languages in two significant ways. First, we eliminate the need for explicit coercion oper... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Parallelization via context preservation

    Publication Year: 1998, Page(s):153 - 162
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (268 KB)

    Abstract program schemes, such as scan or homomorphism, can capture a wide range of data parallel programs. While versatile, these schemes are of limited practical use on their own. A key problem is that the more natural sequential specifications may not have associative combine operators required by these schemes. As a result, they often fail to be immediately identified. To resolve this problem,... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Data flow analysis across tuplespace process boundaries

    Publication Year: 1998, Page(s):272 - 281
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (292 KB)

    A current limitation of compilers for shared memory parallel languages is their restricted use of traditional code-improving transformations, such as constant propagation and dead code elimination. A major problem lies in the lack of data flow analysis techniques for programs with user-specified parallelism. The authors demonstrate how data flow analysis remains quite viable in a compiler for shar... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Controlled self-applicable on-line partial evaluation, using strategies

    Publication Year: 1998, Page(s):143 - 152
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (264 KB)

    Online partial evaluators are hardly ever self-applicable, because the complexity of deciding whether to residualize terms causes a combinatorial explosion when self-application is attempted. T. Mogensen (1995) has found a way to write a self-applicable online partial evaluator for the λ-calculus. His method is to regard every λ-term as having both static and dynamic aspects; then, a... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Loop optimization for aggregate array computations

    Publication Year: 1998, Page(s):262 - 271
    Cited by:  Papers (3)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (296 KB)

    An aggregate array computation is a loop that computes accumulated quantities over array elements. Such computations are common in programs that use arrays, and the array elements involved in such computations often overlap, especially across iterations of loops, resulting in significant redundancy in the overall computation. The paper presents a method and algorithms that eliminate such overlappi... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Combining functional and object-oriented programming methodologies in a large commercial application

    Publication Year: 1998, Page(s):111 - 117
    Cited by:  Papers (2)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (136 KB)

    Functional programming concepts of referential transparency and lazy evaluation combine effectively with object oriented encapsulation. We present a design pattern for C++ classes that are logically immutable and fully determined by the parameters of their constructor. Hidden state is used internally to cache the results of computation performed in the scope of accessors, giving them lazy semantic... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Security and dynamic class loading in Java: a formalisation

    Publication Year: 1998, Page(s):4 - 15
    Cited by:  Papers (3)  |  Patents (7)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (136 KB)

    We give a formal specification of the dynamic loading of classes in the Java Virtual Machine (JVM) and of the visibility of members of the loaded classes. This specification is obtained by identifying the part of the run-time state of the JVM that is relevant for dynamic loading and visibility and consists of a set of inference rules defining abstract operations for loading, linking and verificati... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automatic, template-based run-time specialization: implementation and experimental study

    Publication Year: 1998, Page(s):132 - 142
    Cited by:  Papers (8)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (296 KB)

    Specializing programs with respect to run time values has been shown to drastically improve code performance on realistic programs ranging from operating systems to graphics. Recently, various approaches to specializing code at run time have been proposed. However, these approaches still suffer from shortcomings that limit their applicability: they are manual, too expensive, or require programs to... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Formal callability and its relevance and application to interprocedural data-flow analysis

    Publication Year: 1998, Page(s):252 - 261
    Cited by:  Papers (1)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (260 KB)

    Formal callability is the problem of determining for every formal procedure call of a program the set of procedures it may call at run-time. This information is the key for constructing the procedure call graph of a program, a common prerequisite of static analyses of programs with procedures. Moreover, under specific side-conditions it reduces in interprocedural data-flow analysis the analysis of... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Path profile guided partial redundancy elimination using speculation

    Publication Year: 1998, Page(s):230 - 239
    Cited by:  Papers (16)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (252 KB)

    While programs contain a large number of paths, a very small fraction of these paths are typically exercised during program execution. Thus, optimization algorithms should be designed to trade off the performance of less frequently executed paths in favor of more frequently executed paths. However, traditional formulations to code optimizations are incapable of performing such a trade-off. The aut... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • The template and multiple inheritance approach into attribute grammars

    Publication Year: 1998, Page(s):102 - 110
    Cited by:  Papers (7)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (72 KB)

    Formal methods for describing programming language semantics, such as attribute grammars, operational semantics and denotational semantics, are not widely used since they are not modular, extensible and reusable. A novel modular, extensible and reusable approach for specifying programming languages with attribute grammars is presented. The concepts from object oriented programming, i.e. templates ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Dependence analysis for recursive data

    Publication Year: 1998, Page(s):206 - 215
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (340 KB)

    The paper describes a general and powerful method for dependence analysis in the presence of recursive data constructions. The particular analysis presented is for identifying partially dead recursive data, but the general framework for representing and manipulating recursive substructures applies to all dependence analyses. The method uses projections based on general regular free grammars extend... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automatic generation of microarchitecture simulators

    Publication Year: 1998, Page(s):80 - 89
    Cited by:  Papers (23)  |  Patents (2)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (300 KB)

    We describe the UPFAST system that automatically generates a cycle level simulator, an assembler and a disassembler from a microarchitecture specification written in a domain specific language called the Architecture Description Language (ADL). Using the UPFAST system, it is easy to retarget a simulator for an existing architecture to a modified architecture since one has to simply modify the inpu... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Reactive programming in Standard ML

    Publication Year: 1998, Page(s):48 - 57
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (112 KB)

    Reactive systems are systems that maintain an ongoing interaction with their environment, activated by receiving input events from the environment and producing output events in response. Modern programming languages designed to program such systems use a paradigm based on the notions of instants and activations. We describe a library for Standard ML that provides basic primitives for programming ... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Set constraints for destructive array update optimization

    Publication Year: 1998, Page(s):184 - 193
    Cited by:  Papers (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (208 KB)

    Destructive array update optimization is critical for writing scientific codes in functional languages. We present set constraints for an interprocedural update optimization that runs in polynomial time. This is a multi pass optimization, involving interprocedural flow analyses for aliasing and liveness. We characterize the soundness of these analyses using small step operational semantics. We hav... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Modular compilers based on monad transformers

    Publication Year: 1998, Page(s):122 - 131
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (256 KB)

    The monadic style of language specification has the advantages of modularity and extensibility: it is simple to add or change features in an interpreter to reflect modifications in the source language. It has proven difficult to extend the method to compilation. We demonstrate that by introducing machine-like stores (code and data) into the monadic semantics and then partially evaluating the resul... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Transactions for Java

    Publication Year: 1998, Page(s):16 - 27
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (112 KB)

    Jest is a Java VM extended to support transactions and general-purpose persistence. Jest allows Java programmers to manipulate any object using transactions and provides resilience to machine failure for these objects. Jest extends Java's current emphasis on safety and reliability to the safe and consistent management of permanent state. Our additions include syntax for transactions and run-time s... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An infrastructure for profile-driven dynamic recompilation

    Publication Year: 1998, Page(s):240 - 249
    Cited by:  Papers (3)  |  Patents (4)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (112 KB)

    Dynamic optimization of computer programs can dramatically improve their performance on a variety of applications. The paper presents an efficient infrastructure for dynamic recompilation that can support a wide range of dynamic optimizations including profile-driven optimizations. The infrastructure allows any section of code to be optimized and regenerated on-the-fly, even code for currently act... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Optimal code motion in the presence of large expressions

    Publication Year: 1998, Page(s):216 - 225
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (316 KB)

    Common algorithms for partial redundancy elimination that are sensitive to register pressure are designed from a single-expression point of view. For each computation under investigation unnecessary code motion is avoided as far as possible. Unfortunately, such a view is only adequate when dealing with a flat universe of expressions. In a more realistic setting where both composite expressions and... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Microprocessor specification in Hawk

    Publication Year: 1998, Page(s):90 - 101
    Cited by:  Papers (12)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (236 KB)

    Modern microprocessors require an immense investment of time and effort to create and verify, from the high level architectural design downwards. We are exploring ways to increase the productivity of design engineers by creating a domain specific language for specifying and simulating processor architectures. We believe that the structuring principles used in modern functional programming language... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Design and implementation of Triveni: a process-algebraic API for threads + events

    Publication Year: 1998, Page(s):58 - 67
    Cited by:  Papers (1)  |  Patents (1)
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (188 KB)

    We describe Triveni, a framework and API for integrating threads and events. The design of Triveni is based on an algebra, including preemption combinators, of processes. Triveni is compatible with existing threads standards, such as Pthreads and Java threads, and with the event models structured on the Observer pattern. We describe the software architecture and algorithms underlying a concrete im... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • A conservative technique to improve deterministic evaluation of logic programs

    Publication Year: 1998, Page(s):196 - 205
    Request permission for commercial reuse | Click to expandAbstract | PDF file iconPDF (268 KB)

    The performance of logic programs can be significantly improved by reducing nondeterminism in their evaluation using techniques for early pruning of computation paths that would eventually fail. Using static information gleaned from the program, we can identify (simple) conditions that must hold for certain computation paths to succeed, and test them before searching along those paths. However, na... View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.