Adding trace matching with free variables to AspectJ

Author:

Allan Chris1,Avgustinov Pavel1,Christensen Aske Simon2,Hendren Laurie3,Kuzins Sascha1,Lhoták Ondřej3,de Moor Oege1,Sereni Damien1,Sittampalam Ganesh1,Tibble Julian1

Affiliation:

1. University of Oxford, United Kingdom

2. University of Aarhus, Denmark

3. McGill University, Montreal, Canada

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.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference31 articles.

1. abc. The AspectBench Compiler. Home page with downloads FAQ documentation support mailing lists and bug database. http://aspectbench.org.]] abc. The AspectBench Compiler. Home page with downloads FAQ documentation support mailing lists and bug database. http://aspectbench.org.]]

2. SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft

Cited by 143 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Dynamic Program Analysis with Flexible Instrumentation and Complex Event Processing;2023 IEEE 34th International Symposium on Software Reliability Engineering (ISSRE);2023-10-09

2. Runtime Verification Prediction for Traces with Data;Runtime Verification;2023

3. RVprio: A tool for prioritizing runtime verification violations;Software Testing, Verification and Reliability;2022-03-07

4. A Monitoring Tool for Linear-Time $$\mu $$HML;Lecture Notes in Computer Science;2022

5. CrySL: An Extensible Approach to Validating the Correct Usage of Cryptographic APIs;IEEE Transactions on Software Engineering;2021-11-01

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3