@inproceedings{182, keywords = {Software Maintenance}, author = {Farshad Toosi and Clem Donnell and Asanka Wasala and Goetz Botterweck and Jim Buckley}, editor = {Jennifer PĂ©rez and Raffaela Mirandola and Hong-Mei Chen}, title = {Objectification using procedure-relational, matrix decomposition and synchronization dynamics}, abstract = {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.}, year = {2018}, booktitle = {Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings, ECSA 2018, Madrid, Spain, September 24-28, 2018}, journal = {Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings, ECSA 2018, Madrid, Spain, September 24-28, 2018}, pages = {1-50}, publisher = {ACM}, url = {http://doi.acm.org/10.1145/3241403.3241455}, doi = {10.1145/3241403.3241455}, key = {bibcite_182}, }