ject to the parametrization of the algorithm. In gen-
eral, the classes are highly cohesive, and they encap-
sulate data that logically belong to each other.
One of the main benefits of our solution is using
the Eclipse EMF modeling ecosystem. This allows
us to easily integrate our solution with existing MDE
tools, which highly improve the capabilities of the
code modernizing tool. We have also created a DSL
that is used to effectively describe transformations of
standard library function calls. This is a novel ap-
proach of dealing with this problem.
We have also experimentally evaluated the fea-
sibility of our solution on various real, open-source
software. We have found that our object identifica-
tion methodology produces useful object-oriented de-
sign. We have also compared our solution to existing
state-of-the-art tools and solutions presented in exist-
ing literature. We have determined that the novelty
of our solution is the Ecore-based model-driven ap-
proach, the proposed call chain analysis method, and
the DSL used for translating standard library calls.
There exist many promising aspects that could be
explored upon in future work. Formal proof of the
correctness of the transformation should be given in
the near future. To this end, we plan to use for-
mal verification methods to ascertain that the trans-
formed program behaves equivalently to the original
software. Also, integrating our solution with more ex-
isting model-driven tools remains our main goal. For
example, instead of manually building a call graph,
Eclipse PTP (Watson and DeBardeleben, 2006) may
be used to easily and effectively generate it.
ACKNOWLEDGEMENTS
Project no. FIEK 16-1-2016-0007 has been imple-
mented with the support provided from the National
Research, Development and Innovation Fund of Hun-
gary, financed under the Centre for Higher Education
and Industrial Cooperation - Research infrastructure
development (FIEK 16) funding scheme.
REFERENCES
ATL (2008). ATL presentation. https:
//www.eclipsecon.org/2008/sub/attachments/
Modeltomodel Transformation with ATL.pdf.
Accessed: 2020-10-05.
Bettini, L. (2016). Implementing Domain Specific Lan-
guages with Xtext and Xtend - Second Edition. Packt
Publishing, 2nd edition.
Bruneliere, H., Cabot, J., Dup
´
e, G., and Madiot, F.
(2014). MoDisco: a Model Driven Reverse Engineer-
ing Framework. Information and Software Technol-
ogy, 56(8):1012–1032.
Czibula, I. G. and Czibula, G. (2011). Unsupervised trans-
formation of procedural programs to object-oriented
design. In Acta Universitatis Apulensis.
Everitt, B. S., Landau, S., and Leese, M. (2009). Cluster
Analysis. Wiley Publishing, 4th edition.
Fowler, M. (2010). Domain Specific Languages. Addison-
Wesley Professional, 1st edition.
Izurieta, C. and Bieman, J. (2013). A multiple case study of
design pattern decay, grime, and rot in evolving soft-
ware systems. Software Quality Journal, 21.
Langer, P., Wimmer, M., and Kappel, G. (2010). Model-
to-model transformations by demonstration. In Tratt,
L. and Gogolla, M., editors, Theory and Practice of
Model Transformations, pages 153–167, Berlin, Hei-
delberg. Springer Berlin Heidelberg.
McAffer, J., Lemieux, J.-M., and Aniszczyk, C. (2010).
Eclipse Rich Client Platform. Addison-Wesley Pro-
fessional, 2nd edition.
mtSystems (2020). mtSystems documentation. https://
www.mtsystems.com/. Accessed: 2020-10-05.
Oldevik, J., Neple, T., Grønmo, R., Aagedal, J., and Berre,
A.-J. (2005). Toward standardised model to text trans-
formations. In Hartman, A. and Kreische, D., editors,
Model Driven Architecture – Foundations and Appli-
cations, pages 239–253, Berlin, Heidelberg. Springer
Berlin Heidelberg.
P
´
erez-Castillo, R., Guzm
´
an, I., and Piattini, M. (2011).
Knowledge discovery metamodel-iso/iec 19506: A
standard to modernize legacy systems. Computer
Standards & Interfaces, 33:519–532.
Sneed, H. M. (2011). Migrating pl/i code to java. In 2011
15th European Conference on Software Maintenance
and Reengineering, pages 287–296.
Terekhov, A. and Verhoef, C. (2000). The realities of lan-
guage conversions. IEEE Software, 17(6):111–124.
Watson, G. and DeBardeleben, N. (2006). Developing sci-
entific applications using eclipse. Computing in Sci-
ence & Engineering, 8:50 – 61.
Ying Zou and Kontogiannis, K. (2001). A framework
for migrating procedural code to object-oriented plat-
forms. In Proceedings Eighth Asia-Pacific Software
Engineering Conference, pages 390–399.
MODELSWARD 2021 - 9th International Conference on Model-Driven Engineering and Software Development
198