Andreas Sewe

dblp:40/1275 · DBLP profile ↗
← Back
9ranked-venue papers
2as first author
0since 2021 · last 2016
—ORCID · none

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

Software engineering, systems software and programming languages · 7 · 2 first-authorSecurity and privacy · 2

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
2 papers
Program analysis · 61% Runtime systems and virtual machines · 30% Programming languages and type systems · 9%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Performance modeling and evaluation · 100%

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

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.112011
Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine · OOPSLA 2011
Program analysis › static analysis
reflection analysis
0.112011
Taming reflection: Aiding static analysis in the presence of reflection and custom class loaders · ICSE 2011
Program analysis
static analysis
0.112011
Taming reflection: Aiding static analysis in the presence of reflection and custom class loaders · ICSE 2011
Performance modeling and evaluation
benchmarking
0.112011
Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine · OOPSLA 2011
Performance modeling and evaluation › benchmarking › benchmark design
benchmark suite design
0.112011
Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine · OOPSLA 2011
Programming languages and type systems › functional language
scala
0.012011
Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine · OOPSLA 2011

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

workload characterization · 0.2program transformation · 0.1instrumentation · 0.1
YearPublicationVenuePosition
2016 Workload characterization of JVM languages
abstract
Originally developed with a single language in mind, the JVM is now targeted by numerous programming languages—its automatic memory management, just-in-time compilation, and adaptive optimizations—making it an attractive execution platform. However, the garbage collector, the just-in-time compiler, and other optimizations and heuristics were designed primarily with the performance of Java programs in mind. Consequently, many of the languages targeting the JVM, and especially the dynamically typed languages, are suffering from performance problems that cannot be simply solved at the JVM side. In this article, we aim to contribute to the understanding of the character of the workloads imposed on the JVM by both dynamically typed and statically typed JVM languages. To this end, we introduce a new set of dynamic metrics for workload characterization, along with an easy-to-use toolchain to collect the metrics. We apply the toolchain to applications written in six JVM languages (Java, Scala, Clojure, Jython, JRuby, and JavaScript) and discuss the findings. Given the recently identified importance of inlining for the performance of Scala programs, we also analyze the inlining behavior of the HotSpot JVM when executing bytecode originating from different JVM languages. As a result, we identify several traits in the non-Java workloads that represent potential opportunities for optimization. © 2015 The Authors. Software: Practice and Experience Published by John Wiley & Sons Ltd.
Aibek Sarimbekov, Lukas Stadler, Lubomír Bulej, Andreas Sewe, Andrej Podzimek, Yudi Zheng, Walter Binder
Softw. Pract. Exp.4
2014 JP2: Call-site aware calling context profiling for the Java Virtual Machine
Aibek Sarimbekov, Andreas Sewe, Walter Binder, Philippe Moret, Mira Mezini
Sci. Comput. Program.2
2013 ShadowVM: robust and comprehensive dynamic program analysis for the java platform
abstract
Dynamic analysis tools are often implemented using instrumentation, particularly on managed runtimes including the Java Virtual Machine (JVM). Performing instrumentation robustly is especially complex on such runtimes: existing frameworks offer limited coverage and poor isolation, while previous work has shown that apparently innocuous instrumentation can cause deadlocks or crashes in the observed application. This paper describes ShadowVM, a system for instrumentation-based dynamic analyses on the JVM which combines a number of techniques to greatly improve both isolation and coverage. These centre on the offload of analysis to a separate process; we believe our design is the first system to enable genuinely full bytecode coverage on the JVM. We describe a working implementation, and use a case study to demonstrate its improved coverage and to evaluate its runtime overhead.
Lukás Marek, Stephen Kell, Yudi Zheng, Lubomír Bulej, Walter Binder, Petr Tuma 0001, Danilo Ansaloni, Aibek Sarimbekov, Andreas Sewe
GPCE9
2013 A comprehensive toolchain for workload characterization across JVM languages
abstract
The Java Virtual Machine (JVM) today hosts implementations of numerous languages. To achieve high performance, JVM implementations rely on heuristics in choosing compiler optimizations and adapting garbage collection behavior. Historically, these heuristics have been tuned to suit the dynamics of Java programs only. This leads to unnecessarily poor performance in case of non-Java languages, which often exhibit systematic differences in workload behavior. Dynamic metrics characterizing the workload help to identify and quantify useful optimizations, but so far, no cohesive suite of metrics has adequately covered properties that vary systematically between Java and non-Java workloads. We present a suite of such metrics, justifying our choice with reference to a range of guest languages. These metrics are implemented on a common portable infrastructure which ensures ease of deployment and customization.
Aibek Sarimbekov, Andreas Sewe, Stephen Kell, Yudi Zheng, Walter Binder, Lubomír Bulej, Danilo Ansaloni
PASTE2
2012 Dynamic Anomaly Detection for More Trustworthy Outsourced Computation
Sami Alsouri, Jan Sinschek, Andreas Sewe, Eric Bodden, Mira Mezini, Stefan Katzenbeisser 0001
ISC3
2012 new Scala() instance of Java: a comparison of the memory behaviour of Java and Scala programs
abstract
While often designed with a single language in mind, managed runtimes like the Java virtual machine (JVM) have become the target of not one but many languages, all of which benefit from the runtime's services. One of these services is automatic memory management. In this paper, we compare and contrast the memory behaviour of programs written in Java and Scala, respectively, two languages which both target the same platform: the JVM. We both analyze core object demographics like object lifetimes as well as secondary properties of objects like their associated monitors and identity hash-codes. We find that objects in Scala programs have lower survival rates and higher rates of immutability, which is only partly explained by the memory behaviour of objects representing closures or boxed primitives. Other metrics vary more by benchmark than language.
Andreas Sewe, Mira Mezini, Aibek Sarimbekov, Danilo Ansaloni, Walter Binder, Nathan P. Ricci, Samuel Z. Guyer
ISMM1
2011 Taming reflection: Aiding static analysis in the presence of reflection and custom class loaders
abstract
Static program analyses and transformations for Java face many problems when analyzing programs that use reflection or custom class loaders: How can a static analysis know which reflective calls the program will execute? How can it get hold of classes that the program loads from remote locations or even generates on the fly? And if the analysis transforms classes, how can these classes be re-inserted into a program that uses custom class loaders?
Eric Bodden, Andreas Sewe, Jan Sinschek, Hela Oueslati, Mira Mezini
ICSE2
2011 Da capo con scala: design and analysis of a scala benchmark suite for the java virtual machine
abstract
Originally conceived as the target platform for Java alone, the Java Virtual Machine (JVM) has since been targeted by other languages, one of which is Scala. This trend, however, is not yet reflected by the benchmark suites commonly used in JVM research. In this paper, we thus present the design and analysis of the first full-fledged benchmark suite for Scala. We furthermore compare the benchmarks contained therein with those from the well-known DaCapo 9.12 benchmark suite and show where the differences are between Scala and Java code---and where not.
Andreas Sewe, Mira Mezini, Aibek Sarimbekov, Walter Binder
OOPSLA1
2009 A holistic approach for access control policies: from formal specification to aspect-based enforcement
abstract
We present in this paper a novel approach to non-functional safety properties, combining formal methods and Aspect-Oriented Programming (AOP). The approach supports both the formal specification and the enforcement of such properties through runtime monitoring. We apply our approach for security policies and especially Role-Based Access Control (RBAC) policies including application-specific constraints such as separation of duties and delegation. For formal specification, we introduce TemporalZ, a formal language based on Z and temporal logic, which provides domain specific predicates for expressing RBAC policies. For the enforcement, we generate automatically modular enforcement code out of the formal specification using the aspect-oriented language ALPHA.
Slim Kallel, Anis Charfi, Mira Mezini, Mohamed Jmaiel, Andreas Sewe
Int. J. Inf. Comput. Secur.5