Run-Time Assertion Checking with Énfasis



Document title: Run-Time Assertion Checking with Énfasis
Journal: Computación y sistemas
Database: PERIÓDICA
System number: 000327999
ISSN: 1405-5546
Authors: 1
1
Institutions: 1Instituto Politécnico Nacional, Centro de Investigación y de Estudios Avanzados, México, Distrito Federal. México
Year:
Season: Ene-Mar
Volumen: 13
Number: 3
Pages: 273-294
Country: México
Language: Inglés
Document type: Artículo
Approach: Analítico, descriptivo
Spanish abstract Las variables locales son fundamentales para describir e implementar algoritmos y para especificar algunas de sus propiedades tales como correctitud, terminación y desempeño. En este artículo se discute la verificación de aseveraciones a tiempo de ejecución en programas Java utilizando Énfasis. Énfasis es un lenguaje orientado a aspectos que incorpora un modelo de puntos de unión para aplicar corte sobre variables locales y expresiones de rutas para seleccionar conjuntos de puntos de unión. La contribución de este trabajo es mostrar que la verificación de aseveraciones a tiempo de ejecución es más efectiva en Énfasis por su gran poder expresivo respecto a otros enfoques como AspectJ y JML. La expresividad de las aseveraciones en Énfasis se debe a la granularidad fina de los cortes que se definen a nivel de expresiones y sentencias, a diferencia de otras granularidades más gruesas definidas a nivel de invocaciones de métodos como en AspectJ. El enfoque de Énfasis no solo destaca por su no invasividad del código fuente, modularidad, uniformidad y generalidad, sino también por el manejo ortogonal de incumbencias de corte
English abstract 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
Disciplines: Ciencias de la computación,
Matemáticas,
Ingeniería
Keyword: Matemáticas aplicadas,
Ingeniería eléctrica,
Aserciones de programas,
Gramáticas formales,
Corte en variables locales,
Puntos de corte en variables locales,
Programación orientada a aspectos
Keyword: Computer science,
Mathematics,
Engineering,
Applied mathematics,
Electrical engineering,
Program assertion,
Formal grammars,
Local variable crosscutting,
Local variable pointcut,
Aspect-oriented programming
Full text: Texto completo (Ver HTML)