Dan Cosma
Academic Title
Dr. Eng.
Office Contact
  Rooms B622, B514, B528
(0256 40) 3268
  dan.cosma (at) cs.upt.ro

Short Bio

  • I was born in Oradea, on September 16, 1973.
  • Primary school (1980-1984) : School no. 14, Oradea
  • Secondary school (1984-1988) : Liceul de Filologie-Istorie Oradea (today known as "Liceul Mihai Eminescu")
  • High School (1988-1992) : "Emanuil Gojdu" High School, Oradea
  • June 1997: Engineer in Computer Science, (BSc, with a Graduation Project) at Politehnica University, Timisoara, Romania
  • June 1998: MSc in Computer Science at Politehnica University, Timisoara, Romania
  • 2009: Ph.D. in Computer Science, at Politehnica University, Timisoara, Romania
  • I currently work as Assistant Professor/Lecturer at Politehnica University

Selected Publications

  • ViMC -- Interactive Tool for Measuring Software Applications (DOI PDF)
    Dan C. Cosma, O. Gugea and T. Avramovic
    Published at:
    2018 22nd International Conference on System Theory, Control and Computing (ICSTCC), Sinaia, 2018, pp. 397-402
    This paper introduces ViMC, a tool we have developed to support software engineers in analyzing the structure of object-oriented software applications by focusing on measuring the various aspects that define the properties of the entities within a software project.
  • Understanding Web Applications Using Component Based Visual Patterns (DOI PDF)
    Dan C. Cosma, Petru F. Mihancea
    Published at:
    2015 IEEE 23rd International Conference on Program Comprehension (ICPC), Florence, Italy
    This paper introduces our approach for high-level system understanding that uses software visualization to analyze the presentation layer of Web applications. The technique is driven by static analysis, relies on state-of-the art concepts, and is technology-aware, so that it focuses on those precise particularities of the application's presentation layer that define its Web presence. By combining an approach initially developed for software testing with visualization, the essential structural dependencies between and within the Web components are extracted and reviewed.
  • Reverse Engineering Object-Oriented Distributed Systems (DOI PDF)
    Dan C. Cosma
    Published at:
    Proc. of 26th IEEE International Conference on Software Maintenance (ICSM 2010) - Doctoral Symposium track, September 12-18, 2010, Timisoara, Romania
    A significant part of the modern software systems are designed and implemented as distributed applications, addressing the needs of a globally-connected society. While most of them are object-oriented, their understanding and quality assessment imply very specific, technology-dependent analysis approaches. This doctoral dissertation describes a methodology for understanding object-oriented distributed systems using a process of reverse engineering driven by the assessment of their technological and domain-specific particularities.
  • Understanding the Impact of Distribution in Object-Oriented Distributed Systems using Structural Program Dependencies (PDF)
    Dan C. Cosma, Radu Marinescu
    Published at:
    Proceedings of the 12th European Conference on Software Maintenance and Reengineering (CSMR 2008), Athens, Greece, (c)IEEE 2008, pp. 103-112
    In this paper we present a novel approach for understanding a distributed, object-oriented, software system, by analyzing the structure of its source code and identifying the design fragments that contribute to those specific features that use or depend on the distributed communication infrastructure.
  • Distributable Features View: Visualizing the Structural Characteristics of Distributed Software Systems (PDF)
    Dan C. Cosma, Radu Marinescu
    Published at:
    Proceedings of the 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT 2007), Alberta, Canada, (c)IEEE Computer Society Press, 2007
    This paper presents a visual approach for comprehending the design of distributed software systems, by using technology awareness to isolate the functionally-distinct units within the code, so that the blueprint of the system's distributed behavior can be easily extracted.