Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Prodromos Gerakios

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

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

Software engineering, systems software and programming languages · 5 · 5 first-author

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 · 100%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems › language semantics
core calculus
0.212013
Forsaking inheritance: supercharged delegation in DelphJ · OOPSLA 2013
Programming languages and type systems › object-oriented programming
delegation
0.212013
Forsaking inheritance: supercharged delegation in DelphJ · OOPSLA 2013
Programming languages and type systems › language semantics
formal semantics
0.212013
Forsaking inheritance: supercharged delegation in DelphJ · OOPSLA 2013
Programming languages and type systems › object-oriented programming
object-oriented language design
0.212013
Forsaking inheritance: supercharged delegation in DelphJ · OOPSLA 2013
Programming languages and type systems
type systems
0.212013
Forsaking inheritance: supercharged delegation in DelphJ · OOPSLA 2013
YearPublicationVenuePosition
2015 Foo: a minimal modern OO calculus
abstract
We present the Flyweight Object-Oriented (Fᴏᴏ) calculus for the modeling of object-oriented languages. Fᴏᴏ is a simple, minimal class-based calculus, modeling only essential computational aspects and emphasizing larger-scale features (e.g., inheritance and generics). Fᴏᴏ is motivated by the observation that recent language design work focuses on elements not well-captured either by traditional object calculi or by language-specific modeling efforts, such as Featherweight Java. Fᴏᴏ integrates seamlessly both nominal and structural subtyping ideas, leveraging the latter to eliminate the need for modeling object fields and constructors. Comparing to recent formalization efforts in the literature, Fᴏᴏ is more compact, yet versatile enough to be usable in multiple settings modeling Java, C#, or Scala extensions.
Prodromos Gerakios, Georgios Fourtounis 0001, Yannis Smaragdakis
FTfJP@ECOOP1
2014 Static safety guarantees for a low-level multithreaded language with regions
Prodromos Gerakios, Nikolaos S. Papaspyrou, Konstantinos Sagonas
Sci. Comput. Program.1
2013 Reified type parameters using Java annotations
abstract
Java generics are compiled by-erasure: all clients reuse the same bytecode, with uses of the unknown type erased. C++ templates are compiled by-expansion: each type-instantiation of a template produces a different code definition. The two approaches offer trade-offs on multiple axes. We propose an extension of Java generics that allows by-expansion translation relative to selected type parameters only. This language design allows sophisticated users to get the best of both worlds at a fine granularity. Furthermore, our proposal is based on Java 8 Type Annotations (JSR 308) and the Checker Framework as an abstraction layer for controlling compilation without changes to the internals of a Java compiler.
Prodromos Gerakios, Aggelos Biboudis, Yannis Smaragdakis
GPCE1
2013 Forsaking inheritance: supercharged delegation in DelphJ
abstract
We propose DelphJ: a Java-based OO language that eschews inheritance completely, in favor of a combination of class morphing and (deep) delegation. Compared to past delegation approaches, the novel aspect of our design is the ability to emulate the best aspects of inheritance while retaining maximum flexibility: using morphing, a class can select any of the methods of its delegatee and export them (if desired) or transform them (e.g., to add extra arguments or modify type signatures), yet without needing to name these methods explicitly and handle them one-by-one. Compared to past work on morphing, our approach adopts and adapts advanced delegation mechanisms, in order to add late binding capabilities and, thus, provide a full substitute of inheritance. Additionally, we explore complex semantic issues in the interaction of delegation with late binding. We present our language design both informally, with numerous examples, and formally in a core calculus.
Prodromos Gerakios, Aggelos Biboudis, Yannis Smaragdakis
OOPSLA1
2011 Dynamic deadlock avoidance in systems code using statically inferred effects
abstract
Deadlocks can have devastating effects in systems code. We have developed a type and effect system that provably avoids them and in this paper we present a tool that uses a sound static analysis to instrument multithreaded C programs and then links these programs with a run-time system that avoids possible deadlocks. In contrast to most other purely static tools for deadlock freedom, our tool does not insist that programs adhere to a strict lock acquisition order or use lock primitives in a block-structured way, thus it is appropriate for systems code and OS applications. We also report some very promising benchmark results which show that all possible deadlocks can automatically be avoided with only a small run-time overhead. More importantly, this is done without having to modify the original source program by altering the order of resource acquisition operations or by adding annotations.
Prodromos Gerakios, Nikolaos S. Papaspyrou, Konstantinos Sagonas, Panagiotis Vekris
PLOS@SOSP1