Run-Time Assertion Checking with Énfasis

Local variables are fundamental to describe and implement computer algorithms and to specify some of their properties such as correctness, termination and performance. In this paper, we address the run-time assertion checking problem involving local variables in Java programs using Énfasis. Énfasis...

Descripción completa

Detalles Bibliográficos
Autores: José Oscar Olmedo Aguirre, Ulises Juárez Martínez
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2010
País:México
Institución:Centro de Investigación y de Estudios Avanzados del IPN
Repositorio:Redalyc-CINVESTAV
OAI Identifier:oai:redalyc.org:61519182004
Acceso en línea:https://www.redalyc.org/articulo.oa?id=61519182004
Access Level:acceso abierto
Palabra clave:Computación
aspect
formal grammars
Program assertion
oriented programming
local variable pointcut
Descripción
Sumario:Local variables are fundamental to describe and implement computer algorithms and to specify some of their properties such as correctness, termination and performance. In this paper, we address the run-time assertion checking problem involving local variables in Java programs using Énfasis. Énfasis is a novel Aspect-Oriented Programming (AOP) language that introduces a join point model for crosscutting on local variables and path expressions to select sets of join points. The contribution of this work consists on showing that run-time assertion checking is more effective in Énfasis by its greater expressive power than in other approaches such as AspectJ and the interface specification language JML. The greater expressiveness of Énfasis assertions arises from the finer granularity of crosscutting, defined at the expression and statement level in contrast to the coarser granularity defined at the method invocation level of AspectJ. Énfasis approach characterizes not only by its non-invasiveness at the source code level, modularity, uniformity and generality are also improved in handling orthogonal crosscutting concerns.