Alexandru Salcianu

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

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

Software engineering, systems software and programming languages · 4 · 1 first-authorSystems, architecture and hardware · 1 · 1 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
4 papers
Programming languages and type systems · 34% Program analysis · 27% Runtime systems and virtual machines · 22%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 50% Memory systems · 50%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems
aspect-oriented programming
0.012004
A classification system and analysis for aspect-oriented programs · SIGSOFT FSE 2004
Runtime systems and virtual machines
garbage collection
0.012003
Ownership types for safe region-based memory management in real-time Java · PLDI 2003
Program analysis › static analysis
interprocedural analysis
0.012003
Interprocedural compatibility analysis for static object preallocation · POPL 2003
Programming languages and type systems › type systems
ownership types
0.012003
Ownership types for safe region-based memory management in real-time Java · PLDI 2003
Runtime systems and virtual machines › garbage collection
real-time garbage collection
0.012003
Ownership types for safe region-based memory management in real-time Java · PLDI 2003
Operating systems › resource management › memory management
region-based memory management
0.012003
Ownership types for safe region-based memory management in real-time Java · PLDI 2003
Programming languages and type systems
type systems
0.012003
Ownership types for safe region-based memory management in real-time Java · PLDI 2003
Embedded and real-time systems › real-time programming languages
real-time java
0.012003
Ownership types for safe region-based memory management in real-time Java · PLDI 2003
Memory systems › memory management
region-based memory management
0.012003
Ownership types for safe region-based memory management in real-time Java · PLDI 2003
Program analysis › static analysis › pointer analysis
escape analysis
0.012001
Pointer and escape analysis for multithreaded programs · PPoPP 2001
Program analysis › static analysis
pointer analysis
0.012001
Pointer and escape analysis for multithreaded programs · PPoPP 2001
Operating systems › resource management
memory management
0.012003
Interprocedural compatibility analysis for static object preallocation · POPL 2003
Concurrent programming › concurrency models
multithreading
0.012001
Pointer and escape analysis for multithreaded programs · PPoPP 2001

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

static type system · 0.1parallel interaction graphs · 0.0compositional analysis · 0.0
YearPublicationVenuePosition
2005 Purity and Side Effect Analysis for Java Programs
Alexandru Salcianu, Martin C. Rinard
VMCAI1
2004 A classification system and analysis for aspect-oriented programs
abstract
We present a new classification system for aspect-oriented programs. This system characterizes the interactions between aspects and methods and identifies classes of interactions that enable modular reasoning about the crosscut program. We argue that this system can help developers structure their understanding of aspect-oriented programs and promotes their ability to reason productively about the consequences of crosscutting a program with a given aspect.
Martin C. Rinard, Alexandru Salcianu, Suhabe Bugrara
SIGSOFT FSE2
2003 Ownership types for safe region-based memory management in real-time Java
abstract
The Real Time Specification for Java (RTSJ) allows a program to create real-time threads with hard real-time constraints. Real-time threads use region-based memory management to avoid unbounded pauses caused by interference from the garbage collector. The RTSJ uses runtime checks to ensure that deleting a region does not create dangling references and that real-time threads do not access references to objects allocated in the garbage-collected heap. This paper presents a static type system that guarantees that these runtime checks will never fail for well-typed programs. Our type system therefore 1) provides an important safety guarantee for real-time programs and 2) makes it possible to eliminate the runtime checks and their associated overhead.Our system also makes several contributions over previous work on region types. For object-oriented programs, it combines the benefits of region types and ownership types in a unified type system framework. For multithreaded programs, it allows long-lived threads to share objects without using the heap and without memory leaks. For real-time programs, it ensures that real-time threads do not interfere with the garbage collector. Our experience indicates that our type system is sufficiently expressive and requires little programming overhead, and that eliminating the RTSJ runtime checks using a static type system can significantly decrease the execution time of real-time programs.
Chandrasekhar Boyapati, Alexandru Salcianu, William S. Beebee, Martin C. Rinard
PLDI2
2003 Interprocedural compatibility analysis for static object preallocation
abstract
We present an interprocedural and compositional algorithm for nding pairs of compatible allocation sites, which have the property that no object allocated at one site is live at the same time as any object allocated at the other site. If an allocation site is compatible with itself, it is said to be unitary : at most one object allocated at that site is live at any given point in the execution of the program. We use the results of the analysis to statically preallocate memory space for the objects allocated at unitary sites, thus simplifying the computation of an upper bound on the amount of memory required to execute the program. We also use the analysis to enable objects allocated at several compatible allocation sites to share the same preallocated memory. Our experimental results show that, for our set of Java benchmark programs, 60% of the allocation sites are unitary and can be statically preallocated. Moreover, allowing compatible unitary allocation sites to share the same preallocated memory leads to a 95% reduction in the amount of memory preallocated for these sites.
Ovidiu Gheorghioiu, Alexandru Salcianu, Martin C. Rinard
POPL2
2001 Pointer and escape analysis for multithreaded programs
abstract
This paper presents a new combined pointer and escape analysis for multithreaded programs. The algorithm uses a new abstraction called parallel interaction graphs to analyze the interactions between threads and extract precise points-to, escape, and action ordering information for objects accessed by multiple threads. The analysis is compositional, analyzing each method or thread once to extract a parameterized analysis result that can be specialized for use in any context. It is also capable of analyzing programs that use the unstructured form of multithreading present in languages such as Java and standard threads packages such as POSIX threads.
Alexandru Salcianu, Martin C. Rinard
PPoPP1