Professional Documents
Culture Documents
Assignment 2: April, 2023 (Thursday)
Assignment 2: April, 2023 (Thursday)
1) What are the five basic approaches to reengineering software systems? Explain them.
2) Explain the principles of abstraction, refinement, and alteration in the context of
software reengineering.
3) Explain why decompilation is a reverse engineering process, whereas compilation is
not a forward engineering process. Discuss the applications of decompilers. What
technique can be used to avoid decompilation.
4) How do you identify what refactorings to apply? Briefly explain the concept of
preserving the software’s behavior while refactoring.
INSTRUCTIONS: