Theodore Chaikalis

Theodore Chaikalis
University of Macedonia | UOM · Department of Applied Informatics

Doctor of Philosophy

About

22
Publications
6,294
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
388
Citations
Additional affiliations
January 2012 - present
Athens University of Economics and Business
Position
  • Researcher
January 2011 - present
University of Macedonia
Position
  • Researcher

Publications

Publications (22)
Conference Paper
The last decade marked undeniably the leading role of web services and the establishment of service-oriented architectures. Indeed, it is nowadays hard to find a contemporary software application that does not use at least one third-party web service. The main driver for this paradigm shift, lies in the benefits that decoupled, cloud-based services...
Conference Paper
Nowadays the majority of cloud applications are developed based on the Service-Oriented Architecture (SOA) paradigm. Large-scale applications are structured as a collection of well-integrated services that are deployed in public, private or hybrid cloud. Despite the inherent benefits that service-based cloud development provides, the process is far...
Conference Paper
Technical Debt (TD) reflects problems in software maintainability along evolution. TD principal is defined as the effort required for refactoring an existing system to an ideal one (a.k.a. optimal) that suffers from no maintainability problems. One of the open problems in the TD community is that ideal versions of systems do not exist, and there ar...
Thesis
Full-text available
Contemporary software systems evolve over a large number of versions due to the need for continuous adaptive and corrective maintenance. The duration and cost of this process call for software systems that can be extended or modified in an effortless and rapid way. To this end, the maintainability of such systems can be enhanced by taking advantage...
Data
As in any academic discipline, the evaluation of proposed methodologies and techniques is of vital importance for assessing the validity of novel ideas or findings in Software Engineering. Over the years, a large number of evaluation approaches have been employed, some of them drawn from other domains and other particularly developed for the needs...
Conference Paper
Full-text available
As in any academic discipline, the evaluation of proposed methodologies and techniques is of vital importance for assessing the validity of novel ideas or findings in Software Engineering. Over the years, a large number of evaluation approaches have been employed, some of them drawn from other domains and other particularly developed for the needs...
Conference Paper
Libraries are increasingly employed in software practice to speed up the development process by reusing available and tested components. Software systems, that are available as libraries, are expected to be well-designed, because they have to adhere to specific principles, in order to accommodate the needs of multiple clients in a robust and stable...
Conference Paper
Libraries are increasingly employed in software practice to speed up the development process by reusing available and tested components. Software systems, that are available as libraries, are expected to be well-designed, because they have to adhere to specific principles, in order to accommodate the needs of multiple clients in a robust and stable...
Conference Paper
Software development based on third-party libraries is becoming increasingly popular in recent years. Nowadays, the plethora of open-source libraries that are freely available to developers, offer great reuse opportunities, with relatively low cost. However, the reuse process is in many cases rather ad-hoc. In this paper, we investigate reuse proce...
Conference Paper
The analysis of software evolution by means of mining public repositories has been established as one of the dominant approaches for empirical studies in software engineering. However, even the investigation of the simplest research question demands a mazy process involving installation and configuration of tools, climbing their learning curve and...
Conference Paper
Full-text available
Accumulated technical debt can be alleviated by means of refactoring application aiming at architectural improvement. A prerequisite for wide scale refactoring application is the automated identification of the corresponding refactoring opportunities, or code smells. One of the major architectural problems that has received limited attention is the...
Article
Full-text available
The implementation of a functional requirement is often distributed across several modules posing difficulties to software maintenance. In this paper, we attempt to quantify the extent of feature scattering and study its evolution with the passage of software versions. To this end, we trace the classes and methods involved in the implementation of...
Article
Version Control and Bug Tracking Systems are essential tools in contemporary software development methods and are widely employed by development teams for systematic source code revision tracking and effective bug management. By combining information provided from both tools, a maintainer could shed light to various qualitative and quantitative cha...
Conference Paper
Full-text available
Evolving software systems can be systematically studied by treating them as networks and employing ideas and techniques from the field of Social Network Analysis. SEANets is an Eclipse plugin that allows the analysis of multiple software versions and the extraction and visualization of network properties required to investigate evolutionary trends...
Conference Paper
Full-text available
The identification of software components that implement a certain feature is vital for understanding and reverse engineering an existing software system. Requirements traceability allows the investigation of scattering and tangling requirements which hinder significantly software maintenance. Even worse than feature scattering in a number of modul...

Network

Cited By

Projects

Project (1)
Project
The main objective of SmartCLIDE is to propose a radically new smart cloud-native development environment, based on the coding-by-demonstration principle, that will support creators of cloud services in the discovery, creation, composition, testing and deployment of full-stack data-centred services and applications in the cloud. SmartCLIDE will provide high levels of abstraction at all stages (development, testing, deployment and run-time) as well as self-discovery of IaaS and SaaS Services. SmartCLIDE will provide several categories of abstractions: at development stage, SmartCLIDE will provide abstractions on data transformations or processing; at testing stage, mechanisms to visualize flow and status or artefacts to automatically test the expected behaviour; at deployment stage, abstractions of physical and virtual resources; or at runtime, mechanisms to monitor the performance and operation of the service. The cloud nature of the environment will enable collaboration between different stakeholders, and the self-discovery of IaaS and SaaS services and the high levels of abstraction will facilitate the composition and deployment of new services to nontechnical staff (with no previous experience on programming or on the administration of systems and infrastructure). Equally, hiding the complexity of the infrastructure, and adding intelligence to this layer, will allow to select the most adequate infrastructure services in each moment. SmartCLIDE will allow SMEs and Public Administration to boost the adoption of Cloud and Big Data solutions, being validated at one solution oriented to Public Administration (Social Security System) and three different IoT and Big Data products of software development SMEs within the consortium.