Javascript Source Code More
Press F11 to leave fullscreen
Press F11 to leave fullscreen
Result More
Press F11 to leave fullscreen
Nothing yet, press "Weave Application".
Output Log
This website presents a demonstration of Clava. It does not represent neither the current version of Clava nor the full LARA technology.


Clava is open-source and is available on GitHub.


Clava is a C/C++ source-to-source tool for code instrumentation and transformations controlled by the LARA language.

Clava uses Clang, a a C language family frontend for LLVM. LARA [1][2] is a domain-specific, aspect-oriented language proposed during the REFLECT project and currently being maintained and further developed by University of Porto, Porto, Portugal, and Imperial College, London, UK.

For more information on LARA, please see the LARA wiki.


[1] João M.P. Cardoso, Tiago Carvalho, José G.F. Coutinho, Wayne Luk, Ricardo Nobre, Pedro Diniz, and Zlatko Petrov. 2012. LARA: an aspect-oriented programming language for embedded systems. In Proceedings of the 11th annual international conference on Aspect-oriented Software Development (AOSD '12). ACM, New York, NY, USA, 179-190. [ACM] [bibtex]

[2] Pedro Pinto, Tiago Carvalho, João Bispo, Miguel António Ramalho, João MP Cardoso. 2018. Aspect Composition for Multiple Target Languages using LARA. Computer Languages, Systems & Structures (COMLAN), Pergamon. [Elsevier] [bibtex]


João Bispo (jbispo@fe.up.pt)