Demo Data from EDBT 2026 / reviewers in the wild / expert
George Balatsouras
dblp:136/1051
· DBLP profile ↗
6ranked-venue papers
2as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 2 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
3 papers |
Program analysis · 87% Programming languages and type systems · 13% |
Topics — the 5 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
pointer analysis |
0.4 | 2 | 2014 | Introspective analysis: context-sensitivity, across the board · PLDI 2014 Set-based pre-processing for points-to analysis · OOPSLA 2013 |
Program analysis
static analysis |
0.4 | 2 | 2014 | Introspective analysis: context-sensitivity, across the board · PLDI 2014 Class hierarchy complementation: soundly completing a partial type graph · OOPSLA 2013 |
Program analysis › static analysis › interprocedural analysis
context-sensitive analysis |
0.2 | 1 | 2014 | Introspective analysis: context-sensitivity, across the board · PLDI 2014 |
Program analysis › static analysis › incomplete code analysis
partial program analysis |
0.2 | 1 | 2013 | Class hierarchy complementation: soundly completing a partial type graph · OOPSLA 2013 |
Programming languages and type systems
type systems |
0.2 | 1 | 2013 | Class hierarchy complementation: soundly completing a partial type graph · OOPSLA 2013 |
Methods — techniques the papers use, named apart from their topics
introspective analysis · 0.2program rewriting · 0.2hierarchy completion algorithms · 0.2constraint computation · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | An efficient data structure for must-alias analysisabstractA must-alias (or “definite-alias”) analysis computes sets of expressions that are guaranteed to be aliased at a given pro- gram point. The analysis has been shown to have significant practical impact, and it is actively used in popular research frameworks and commercial tools. We present a custom data structure that speeds up must-alias analysis by nearly two orders of magnitude (while computing identical results). The data structure achieves efficiency by encoding multiple alias sets in a single linked structure, and compactly representing the aliasing relations of arbitrarily long expressions. We ex- plore the data structure’s performance in both an imperative and a declarative setting and contrast it extensively with prior techniques. With our approach, must-alias analysis can be performed efficiently, over large Java benchmarks, in under half a minute, making the analysis cost acceptable for most practical uses. George Kastrinis, George Balatsouras, Kostas Ferles, Nefeli Prokopaki-Kostopoulou, Yannis Smaragdakis |
CC | 2 |
| 2016 | Structure-Sensitive Points-To Analysis for C and C++
George Balatsouras, Yannis Smaragdakis |
SAS | 1 |
| 2015 | More Sound Static Handling of Java Reflection
Yannis Smaragdakis, George Balatsouras, George Kastrinis, Martin Bravenboer |
APLAS | 2 |
| 2014 | Introspective analysis: context-sensitivity, across the boardabstractContext-sensitivity is the primary approach for adding more precision to a points-to analysis, while hopefully also maintaining scalability. An oft-reported problem with context-sensitive analyses, however, is that they are bi-modal: either the analysis is precise enough that it manipulates only manageable sets of data, and thus scales impressively well, or the analysis gets quickly derailed at the first sign of imprecision and becomes orders-of-magnitude more expensive than would be expected given the program's size. There is currently no approach that makes precise context-sensitive analyses (of any flavor: call-site-, object-, or type-sensitive) scale across the board at a level comparable to that of a context-insensitive analysis. To address this issue, we propose introspective analysis: a technique for uniformly scaling context-sensitive analysis by eliminating its performance-detrimental behavior, at a small precision expense. Introspective analysis consists of a common adaptivity pattern: first perform a context-insensitive analysis, then use the results to selectively refine (i.e., analyze context-sensitively) program elements that will not cause explosion in the running time or space. The technical challenge is to appropriately identify such program elements. We show that a simple but principled approach can be remarkably effective, achieving scalability (often with dramatic speedup) for benchmarks previously completely out-of-reach for deep context-sensitive analyses. Yannis Smaragdakis, George Kastrinis, George Balatsouras |
PLDI | 3 |
| 2013 | Class hierarchy complementation: soundly completing a partial type graphabstractWe present the problem of class hierarchy complementation: given a partially known hierarchy of classes together with subtyping constraints ("A has to be a transitive subtype of B") complete the hierarchy so that it satisfies all constraints. The problem has immediate practical application to the analysis of partial programs--e.g., it arises in the process of providing a sound handling of "phantom classes" in the Soot program analysis framework. We provide algorithms to solve the hierarchy complementation problem in the single inheritance and multiple inheritance settings. We also show that the problem in a language such as Java, with single inheritance but multiple subtyping and distinguished class vs. interface types, can be decomposed into separate single- and multiple-subtyping instances. We implement our algorithms in a tool, JPhantom, which complements partial Java bytecode programs so that the result is guaranteed to satisfy the Java verifier requirements. JPhantom is highly scalable and runs in mere seconds even for large input applications and complex constraints (with a maximum of 14s for a 19MB binary). George Balatsouras, Yannis Smaragdakis |
OOPSLA | 1 |
| 2013 | Set-based pre-processing for points-to analysisabstractWe present set-based pre-analysis: a virtually universal optimization technique for flow-insensitive points-to analysis. Points-to analysis computes a static abstraction of how object values flow through a program's variables. Set-based pre-analysis relies on the observation that much of this reasoning can take place at the set level rather than the value level. Computing constraints at the set level results in significant optimization opportunities: we can rewrite the input program into a simplified form with the same essential points-to properties. This rewrite results in removing both local variables and instructions, thus simplifying the subsequent value-based points-to computation. Effectively, set-based pre-analysis puts the program in a normal form optimized for points-to analysis. Yannis Smaragdakis, George Balatsouras, George Kastrinis |
OOPSLA | 2 |