Describe the various types of restructuring techniques.
(a) Code Restructuring: It is performed to yield a design that produces the similar function but with higher quality than the original program. In general, code-restructuring methods model program logic using Boolean algebra and then apply a series of transformation rules that yield restructured logic
(b) Data Restructuring: Before data restructuring starts, a reverse engineering activity known as analysis of source code must be conducted. The intent is to extract data items and objects, to get information on data flow, and to understand the existing data structures that have been executed.