Objectification using procedure-relational, matrix decomposition and synchronization dynamics
|Year of Publication||
Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings, ECSA 2018, Madrid, Spain, September 24-28, 2018
Code in legacy systems is often written in procedures and functions (rather than using more modern object-oriented mechanisms). But those procedures/functions can be combined with other similar procedures/functions (and associated data), and thus be converted/re-factored into objects that can be re-used throughout the system. The question then is how to reverse and re-engineer to these objects reliably (logically cohesive and coherent sets of procedures) and how to assess the resultant objects correctness. Our proposed solution to the first question is to create a similarity matrix of all the functions/methods/procedures based on a given criterion such as shared variable access or procedure calls. We then use a synchronization process to identify related procedures using their values in this similarity matrix. The synchronization results in sets of related groups that, based on a cohesive measure of each group, prompts selection of cohesive procedures, towards objects.