Mathias Ricken

dblp:94/7007 · DBLP profile ↗
← Back
4ranked-venue papers
1as first author
0since 2021 · last 2010
—ORCID · none

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

Human-computer interaction and ubiquitous computing · 3 · 1 first-authorSoftware engineering, systems software and programming languages · 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
1 paper
Programming languages and type systems · 62% Runtime systems and virtual machines · 38%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems › metaprogramming
multi-stage programming
0.112010
Mint: Java multi-stage programming using weak separability · PLDI 2010
Runtime systems and virtual machines › dynamic compilation
run-time code generation
0.112010
Mint: Java multi-stage programming using weak separability · PLDI 2010
Programming languages and type systems › type systems
type soundness
0.012010
Mint: Java multi-stage programming using weak separability · PLDI 2010
Programming languages and type systems
type systems
0.012010
Mint: Java multi-stage programming using weak separability · PLDI 2010

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

lightweight java · 0.1formalization · 0.1
YearPublicationVenuePosition
2010 Mint: Java multi-stage programming using weak separability
abstract
Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the purely functional setting, it has been shown how MSP can be used to reduce the overhead of abstractions, allowing clean, maintainable code without paying performance penalties. Unfortunately, MSP is difficult to combine with imperative features, which are prevalent in mainstream languages. The central difficulty is scope extrusion, wherein free variables can inadvertently be moved outside the scopes of their binders. This paper proposes a new approach to combining MSP with imperative features that occupies a "sweet spot" in the design space in terms of how well useful MSP applications can be expressed and how easy it is for programmers to understand. The key insight is that escapes (or "anti-quotes") must be weakly separable from the rest of the code, i.e. the computational effects occurring inside an escape that are visible outside the escape are guaranteed to not contain code. To demonstrate the feasibility of this approach, we formalize a type system based on Lightweight Java which we prove sound, and we also provide an implementation, called Mint, to validate both the expressivity of the type system and the effect of staging on the performance of Java programs.
Edwin M. Westbrook, Mathias Ricken, Jun Inoue 0001, Yilong Yao, Tamer Abdelatif, Walid Taha
PLDI2
2010 Test-first Java concurrency for the classroom
abstract
Concurrent programming is becoming more important due to the growing dominance of multi-core processors and the prevalence of graphical user interfaces (GUIs). To prepare students for the concurrent future, instructors have begun to address concurrency earlier in their curricula. Unfortunately, test-driven development, which enables students and practitioners to quickly develop reliable single-threaded programs, is not as effective in the domain of concurrent programming. This paper describes how ConcJUnit can simplify the task of writing unit tests for multi-threaded programs, and provides examples that can be used to introduce students to concurrent programming.
Mathias Ricken, Robert Cartwright
SIGCSE1
2005 Design patterns for parsing
abstract
We provide a systematic transformation of an LL(1) grammar to an object model that consists of
Dung Zung Nguyen, Mathias Ricken, Stephen B. Wong
SIGCSE2
2004 Design patterns for marine biology simulation
abstract
We specify and implement a GUI application that simulates marine biological systems by making extensive use of object-oriented design patterns.The key design patterns are model-view-control, observer/observable, visitor, command, factory method and decorator. These design patterns help delineate the roles and responsibilities of the objects in the system, establish loose coupling between objects and arrange for the objects to communicate and cooperate with one another at the highest level of abstraction. The result is an application that exhibits minimal control flow, yet is powerful, robust, flexible and easy to maintain.Our work entails a non-trivial redesign of the current AP Computer Science Marine Biology Simulation case study and may serve as a case study for an introductory "object-first" curriculum.
Dung Zung Nguyen, Mathias Ricken, Stephen B. Wong
SIGCSE2