Software re-engineering is concerned with:
1
Re-constructing the original source code from the existing machine (low - level) code program and modifying it to make it more user-friendly.
2
Scrapping the source code of a software and re-writing it entirely from scratch.
3
Re-organising and modifying existing software systems to make them more maintainable.
4
Translating source code of an existing software to a new machine (low - level) language.