The tool has temporariy been disabled. Please contact us if you need to use it.

Optimize your algorithms in terms of data locality

MemAssist is a compiler assisted dynamic code analysis tool that supports the optimization of application code in C or MATLAB, mainly targeting embedded system implementation. It is used to indicate source code refactorings/optimizations that may improve temporal locality and reduce cache misses on the targeted architecture cache(s). The tool has been primarily deployed as an extension for the Visual Studio IDE. This web page is an attempt to provide a free web based version of MemAssist for hands on evaluation.

How it works

(1) Provide the input code at the input source code editor. You can experiment with a number of predefined examples selectable from the Select an example field.
(2) Indicate the operational mode of the tool from the dropdown list that follows. Optimization suggestions determined through reuse distance analysis is currently available in this online version of MemAssist.
(3) Fill in the characters displayed in the captcha image and press Begin analysis. Do not refresh the page while the tool is working.
(4) A success or failure message will appear when the analysis is complete. The View results button is enabled upon successful completion while the console output can be consulted in case of a failed response. Sample outputs are available here (Reuse distance analysis) and here (LWM/ARF).

Input source code:
Press F11 to switch to fullscreen mode.
Custom input data:
Console output:


Contact us on Christos Lezos Email UOP for bug reports and comments.


(01/11/2017) The 'Locality characteristics' dialog was added to the reuse distance analysis output.
(28/10/2017) The list of predefined examples was expanded.
(31/08/2015) The online version of the tool is launched.