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

Milton Inostroza

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

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

Software engineering, systems software and programming languages · 2 · 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
2 papers
Programming languages and type systems · 77% Program verification · 23%

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

TopicWeightPapersLastEvidence papers
Programming languages and type systems
aspect-oriented programming
0.322014
Join point interfaces for safe and flexible decoupling of aspects · ACM Trans. Softw. Eng. Methodol. 2014
Join point interfaces for modular reasoning in aspect-oriented programs · SIGSOFT FSE 2011
Program verification
modular reasoning
0.112011
Join point interfaces for modular reasoning in aspect-oriented programs · SIGSOFT FSE 2011
Programming languages and type systems › type systems
type soundness
0.112014
Join point interfaces for safe and flexible decoupling of aspects · ACM Trans. Softw. Eng. Methodol. 2014
Programming languages and type systems
type systems
0.012011
Join point interfaces for modular reasoning in aspect-oriented programs · SIGSOFT FSE 2011

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

contract-based design · 0.1aspect-oriented programming · 0.1
YearPublicationVenuePosition
2014 Join point interfaces for safe and flexible decoupling of aspects
abstract
In current aspect-oriented systems, aspects usually carry, through their pointcuts, explicit references to the base code. Those references are fragile and hinder important software engineering properties such as modular reasoning and independent evolution of aspects and base code. In this work, we introduce a novel abstraction called Join Point Interface, which, by design, aids modular reasoning and independent evolution by decoupling aspects from base code and by providing a modular type-checking algorithm. Join point interfaces can be used both with implicit announcement through pointcuts, and with explicit announcement, using closure join points. Join point interfaces further offer polymorphic dispatch on join points, with an advice-dispatch semantics akin to multimethods. To support flexible join point matching, we incorporate into our language an earlier proposal for generic advice, and introduce a mechanism for controlled global quantification. We motivate each language feature in detail, showing that it is necessary to obtain a language design that is both type safe and flexible enough to support typical aspect-oriented programming idioms. We have implemented join point interfaces as an open-source extension to AspectJ. A case study on existing aspect-oriented programs supports our design, and in particular shows the necessity of both generic interfaces and some mechanism for global quantification.
Eric Bodden, Éric Tanter, Milton Inostroza
ACM Trans. Softw. Eng. Methodol.3
2011 Join point interfaces for modular reasoning in aspect-oriented programs
abstract
While aspect-oriented programming supports the modular definition of crosscutting concerns, most approaches to aspect- oriented programming fail to improve, or even preserve, modular reasoning. The main problem is that aspects usually carry, through their pointcuts, explicit references to the base code. These dependencies make programs fragile. Changes in the base code can unwittingly break a pointcut definition, rendering the aspect ineffective or causing spurious matches. Conversely, a change in a pointcut definition may cause parts of the base code to be advised without notice. Therefore separate development of aspect-oriented programs is largely compromised, which in turns seriously hinders the adoption of aspect-oriented programming by practitioners. We propose to separate base code and aspects using Join Point Interfaces, which are contracts between aspects and base code. Base code can define pointcuts that expose selected join points through a Join Point Interface. Conversely, an aspect can offer to advise join points that pro- vide a given Join Point Interface. Crucially, however, aspect themselves cannot contain pointcuts, and hence cannot refer to base code elements. In addition, because a given join point can provide several Join Point Interfaces, and Join Point Interfaces can be organized in a subtype hierarchy, our approach supports join point polymorphism. We describe a novel advice dispatch mechanism that offers a flexible and type-safe approach to aspect reuse.
Milton Inostroza, Éric Tanter, Eric Bodden
SIGSOFT FSE1