Ganesh Sittampalam

dblp:10/5699 · DBLP profile ↗
← Back
9ranked-venue papers
1as first author
0since 2021 · last 2008
0000-0002-1150-4867ORCID · corroborated

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

Software engineering, systems software and programming languages · 7 · 1 first-authorTheory of computation · 3

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 · 62% Program analysis · 34% Compilers and program optimization · 4%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Performance modeling and evaluation · 100%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems
aspect-oriented programming
0.232005
Optimising aspectJ · PLDI 2005
Adding trace matching with free variables to AspectJ · OOPSLA 2005
Measuring the dynamic behaviour of AspectJ programs · OOPSLA 2004
Programming languages and type systems
language design
0.122005
Adding trace matching with free variables to AspectJ · OOPSLA 2005
Optimising aspectJ · PLDI 2005
Program analysis › static analysis
incremental analysis
0.012004
Incremental execution of transformation specifications · POPL 2004
Performance modeling and evaluation
workload characterization
0.012004
Measuring the dynamic behaviour of AspectJ programs · OOPSLA 2004
Program analysis › dynamic analysis › trace analysis
trace alignment
0.012005
Adding trace matching with free variables to AspectJ · OOPSLA 2005
Program analysis › dynamic analysis › instrumentation
bytecode instrumentation
0.012004
Measuring the dynamic behaviour of AspectJ programs · OOPSLA 2004
Compilers and program optimization
program transformation
0.012004
Incremental execution of transformation specifications · POPL 2004

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

dynamic analysis · 0.1bytecode instrumentation · 0.1regular pattern matching · 0.1free variables · 0.1compiler optimization · 0.1regular patterns · 0.0model checking · 0.0language factors · 0.0
YearPublicationVenuePosition
2008 Paradise: a two-stage DSL embedded in Haskell
abstract
We have implemented a two-stage language, Paradise, for building reusable components which are used to price financial products. Paradise is embedded in Haskell and makes heavy use of type-class based overloading, allowing the second stage to be compiled into a variety of backend platforms.
Lennart Augustsson, Howard Mansell, Ganesh Sittampalam
ICFP3
2006 Aspects and Data Refinement
Pavel Avgustinov, Eric Bodden, Elnar Hajiyev, Oege de Moor, Neil Ongkingco, Damien Sereni, Ganesh Sittampalam, Julian Tibble
MPC7
2005 abc: The AspectBench Compiler for AspectJ
Chris Allan, Pavel Avgustinov, Aske Simon Christensen, Laurie J. Hendren, Sascha Kuzins, Jennifer Lhoták, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, Julian Tibble
GPCE10
2005 Adding trace matching with free variables to AspectJ
abstract
An aspect observes the execution of a base program; when certain actions occur, the aspect runs some extra code of its own. In the AspectJ language, the observations that an aspect can make are confined to the current action: it is not possible to directly observe the history of a computation.Recently, there have been several interesting proposals for new history-based language features, most notably by Douence et al. and by Walker and Viggers. In this paper, we present a new history-based language feature called tracematches that enables the programmer to trigger the execution of extra code by specifying a regular pattern of events in a computation trace. We have fully designed and implemented tracematches as a seamless extension of AspectJ.A key innovation in our tracematch approach is the introduction of free variables in the matching patterns. This enhancement enables a whole new class of applications in which events can be matched not only by the event kind, but also by the values associated with the free variables. We provide several examples of applications enabled by this feature.After introducing and motivating the idea of tracematches via examples, we present a detailed semantics of our language design, and we derive an implementation from that semantics. The implementation has been realised as an extension of the abc compiler for AspectJ.
Chris Allan, Pavel Avgustinov, Aske Simon Christensen, Laurie J. Hendren, Sascha Kuzins, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, Julian Tibble
OOPSLA9
2005 Optimising aspectJ
Pavel Avgustinov, Aske Simon Christensen, Laurie J. Hendren, Sascha Kuzins, Jennifer Lhoták, Ondrej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, Julian Tibble
PLDI9
2004 Measuring the dynamic behaviour of AspectJ programs
abstract
This paper proposes and implements a rigorous method for studying the dynamic behaviour of AspectJ programs. As part of this methodology several new metrics specific to AspectJ programs are proposed and tools for collecting the relevant metrics are presented. The major tools consist of: (1) a modified version of the AspectJ compiler that tags bytecode instructions with an indication of the cause of their generation, such as a particular feature of AspectJ; and (2) a modified version of the *J dynamic metrics collection tool which is composed of a JVMPI-based trace generator and an analyzer which propagates tags and computes the proposed metrics. This dynamic propagation is essential, and thus this paper contributes not only new metrics, but also non-trivial ways of computing them.
Bruno Dufour, Christopher Goard, Laurie J. Hendren, Oege de Moor, Ganesh Sittampalam, Clark Verbrugge
OOPSLA5
2004 Incremental execution of transformation specifications
abstract
We aim to specify program transformations in a declarative style, and then to generate executable program transformers from such specifications. Many transformations require non-trivial program analysis to check their applicability, and it is prohibitively expensive to re-run such analyses after each transformation. It is desirable, therefore, that the analysis information is incrementally updated.We achieve this by drawing on two pieces of previous work: first, Bernhard Steffen's proposal to use model checking for certain analysis problems, and second, John Conway's theory of language factors. The first allows the neat specification of transformations, while the second opens the way for an incremental implementation. The two ideas are linked by using regular patterns instead of Steffen's modal logic: these patterns can be viewed as queries on the set of program paths.
Ganesh Sittampalam, Oege de Moor, Ken Friis Larsen
POPL1
2002 Transforming the .NET intermediate language using path logic programming
abstract
Path logic programming is a modest extension of Prolog for the specification of program transformations. We give an informal introduction to this extension, and we show how it can be used in coding standard compiler optimisations, and also a number of obfuscating transformations. The object language is the Microsoft .NET intermediate language (IL).
Stephen Drape, Oege de Moor, Ganesh Sittampalam
PPDP3
2001 Higher-order matching for program transformation
Oege de Moor, Ganesh Sittampalam
Theor. Comput. Sci.2