Chris Laffra

dblp:87/2064 · DBLP profile ↗
← Back
5ranked-venue papers
0as first author
0since 2021 · last 2002
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3Graphics, computer vision, multimedia, augmented reality and games · 1Theory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 62% Software maintenance and evolution · 31% Programming languages and type systems · 3%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

Topics — the 6 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › software reengineering
application extraction
0.122002
Practical extraction techniques for Java · ACM Trans. Program. Lang. Syst. 2002
Practical Experience with an Application Extractor for Java · OOPSLA 1999
Compilers and program optimization
dead code elimination
0.122002
Practical extraction techniques for Java · ACM Trans. Program. Lang. Syst. 2002
Practical Experience with an Application Extractor for Java · OOPSLA 1999
Compilers and program optimization
program specialization
0.012002
Practical extraction techniques for Java · ACM Trans. Program. Lang. Syst. 2002
Compilers and program optimization
code size reduction
0.011999
Practical Experience with an Application Extractor for Java · OOPSLA 1999
Programming languages and type systems › concurrent programming languages
concurrent object-oriented language
0.011989
PROCOL - A Parallel Object Language with Protocols · OOPSLA 1989
Concurrent programming
synchronization
0.011989
PROCOL - A Parallel Object Language with Protocols · OOPSLA 1989

Methods — techniques the papers use, named apart from their topics

inlining · 0.1modular specification · 0.1class hierarchy transformation · 0.1program transformation · 0.0class hierarchy simplification · 0.0per-object protocol · 0.0
YearPublicationVenuePosition
2002 Practical extraction techniques for Java
abstract
Reducing application size is important for software that is distributed via the internet, in order to keep download times manageable, and in the domain of embedded systems, where applications are often stored in (Read-Only or Flash) memory. This paper explores extraction techniques such as the removal of unreachable methods and redundant fields, inlining of method calls, and transformation of the class hierarchy for reducing application size. We implemented a number of extraction techniques in Jax , an application extractor for Java, and evaluated their effectiveness on a set of large Java applications. We found that, on average, the class file archives for these benchmarks were reduced to 37.5% of their original size. Modeling dynamic language features such as reflection, and extracting software distributions other than complete applications requires additional user input. We present a uniform approach for supplying this input that relies on MEL, a modular specification language. We also discuss a number of issues and challenges associated with the extraction of embedded systems applications.
Frank Tip, Peter F. Sweeney, Chris Laffra, Aldo Eisma, David Streeter
ACM Trans. Program. Lang. Syst.3
1999 Practical Experience with an Application Extractor for Java
abstract
Java programs are routinely transmitted over low-bandwidth network connections as compressed class file archives (i.e., zip files and jar files). Since archive size is directly proportional to download time, it is desirable for applications to be as small as possible. This paper is concerned with the use of program transformations such as removal of dead methods and fields, inlining of method calls, and simplification of the class hierarchy for reducing application size. Such “extraction” techniques are generally believed to be especially useful for applications that use class libraries, since typically only a small fraction of a library's functionality is used. By “pruning away” unused library functionality, application size can be reduced dramatically. We implemented a number of application extraction techniques in Jax, an application extractor for Java, and evaluate their effectiveness on a set of realistic benchmarks ranging from 27 to 2,332 classes (with archives ranging from 56,796 to 3,810,120 bytes). We report archive size reductions ranging from 13.4% to 90.2% (48.7% on average).
Frank Tip, Chris Laffra, Peter F. Sweeney, David Streeter
OOPSLA2
1991 PROCOL: A Concurrent Object-Oriented Language with Protocols Delegation and Constraints
Jan van den Bos, Chris Laffra
Acta Informatica2
1990 Project DIGIS Building Interactive Applications by Direct Manipulation
abstract
Abstract DIGIS is a design and implementation system for developers of general purpose interactive applications (IA). It is itself an interactive system that accomplishes its task by Direct Manipulation techniques, in principle without using a programming language. DIGIS is a generator in the form of a window‐based workbench. It has two input sources. One is a toolkit of predetined interaction tools consisting of prototypes and instances. The other is the set of predetined application procedures thai make up the application part of the IA. The application procedures do not handle user input but may handle textual or graphical screen output. The task of the developer is to build the user interface by selecting the appropriate interaction tools. tailor them to the interface, and tie them to application procedures. This includes the visual representations of interaction tools, their prompts, echoes and feedback. In the process he maps user input to parameter lists for the application procedures, and return parameters to interface output. DIGIS will also support the detinition of composite input (interaction patterns such as sequences). Unix and X are the initiat operating environment, adaption of the input sources to PCTE. OSF/Motif, and Open Look is feasible and anticipated. The design of DIGIS is based on a hierarchical interaction model that is the second focus of this paper. The implementation will be done using PROCOL, a locally developed concurrent object‐oriented language. which offers protocols that support composite input. The language is a superset of C, and therefore fully compatible with existing C libraries. ACM Categories and Subject Descriptors: D.2.2 [Software Engineering]: Tools and Techniques ‐user interfaces, programmer workbench; D.3.3 [Programming Language]: Language Constructs ‐input/output, programming structures; H.1.2 [Models and Principles]: User/Machine Systems ‐human factors; 1.3.6 [Computer Graphics]: Methodology and Techniques ‐ interaction techniques, ergonomics, languages:
Jan van den Bos, Chris Laffra
Comput. Graph. Forum2
1989 PROCOL - A Parallel Object Language with Protocols
abstract
PROCOL is a parallel C-based object-oriented language with communication based on one-way synchronous messages. Objects execute in parallel unless engaged in communication. Communication partners are defined by object instance identifiers, or by type. Therefore send-receive mappings may be 1-1, n-1, or 1-n, though only 1 message is transferred. PROCOL controls object access by a novel concept: an explicit per-object protocol. This protocol is a specification of the occurrence and sequencing of the communication between the object and its partners. Thus protocols support structured, safer and potentially verifiable information exchange between objects. Protocols also act as a composition rule over client objects, thereby offering a 'part-of' hierarchy of these cooperating objects.
Jan van den Bos, Chris Laffra
OOPSLA2