Question: I deleted my program, actually C++ code, and am re-writing it in a different way.

Especially, I am updating the engine of my code.

What would be the best word or verb to express what I am doing?

* remake
* renovate
* rebuild
* redesign
* reconstruct

Answer: 
There's a domain-specific term `Refactor` which you may be looking for.

<http://www.dictionary.com/browse/refactoring>

> 
> Improving a computer program by reorganising its internal structure without altering its external behaviour.
> 
> 
> 

For example:-

> 
> "The original program grew out of a messy prototype, so I spent some time refactoring and now it is easier to maintain."
> 
> 
>
There are three things you might have changed:

1. The outward behaviour. For example the user interface might now be radically different
2. The internal design. Perhaps you used a different approach to the overall structure or you used a different Framework or set of low-level libraries, or different algorithms to calculate the results.
3. The actual code. In principle you might have used exactly the same algorithms, program structure etc. but simply wrote the code using different variable names.

It's pretty unlikely that you would have just done item 3; almost certainly the crucial part was the redesign. The fact that you chose to delete the entire code-base implies that this was a very fundamental change not just a simple refactoring or replacement of some low-level libraries.

I would make it clear that a new design was created. I think in this case you did not actually change the functionality. So:

> 
> We redesigned and reimplemented the application exploiting the xxxx framework.
> 
> 
> 

Had you modified the actual functionality I would say:

> 
> The application has been completely redeveloped, with detailed analysis and function design preceding the technical redesign and reimplementation.
> 
> 
>