AdaCore: Build Software that Matters
AdaCore Hero Image

Rejuvenation-Ada

Rejuvenation automates Ada project maintenance with pattern-based refactoring, offering Ada-like syntax for clear, customisable code transformations.

Rejuvenation Ada

Rejuvenation is a pattern-based code manipulation tool designed to automate the maintenance of Ada projects. It builds on top of Libadalang's general analysis features to create an easy to use interface specialized for implementing code refactorings. At AdaCore, tooling is obviously a topic dear to our heart, so we are really pleased to see this project in the Alire ecosystem.

Rejuvenation provides a familiar interface for its users as the code manipulation patterns are written in Ada. Taking an example from the documentation this is a find pattern:

if $S_Cond then
   $S_Dest := True;
else
   $S_Dest := False;
end if;

And the corresponding replacement pattern:

$S_Dest := $S_Cond;

As you can see, it’s fairly easy for any Ada programmer to understand what is going on and in turn implement their own refactoring patterns.

See project here.