modules by splitting, etc ), which provesits modelling
power and utility.
6 CONCLUSIONS
This article proposes UNIQ-ART, a meta-model that
can represent primary dependency structures of pro-
grams written in object-oriented as well as procedural
languages. UNIQ-ART achieves not only program-
ming language transparency but also programming
paradigm transparency. All model entities introduced
by UNIQ-ART abstract away differences between ob-
ject oriented and procedural concepts. We have im-
plemented language mappings and model extractor
tools for Java, C# (MS CIL) and ANSI C. The util-
ity of the proposed meta-model has been shown by a
number of different reverse engineering and analysis
applications that use it successfully.
ACKNOWLEDGEMENTS
Acknowledgements go to the students which con-
tributed to the implementation of the model extrac-
tor tools for different languages, especially Ramona
Croitoru and Natalia Prica.
REFERENCES
Canfora, G. and Di Penta, M. (2007). New frontiers of re-
verse engineering. In Future of Software Engineering,
2007. FOSE ’07, pages 326 –341.
Chikofsky, E. and Cross, J.H., I. (1990). Reverse engineer-
ing and design recovery: a taxonomy. Software, IEEE,
7(1):13 –17.
Falleri, J.-R., Denier, S., Laval, J., Vismara, P., and Ducasse,
S. (2011). Efficient retrieval and ranking of unde-
sired package cycles in large software systems. In
Proceedings of the 49th international conference on
Objects, models, components, patterns, TOOLS’11,
pages 260–275, Berlin, Heidelberg. Springer-Verlag.
Ferenc, R., Beszedes, A., Tarkiainen, M., and Gyimothy,
T. (2002). Columbus - reverse engineering tool and
schema for C++. In Software Maintenance, 2002. Pro-
ceedings. International Conference on, pages 172 –
181.
Kraft, N. A., Malloy, B. A., and Power, J. F. (2007). An
infrastructure to support interoperability in reverse
engineering. Information and Software Technology,
49(3):292 – 307. 12th Working Conference on Re-
verse Engineering.
Lethbridge, T. C., Tichelaar, S., and Ploedereder, E. (2004).
The Dagstuhl Middle Metamodel: A Schema For
Reverse Engineering. Electronic Notes in Theoret-
ical Computer Science, 94(0):7 – 18. Proceedings
of the International Workshop on Meta-Models and
Schemas for Reverse Engineering (ateM 2003).
Maletic, J., Collard, M., and Marcus, A. (2002). Source
code files as structured documents. In Program Com-
prehension, 2002. Proceedings. 10th International
Workshop on, pages 289 – 292.
Mitchell, B. S. and Mancoridis, S. (2006). On the auto-
matic modularization of software systems using the
bunch tool. IEEE Transactions on Software Engineer-
ing, 32:193–208.
OMG (2011a). The metaobject facility specification.
http://www.omg.org/mof/.
OMG (2011b). The Unified Modelling Language.
http://www.uml.org/.
Sangal, N., Jordan, E., Sinha, V., and Jackson, D. (2005).
Using dependency models to manage complex soft-
ware architecture. In Proceedings of the 20th an-
nual ACM SIGPLAN conference on Object-oriented
programming, systems, languages, and applications,
OOPSLA ’05, pages 167–176, New York, NY, USA.
ACM.
Sarkar, S., Maskeri, G., and Ramachandran, S. (2009).
Discovery of architectural layers and measurement of
layering violations in source code. J. Syst. Softw.,
82:1891–1905.
Sora, I., Glodean, G., and Gligor, M. (2010). Soft-
ware architecture reconstruction: An approach based
on combining graph clustering and partitioning. In
Computational Cybernetics and Technical Informatics
(ICCC-CONTI), 2010 International Joint Conference
on, pages 259 –264.
Tichelaar, S., Ducasse, S., Demeyer, S., and Nierstrasz,
O. (2000). A meta-model for language-independent
refactoring. In Principles of Software Evolution, 2000.
Proceedings. International Symposium on, pages 154
–164.
Winter, A., Kullbach, B., and Riediger, V. (2002). An
overview of the GXL graph exchange language. In
Diehl, S., editor, Software Visualization, volume 2269
of Lecture Notes in Computer Science, pages 528–
532. Springer Berlin / Heidelberg.
Wong, S. and Cai, Y. (2009). Predicting change impact from
logical models. Software Maintenance, IEEE Interna-
tional Conference on, 0:467–470.
Wong, S., Cai, Y., Kim, M., and Dalton, M. (2011). De-
tecting software modularity violations. In Proceeding
of the 33rd international conference on Software en-
gineering, ICSE ’11, pages 411–420, New York, NY,
USA. ACM.
ENASE2012-7thInternationalConferenceonEvaluationofNovelSoftwareApproachestoSoftwareEngineering
74