EDBT 2026 Demo / reviewers in the wild / expert
Alexander Chatzigeorgiou
dblp:234/7810
· DBLP profile ↗
121ranked-venue papers
10as first author
41since 2021 · last 2026
0000-0002-5381-8418ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 107 · 9 first-author · 39 since 2021Applied, interdisciplinary, general and emerging computing · 14 · 2 since 2021Systems, architecture and hardware · 4 · 2 first-author · 2 since 2021Human-computer interaction and ubiquitous computing · 4Security and privacy · 3Graphics, computer vision, multimedia, augmented reality and games · 2Artificial intelligence and machine learning · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | LocVul: Line-level vulnerability localization based on a Sequence-to-Sequence approach
Ilias Kalouptsoglou, Miltiadis G. Siavvas, Apostolos Ampatzoglou, Dionisis D. Kehagias, Alexander Chatzigeorgiou |
Inf. Softw. Technol. | 5 |
| 2026 | Required knowledge, skills and transversal competences for a career in software engineeringabstractContext Possessing up-to-date knowledge, skills and transversal competencies (KSTs) is essential for both the successful delivery of software projects and a career in software engineering (SE). However, the technological landscape is changing rapidly, posing continuous challenges: for professionals entering the market or pivoting careers, for organizations hiring and monitoring workforce expertise and for educational institutes designing or updating their curricula. Objectives We study job requirements within and across SE occupations (Applications Programmers, Software Developers, Systems Analysts, Web and Multimedia Developers) to assist software organizations to better face skill mismatch and skills’ gap problems, software engineers in upskilling and reskilling endeavors and software education institutes in providing more industrially relevant curricula. Method In this study, we leverage a large corpus of online job advertisements, which are jointly collected by CEDEFOP and Eurostat. The dataset is analyzed through the lens of concepts and techniques from the study of biodiversity of species to assess the variation of expertise and identify skills that are transferable or unique in these occupations. Specifically, we adopt established diversity indices, such as alpha diversity, beta diversity, ordination methods, and indicator species analysis, aiming to quantify both the variety of skills within occupations and the differences across them. This approach highlights both the breadth and distinctiveness of expertise across occupations, rendering the biodiversity perspective a central and practical part of our methodology. Results The results reveal that the complete list of KSTs that is used to characterize the profiles of OJAs for SE-related occupations is very broad and that skillset required for each occupation is quite distinct, since there are statistically significant differences in the composition of the skillsets. Transversal Skills and Competences (T) appear to be the most transferable qualification; or “adapt to change” and “work in teams” are the KSTs that appears more uniformly to all studied software occupations, and “computer programming” is the top hard-skill that appears more uniformly to all occupations. However, each occupation shows some specific qualifications. Conclusion The results are contrasted against the literature, are interpreted, various implications to researchers and practitioners are provided, and a retrospective analysis of the tailoring of the biodiversity approach to SE labor landscape is provided. Overall, the proposed biodiversity analysis adds value by providing a novel, theory-driven methodology to assess skill variation, identifying both common and occupation-specific KSTs, and supporting evidence-based workforce and curriculum design. Nikolaos Mittas, Dimitrios Trygoniaris, Apostolos Ampatzoglou, Elvira-Maria Arvanitou, Christina Volioti, Alexander Chatzigeorgiou, Lefteris Angelis |
Inf. Softw. Technol. | 6 |
| 2026 | AI-assisted code refactoring: Where can it be helpful and where do humans outperform it?abstractThe use of Generative AI, and more specifically Large-Language Models (LLMs), is becoming an essential aid in the software development process. An increasing number of software engineers are using general-purpose or code-trained LLMs for writing code, formulating requirements or deriving test cases. However, since this practice has come so abruptly into the daily routines of developers, the research community is still lacking an in-depth evaluation of its effectiveness. A major aspect of software engineering using LLMs that is rather unexplored is the quality of the code that is generated. In this paper, we explore the ability of GenAI to assist developers in performing refactoring activities, employing well-established Object-Oriented Programming “ good-practices ” like GoF Design Patterns and SOLID principles. To achieve this goal, we have performed a controlled experiment on junior developers, relying on a cross-over experimental design, and asked them to complete development tasks with and without the use of an LLM. The results suggested that GenAI-Assisted solutions outperformed Humans-Only ones in terms of the correctness of implementing the selected practice (pattern or principle), whereas Humans-Only solutions were superior in cognitive steps of the refactoring process such as the identification of the problem and the compromised quality attributes. Apostolos Ampatzoglou, Elvira-Maria Arvanitou, Stavros Almpanopoulos, Nikolaos Mittas, Alexander Chatzigeorgiou |
J. Syst. Softw. | 5 |
| 2026 | The Evolution of Technical Debt from DevOps to Generative AI: A multivocal literature reviewabstractThe rapid integration of Artificial Intelligence (AI) – including Machine Learning (ML) and Generative AI – into software systems is reshaping the software development lifecycle. As AI-driven systems become more dynamic and complex, traditional approaches to Technical Debt (TD) management face increasing limitations. Simultaneously, AI-assisted development introduces new forms of TD, particularly in relation to maintainability, explainability, and data governance. This study aims to explore how Technical Debt Management (TDM) must adapt in the context of AI-enhanced software development. It investigates (1) the evolution of TD in AI-driven systems, and (2) the implications of using AI technologies within the software engineering process. We conducted a multivocal literature review, combining insights from both peer-reviewed research and industry sources. Following established guidelines, we systematically analyzed 61 primary sources, categorized TD types and management activities, and identified key challenges and practices emerging in the AI era. Our findings reveal that data-related, infrastructure, and pipeline-related TD are particularly prevalent in ML systems. Machine Learning Operations (MLOps) practices are increasingly recognized as essential for managing such debt, especially in relation to dynamic data dependencies and model retraining. In parallel, AI-generated artifacts and automated pipelines introduce new governance and maintainability challenges. Technical Debt in AI systems demands continuous, automated, and cross-functional management strategies. As software evolves in response to data and usage, new operational paradigms – grounded in practices like MLOps and Small Language Model Operations (SLMOps) – will be vital to ensure long-term software sustainability. This study provides a foundational map for researchers and practitioners navigating the intersection of AI and TD management. • Data-centric AI systems introduce new forms of TD in data, infrastructure, and governance. • MLOps is often assumed in research, while its practices and security concerns are overlooked. • Gray literature captures real-world data debt practices absent in academic sources. • Prompt and explainability debt are rising issues in GenAI with little formal support. • SLMOps may offer future-ready frameworks for managing lightweight AI pipelines. Sergio Moreschini, Elvira-Maria Arvanitou, Elisavet-Persefoni Kanidou, Nikolaos Nikolaidis 0003, Ruoyu Su, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Valentina Lenarduzzi |
J. Syst. Softw. | 7 |
| 2025 | Transfer learning for software vulnerability prediction using Transformer models
Ilias Kalouptsoglou, Miltiadis G. Siavvas, Apostolos Ampatzoglou, Dionisis D. Kehagias, Alexander Chatzigeorgiou |
J. Syst. Softw. | 5 |
| 2025 | Code beauty is in the eye of the beholder: Exploring the relation between code beauty and qualityabstractSoftware artifacts and source code are often viewed as pure technical constructs aiming primarily at delivering specific functionality to the end users. However, almost each line of a computer program is the result of software engineer’s craftsmanship and thus reflects their skills and capabilities, but also their aesthetic view of how code should be written. Additionally, by nature, the code is not an artifact that is managed by a single person: the code is peer-reviewed, in some cases programmed in pairs, or maintained by different people. In this respect, the first impression for the quality of a code is usually a matter of “ reading ” the “ beauty ” of the code and then diving into the details of the actual implementation. This “ first-look ” impression can psychologically bias the software engineers, either positively or negatively and affect their evaluation. In this article we propose a novel code beauty model (accompanied with metrics) and empirically explore: (a) if different software engineers perceive code beauty in the same way; (b) if the proposed code beauty metrics are correlated to the perceived code beauty by individual software engineers; and (c) if code beauty metrics are correlated to software maintainability. The results of the study suggest: (a) that code beauty is highly subjective and different software engineers perceive a code chunk as beautiful or not in an inconsistent way; (b) that some code beauty metrics can be considered as correlated to maintainability; and therefore, the “ first-look ” impression might to some extent be representative of the quality of the reviewed code chunk. Theodoros Maikantis, Ilianna Natsiou, Christina Volioti, Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Nikolaos Mittas, Alexander Chatzigeorgiou, Stelios Xinogalos |
J. Syst. Softw. | 7 |
| 2025 | Codeless3D: Design and Usability Evaluation of a Low-Code Tool for 3-D Game GenerationabstractIn recent years, the game industry has experienced significant growth from both a financial and a social viewpoint. Developing compelling games that rely on novel content is a challenge for 3-D firms, especially in terms of meeting the diverse expectations of end users. Game development is performed by multidisciplinary teams of professionals, in which game/level designers play a crucial role. Inevitably, they often depend on programmers for technical implementations creating bottlenecks, even for prototyping purposes. This issue has raised the need for introducing efficient low-code environments that empower individuals without programming expertise to develop 3-D games. This work introduces Codeless3D, a prototype for low-code 3-D game creation by nonprogrammers. The proposed approach and the tool aim to reduce design and development time, bridging the gap between conceptualization and production. To evaluate the usefulness of Codeless3D, in terms of usability and its vision, an evaluation study was conducted. The findings suggested that Codeless3D effectively reduces design and development time for stakeholders in the game development field. Overall, this article contributes to the emerging trend of low-code tools in the entertainment domain and offers insights for further improvements in game design and development processes. Christina Volioti, Vasileios Martsis, Apostolos Ampatzoglou, Euclid Keramopoulos, Alexander Chatzigeorgiou |
IEEE Trans. Games | 5 |
| 2025 | Artificial Intelligence for Software Engineering: The Journey So Far and the Road AheadabstractArtificial intelligence and recent advances in deep learning architectures, including transformer networks and large language models, change the way people think and act to solve problems. Software engineering, as an increasingly complex process to design, develop, test, deploy, and maintain large-scale software systems for solving real-world challenges, is profoundly affected by many revolutionary artificial intelligence tools in general and machine learning in particular. In this roadmap for artificial intelligence in software engineering, we highlight the recent deep impact of artificial intelligence on software engineering by discussing successful stories of applications of artificial intelligence to classic and new software development challenges. We identify the new challenges that the software engineering community has to address in the coming years to successfully apply artificial intelligence in software engineering, and we share our research roadmap toward the effective use of artificial intelligence in the software engineering profession, while still protecting fundamental human values. We spotlight three main areas that challenge the research in software engineering: the use of generative artificial intelligence and large language models for engineering large software systems, the need of large and unbiased datasets and benchmarks for training and evaluating deep learning and large language models for software engineering, and the need of a new code of digital ethics to apply artificial intelligence in software engineering. Iftekhar Ahmed 0001, Aldeida Aleti, Haipeng Cai, Alexander Chatzigeorgiou, Pinjia He, Xing Hu 0008, Mauro Pezzè, Denys Poshyvanyk, Xin Xia 0001 |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2024 | Vulnerability prediction using pre-trained models: An empirical evaluationabstractThe rise of Large Language Models (LLMs) has provided new directions for addressing downstream text classification tasks, such as vulnerability prediction, where segments of the source code are classified as vulnerable or not. Several recent studies have employed transfer learning in order to enhance vulnerability prediction taking advantage of the prior knowledge of the pre-trained LLMs. In the current study, different Transformer-based pre-trained LLMs are examined and evaluated with respect to their capacity to predict vulnerable software components. In particular, we fine-tune BERT, GPT-2, and T5 models, as well as their code-oriented variants namely CodeBERT, CodeGPT, and CodeT5 respectively. Subsequently, we assess their performance and we conduct an empirical comparison between them to identify the models that are the most accurate ones in vulnerability prediction. Ilias Kalouptsoglou, Miltiadis G. Siavvas, Apostolos Ampatzoglou, Dionisis D. Kehagias, Alexander Chatzigeorgiou |
MASCOTS | 5 |
| 2024 | Software Engineering Practices in Smart Contract Development: A Systematic Mapping Study
Antonios Giatzis, Elvira-Maria Arvanitou, Danai Papadopoulou, Theodoros Maikantis, Nikolaos Nikolaidis 0003, Daniel Feitosa, Christos K. Georgiadis, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Evdokimos I. Konstantinidis, Panagiotis D. Bamidis |
PROFES | 9 |
| 2024 | What you See is What you Get: Exploring the Relation between Code Aesthetics and Code QualityabstractSoftware artifacts and source code are often viewed as pure technical constructs aiming primarily at delivering specific functionality to the end users. However, almost each line of a computer program is the result of developers' craftsmanship and thus reflects their skills and capabilities, but also their aesthetic view of how code should be written. Additionally, by nature, the code is not an artifact that is managed by a single person: the code is peer-reviewed, in some cases programmed in pairs, or maintained by different people. In this respect, the first impression for the quality of a code is usually a matter of "reading" the aesthetics of the code and then, diving into the details of the actual implementation. This "first-look" impression can psychologically bias the software engineer, either positively or negatively and affect his/her evaluation. In this article we investigate whether code beauty (or code aesthetics) must be valued in software programs, as a proxy to the quality of the code. Specifically, we attempt to relate the notion of code beauty with code quality metrics. For this purpose, we catalogued existing beauty measures (assessing the aesthetics of images, objects, and alphanumeric displays), tailored them to match code beauty, and correlated them to structural properties that are related to Technical Debt Interest (such as coupling, cohesion, etc.). The results of the study suggest that some code beauty metrics can be considered as correlated to TD Interest; and therefore, the "first-look" impression might to some extent be representative of the quality of the reviewed code chunk. Theodoros Maikantis, Iliana Natsiou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Stelios Xinogalos, Nikolaos Mittas |
TechDebt@ICSE | 4 |
| 2024 | SDK4ED: a platform for building energy efficient, dependable, and maintainable embedded software
Miltiadis G. Siavvas, Dimitrios Tsoukalas, Charalambos Marantos, Lazaros Papadopoulos, Christos P. Lamprakos, Oliviu Matei, Christos Strydis, Muhammad Ali Siddiqi, Philippe Chrobocinski, Katarzyna Filus, Joanna Domanska, Paris Avgeriou, Apostolos Ampatzoglou, Dimitrios Soudris, Alexander Chatzigeorgiou, Erol Gelenbe, Dionisis D. Kehagias, Dimitrios Tzovaras |
Autom. Softw. Eng. | 15 |
| 2024 | Supporting single responsibility through automated extract method refactoring
Alireza Ardalani, Saeed Parsa, Morteza Zakeri Nasrabadi, Alexander Chatzigeorgiou |
Empir. Softw. Eng. | 4 |
| 2024 | A metrics-based approach for selecting among various refactoring candidates
Nikolaos Nikolaidis 0003, Nikolaos Mittas, Apostolos Ampatzoglou, Daniel Feitosa, Alexander Chatzigeorgiou |
Empir. Softw. Eng. | 5 |
| 2024 | What does matter in the success of a decentralized application? From idea to development
Elvira-Maria Arvanitou, Dimitrios Gagoutis, Apostolos Ampatzoglou, Nikolaos Mittas, Ignatios S. Deligiannis, Alexander Chatzigeorgiou |
Inf. Softw. Technol. | 6 |
| 2024 | Eclipse Open SmartCLIDE: An end-to-end framework for facilitating service reuse in cloud developmentabstractService-Oriented Architectures (SOA) have become a standard for developing software applications, including but not limited to cloud-based ones and enterprise systems. When using SOA, software engineers organize the desired functionality into self-contained and independent services that are invoked through end-points (with API calls). The use of this emerging technology has changed drastically the way that software reuse is performed, in the sense that a “ service ” is a “ code chunk ” that is reusable (preferably in a black-box manner), but in many (especially “ in-house ”) cases, white-box reuse is also meaningful. To confront the reuse challenges opened-up by the rise of SOA, in the SmartCLIDE project 1 we have developed a framework (a methodology and a platform) to aid software engineers in systematic and more efficient (in terms of time, quality, defects, and process) reuse of services, when developing SOA-based cloud applications. In this work, we: (a) present the SmartCLIDE methodology and the Eclipse Open SmartCLIDE platform; and (b) evaluate the usefulness of the framework, in terms of relevance, usability, and obtained benefits. The results of the study have confirmed the relevance and rigor of the framework, unveiled some limitations, and pointed to interesting future work directions, but also provided some actionable implications for researchers and practitioners. Nikolaos Nikolaidis 0003, Elvira-Maria Arvanitou, Christina Volioti, Theodoros Maikantis, Apostolos Ampatzoglou, Daniel Feitosa, Alexander Chatzigeorgiou, Phillipe Krief |
J. Syst. Softw. | 7 |
| 2024 | A practical approach for technical debt prioritization based on class-level forecastingabstractAbstract Monitoring technical debt (TD) is considered highly important for software companies, as it provides valuable information on the effort required to repay TD and in turn maintain the system. When it comes to TD repayment, however, developers are often overwhelmed with a large volume of TD liabilities that they need to fix, rendering the procedure effort demanding. Hence, prioritizing TD liabilities is of utmost importance for effective TD repayment. Existing approaches rely on the current TD state of the system; however, prioritization would be more efficient by also considering its future evolution. To this end, the present work proposes a practical approach for prioritization of TD liabilities by incorporating information retrieved from TD forecasting techniques, emphasizing on the class‐level granularity to provide highly actionable results. Specifically, the proposed approach considers the change proneness and forecasted TD evolution of software artifacts and combines it with proper visualization techniques, to enable the early identification of classes that are more likely to become unmaintainable. To demonstrate and evaluate the approach, an empirical study is conducted on six real‐world applications. The proposed approach is expected to facilitate developers better plan refactoring activities, in order to manage TD promptly and avoid unforeseen situations long term. Dimitrios Tsoukalas, Miltiadis G. Siavvas, Dionisis D. Kehagias, Apostolos Ampatzoglou, Alexander Chatzigeorgiou |
J. Softw. Evol. Process. | 5 |
| 2024 | Local and Global Explainability for Technical Debt IdentificationabstractIn recent years, we have witnessed an important increase in research focusing on how machine learning (ML) techniques can be used for software quality assessment and improvement. However, the derived methodologies and tools lack transparency, due to the black-box nature of the employed machine learning models, leading to decreased trust in their results. To address this shortcoming, in this paper we extend the state-of-the-art and -practice by building explainable AI models on top of machine learning ones, to interpret the factors (i.e. software metrics) that constitute a module as in risk of having high technical debt (HIGH TD), to obtain thresholds for metric scores that are alerting for poor maintainability, and finally, we dig further to achieve local interpretation that explains the specific problems of each module, pinpointing to specific opportunities for improvement during TD management. To achieve this goal, we have developed project-specific classifiers (characterizing modules as HIGH and NOT-HIGH TD) for 21 open-source projects, and we explain their rationale using the SHapley Additive exPlanation (SHAP) analysis. Based on our analysis, complexity, comments ratio, cohesion, nesting of control flow statements, coupling, refactoring activity, and code churn are the most important reasons for characterizing classes as in HIGH TD risk. The analysis is complemented with global and local means of interpretation, such as metric thresholds and case-by-case reasoning for characterizing a class as in-risk of having HIGH TD. The results of the study are compared against the state-of-the-art and are interpreted from the point of view of both researchers and practitioners. Dimitrios Tsoukalas, Nikolaos Mittas, Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Dionisis D. Kehagias |
IEEE Trans. Software Eng. | 5 |
| 2023 | Exploring the Effect of Various Maintenance Activities on the Accumulation of TD PrincipalabstractOne of the most well-known laws of software evolution suggests that code quality deteriorates over time. Following this law, recent empirical studies have brought evidence that Technical Debt (TD) Principal tends to increase (in absolute value) as the system grows, since more technical debt issues are added than resolved over time. To shed light into how technical debt accumulation occurs in practice, in this paper we explore specific maintenance activities (i.e., feature addition, bug fixing, and refactoring) and explore the balance between the technical debt that they introduce or resolve. To achieve this goal, we rely on studying Pull Requests (PR), which are the most established way to contribute code to an open-source project. A Pull Request is usually comprised by more than one commits, corresponding to a specific development / maintenance activity. In our study, we categorized Pull Requests, based on their labels, to find the effect that the different maintenance activities have on the accumulation of technical debt across evolution. In particular, we have analysed more than 13.5K pull requests (mined from 10 OSS projects), by calculating the TD Principal (calculated through SonarQube) before and after the Pull Requests. The results of the study suggested that several labels are used for tagging Pull Requests, out of which the most prevalent ones are new features, bug fixing, and refactoring. The effect of these activities on TD Principal accumulation is statistically different, and: (a) the addition of features tends to increase TD Principal; (b) refactoring is having an almost consistent positive effect (reducing TD Principal); and (c) bug fixing activity has undecisive impact on TD Principal. These results are compared to existing studies, interpreted, and various useful implications for researchers and practitioners have been drawn. Nikolaos Nikolaidis 0003, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Nikolaos Mittas, Evdokimos I. Konstantinidis, Panagiotis D. Bamidis |
TechDebt@ICSE | 3 |
| 2023 | It's about time: How to study intertemporal choice in systems designabstractDecision making pervades software and systems engineering. Intertemporal decisions involve trade-offs among outcomes at different points in time. They play a central role in systems design, as recognised since the inception of the software engineering (SE) field. They are also crucial for the sustainability of design decisions. However, temporal decision making is not adequately understood in SE. The field of Judgement and Decision Making (JDM) offers important empirical findings and research methods that could be utilised. This article establishes a baseline for studying how software professionals handle intertemporal choices. It examines how temporal distance affects choices in an example scenario, explores in what areas of software development such decisions can be found, and examines how systems design decisions can be characterised and studied as intertemporal. We developed a method to study intertemporal choice in SE, based on an initial set of psychological theory grounded in JDM. We instantiated the method in a study to elicit responses to an intertemporal choice task followed by a Cognitive Task Analysis (CTA) interview. We found that study participants overall tended to discount future outcomes, but individual participants varied wildly in how they valued present vs. future outcomes. They indicated several locations in which intertemporal choices occur in everyday software development. Based on these findings, and by reconciling our initial theory with existing JDM theory and results, we further developed and refined our theory and study method into a framework for studying intertemporal decision making in SE. To obtain a basis for more sustainable software systems design decisions, SE research should adopt a more comprehensive, detailed, and empirically consistent way of understanding and studying intertemporal choices. We provide suggestions for how future research could achieve practical methods that address essential characteristics of real-life systems design decisions. Fabian Fagerholm, Andres De los Ríos, Carol Cárdenas-Castro, Jenny Gil, Alexander Chatzigeorgiou, Apostolos Ampatzoglou, Christoph Becker 0001 |
Inf. Softw. Technol. | 5 |
| 2023 | Software vulnerability prediction: A systematic mapping study
Ilias Kalouptsoglou, Miltiadis G. Siavvas, Apostolos Ampatzoglou, Dionisis D. Kehagias, Alexander Chatzigeorgiou |
Inf. Softw. Technol. | 5 |
| 2023 | SmartCLIDE design pattern assistant: A decision-tree based approachabstractAbstract Design patterns are well‐known solutions to recurring design problems that are widely adopted in the software industry, either as formal means of communication or as a way to improve structural quality, enabling proper software extension. However, the adoption and correct instantiation of patterns is not a trivial task and requires substantial design experience. Some patterns are conceptually close or present similar design alternatives, leading novice developers to improper pattern selection, thereby reducing maintainability. Additionally, the mis‐instantiation of a GoF (Gang‐of‐Four) design pattern, leads to phenomena such as pattern grime or architecture decay. To alleviate this problem, in this work we propose an approach that can help software engineers to more easily and safely select the proper design pattern, for a given design problem. The approach relies on decision trees, which are constructed using domain knowledge, while options are conveyed to software engineers through an Eclipse Theia plugin. To assess the usefulness and the perceived benefits of the approach, as well as the usability of the tool support, we have conducted an industrial validation study, using various data collection methods, such as questionnaires, focus groups, and task analysis. The results of the study suggest that the proposed approach is promising, since it increases the probability of the proper pattern being selected, and various useful future work suggestions have been obtained by the practitioners. Eleni Polyzoidou, Evangelia Papagiannaki, Nikolaos Nikolaidis 0003, Apostolos Ampatzoglou, Nikolaos Mittas, Elvira-Maria Arvanitou, Alexander Chatzigeorgiou, George Manolis, Evdoxia Manganopoulou |
Softw. Pract. Exp. | 7 |
| 2023 | Assessing TD Macro-Management: A Nested Modeling Statistical ApproachabstractQuality improvement can be performed at the: (a) micro-management level: interventions applied at a fine-grained level (e.g., at a class or method level, by applying a refactoring); or (b) macro-management level: interventions applied at a large-scale (e.g., at project level, by using a new framework or imposing a quality gate). By considering that the outcome of any activity can be characterized as the product ofimpactandscale, in this paper we aim at exploring the impact of Technical Debt (TD) Macro-Management, whose scale is by definition larger than TD Micro-Management. By considering that TD artifacts reside at the micro-level, the problem calls for a nested model solution; i.e., modeling the structure of the problem: artifacts have some inherent characteristics (e.g., size and complexity), but obey the same project management rules (e.g., quality gates, CI/CD features, etc.). In this paper, we use the Under-Bagging based Generalized Linear Mixed Models approach, to unveil project management activities that are associated with the existence of HIGH_TD artifacts, through an empirical study on 100 open-source projects. The results of the study confirm that micro-management parameters are associated with the probability of a class to be classified as HIGH_TD, but the results can be further improved by controlling some project-level parameters. Based on the findings of our nested analysis, we can advise practitioners on macro-technical debt management approaches (such as “control the number of commits per day”, “adopt quality control practices”, and “separate testing and development teams”) that can significantly reduce the probability of all software artifacts to concentrate HIGH_TD. Although some of these findings are intuitive, this is the first work that delivers empirical quantitative evidence on the relation between TD values and project- or process-level metrics. Nikolaos Nikolaidis 0003, Nikolaos Mittas, Apostolos Ampatzoglou, Elvira-Maria Arvanitou, Alexander Chatzigeorgiou |
IEEE Trans. Software Eng. | 5 |
| 2022 | SDK4ED: One-click platform for Energy-aware, Maintainable and Dependable ApplicationsabstractDeveloping modern secure and low-energy applications in a short time imposes new challenges and creates the need of designing new software tools to assist developers in all phases of application development. The design of such tools cannot be considered a trivial task, as they should be able to provide optimization of multiple quality requirements. In this paper, we introduce the SDK4ED platform, which incorporates advanced methods and tools for measuring and optimizing maintainability, dependability and energy. The presented solution offers a com-plete tool-flow for providing indicators and optimization meth-ods with emphasis on embedded software. Effective forecasting models and decision-making solutions are also implemented to improve the quality of the software, respecting the constraints imposed on maintenance standards, energy consumption limits and security vulnerabilities. The use of the SDK4ED platform is demonstrated in a healthcare embedded application. Charalampos Marantos, Miltiadis G. Siavvas, Dimitrios Tsoukalas, Christos P. Lamprakos, Lazaros Papadopoulos, Pawel Boryszko, Katarzyna Filus, Joanna Domanska, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Erol Gelenbe, Dionisis D. Kehagias, Dimitrios Soudris |
DATE | 10 |
| 2022 | Practitioners' Perspective on Practices for Preventing Technical Debt Accumulation in Scientific Software Development
Elvira-Maria Arvanitou, Nikolaos Nikolaidis 0003, Apostolos Ampatzoglou, Alexander Chatzigeorgiou |
ENASE | 4 |
| 2022 | Automated Summarization of Service Workflows to Facilitate Discovery and Composition
Panagiotis Kotsikoris, Theodoros Chaikalis, Apostolos Ampatzoglou, Alexander Chatzigeorgiou |
ENASE | 4 |
| 2022 | Service Classification through Machine Learning: Aiding in the Efficient Identification of Reusable Assets in Cloud Application DevelopmentabstractDeveloping software based on services is one of the most emerging programming paradigms in software development. Service-based software development relies on the composition of services (i.e., pieces of code already built and deployed in the cloud) through orchestrated API calls. Black-box reuse can play a prominent role when using this programming paradigm, in the sense that identifying and reusing already existing/deployed services can save substantial development effort. According to the literature, identifying reusable assets (i.e., components, classes, or services) is more successful and efficient when the discovery process is domain-specific. To facilitate domain-specific service discovery, we propose a service classification approach that can categorize services to an application domain, given only the service description. To validate the accuracy of our classification approach, we have trained a machine-learning model on thousands of open-source services and tested it on 67 services developed within two companies employing service-based software development. The study results suggest that the classification algorithm can perform adequately in a test set that does not overlap with the training set; thus, being (with some confidence) transferable to other industrial cases. Additionally, we expand the body of knowledge on software categorization by highlighting sets of domains that consist ‘grey-zones’ in service classification. Zakieh Alizadehsani, Daniel Feitosa, Theodoros Maikantis, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, David Berrocal-Macías, Alfonso González-Briones, Juan M. Corchado, Marcio Mateus, Johannes Groenewold |
SEAA | 5 |
| 2022 | Quantifying TD Interest: Are we Getting Closer, or Not Even That?abstractDespite the attention that Technical Debt has attracted over the last years, the quantification of TD Interest still remains rather vague (and abstract). TD Interest quantification is hindered by various factors that introduce a lot of uncertainty, such as: identifying the parts of the system that will be maintained, quantifying the load of maintenance, as well as the size of the maintenance penalty, due to the existence of TD. In this study, we aim to shed light on the current approaches for quantifying TD Interest by exploring existing literature within the TD and Maintenance communities. To achieve this goal, we performed a systematic mapping study on Scopus and explored: (a) the existing approaches for quantifying TD Interest; (b) the existing approaches for estimating Maintenance Cost; and (c) the factors that must be taken into account for their quantification. The broad search process has returned more than 1,000 articles, out of which only 25 provide well-defined mathematical formulas/ equations for the quantification of TD Interest or Maintenance Cost (only 6 of them are explicitly for TD Interest). The results suggest that despite their similarities, the quantification of TD Interest presents additional challenges compared to Maintenance Cost Estimation, constituting (at least for the time being) the accurate quantification of TD Interest an open and distant to solve research problem. Regarding the factors that need to be considered for such an endeavor, based on the literature: size, complexity, and business parameters are those that are more actively associated to TD Interest quantification. Elvira-Maria Arvanitou, Pigi Argyriadou, Georgia Koutsou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou |
SEAA | 5 |
| 2022 | Merging smell detectors: evidence on the agreement of multiple toolsabstractTechnical Debt estimation relies heavily on the use of static analysis tools looking for violations of pre-defined rules. Largely, Technical Debt principal is attributed to the presence of low-level code smells, unavoidably tying the effort for fixing the problems with mere coding inefficiencies. At the same time, despite their simple definition, the detection of most code smells is non-trivial and subjective, rendering the assessment of Technical Debt principal dubious. To this end, we have revisited the literature on code smell detection approaches backed by tools and developed an Eclipse plugin that incorporates six code smell detection approaches. The combined application of various smell detectors can increase the certainty of identifying actual code smells that matter to the development team. We also conduct a case study to investigate the agreement among the employed code smell detectors. To our surprise the level of agreement is quite low even for relatively simple code smells, threating the validity of existing TD analysis tools and calling for increased attention to the precise specification of code and design level issues. Apostolos Ichtsis, Nikolaos Mittas, Apostolos Ampatzoglou, Alexander Chatzigeorgiou |
TechDebt@ICSE | 4 |
| 2022 | TD classifier: automatic identification of Java classes with high technical debtabstractTo date, the identification and quantification of Technical Debt (TD) rely heavily on a few sophisticated tools that check for violations of certain predefined rules, usually through static analysis. Different tools result in divergent TD estimates calling into question the reliability of findings derived by a single tool. To alleviate this issue, we present a tool that employs machine learning on a dataset built upon the convergence of three widely-adopted TD Assessment tools to automatically assess the class-level TD for any arbitrary Java project. The proposed tool is able to classify software classes as high-TD or not, by synthesizing source code and repository activity information retrieved by employing four popular open source analyzers. The classification results are combined with proper visualization techniques, to enable the identification of classes that are more likely to be problematic. To demonstrate the proposed tool and evaluate its usefulness, a case study is conducted based on a real-world open-source software project. The proposed tool is expected to facilitate TD management activities and enable further experimentation through its use in an academic or industrial setting. Dimitrios Tsoukalas, Alexander Chatzigeorgiou, Apostolos Ampatzoglou, Nikolaos Mittas, Dionisis D. Kehagias |
TechDebt@ICSE | 2 |
| 2022 | Technical Debt in Service-Oriented Software Systems
Nikolaos Nikolaidis 0003, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Sofia Tsekeridou, Avraam Piperidis |
PROFES | 3 |
| 2022 | Translating quality-driven code change selection to an instance of multiple-criteria decision making
Christos P. Lamprakos, Charalampos Marantos, Miltiadis G. Siavvas, Lazaros Papadopoulos, Angeliki-Agathi Tsintzira, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Dionisis D. Kehagias, Dimitrios Soudris |
Inf. Softw. Technol. | 7 |
| 2022 | SDK4ED: A platform for technical debt managementabstractAbstract Technical debt management is of paramount importance for the software industry, since maintenance is the costlier activity in the software development lifecycle. In this article, we present the SDK4ED platform that enables efficient technical debt management (i.e., measurement, evolution analysis, prevention, etc.) at the code level, and evaluate its capabilities in an industrial setting. The SDK4ED platform is the outcome of a 3‐year project, including several software industries. Since, the research rigor of the approaches that reside in SDK4ED have already been validated, in this work we focus: (a) on the presentation of the platform per se; (b) the evaluation of its industrial relevance; (c) the usability of the platform; as well as (d) the financial implications of its usage. Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Elvira-Maria Arvanitou, Stamatia Bibi |
Softw. Pract. Exp. | 2 |
| 2022 | A metric for quantifying the ripple effects among requirements
Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou, Nikolaos Tsiridis |
Softw. Qual. J. | 3 |
| 2022 | The temporality of technical debt introduction on new code and confounding factors
Georgios Digkas, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou |
Softw. Qual. J. | 3 |
| 2022 | Can Clean New Code Reduce Technical Debt Density?abstractWhile technical debt grows in absolute numbers as software systems evolve over time, the density of technical debt (technical debt divided by lines of code) is reduced in some cases. This can be explained by either the application of refactorings or the development of new artifacts with limited Technical Debt. In this paper we explore the second explanation, by investigating the relation between the amount of Technical Debt in new code and the evolution of Technical Debt in the system. To this end, we compare the Technical Debt Density of new code with existing code, and we investigate which of the three major types of code changes (additions, deletions and modifications) is primarily responsible for changes in the evolution of Technical Debt density. Furthermore, we study whether there is a relation between code quality practices and the ‘cleanness’ of new code. To obtain the required data, we have performed a large-scale case study on twenty-seven open-source software projects by the Apache Software Foundation, analyzing 66,661 classes and 56,890 commits. The results suggest that writing “clean” (or at least “cleaner”) new code can be an efficient strategy for reducing Technical Debt Density, and thus preventing software decay over time. The findings also suggest that projects adopting an explicit policy for quality improvement, e.g., through discussions on code quality in board meetings, are associated with a higher frequency of cleaner new code commits. Therefore, we champion the establishment of processes that monitor the density of Technical Debt of new code to control the accumulation of Technical Debt in a software system. Georgios Digkas, Alexander Chatzigeorgiou, Apostolos Ampatzoglou, Paris Avgeriou |
IEEE Trans. Software Eng. | 2 |
| 2022 | Machine Learning for Technical Debt IdentificationabstractTechnical Debt (TD) is a successful metaphor in conveying the consequences of software inefficiencies and their elimination to both technical and non-technical stakeholders, primarily due to its monetary nature. The identification and quantification of TD rely heavily on the use of a small handful of sophisticated tools that check for violations of certain predefined rules, usually through static analysis. Different tools result in divergent TD estimates calling into question the reliability of findings derived by a single tool. To alleviate this issue we use 18 metrics pertaining to source code, repository activity, issue tracking, refactorings, duplication and commenting rates of each class as features for statistical and Machine Learning models, so as to classify them as High-TD or not. As a benchmark we exploit 18.857 classes obtained from 25 Java projects, whose high levels of TD has been confirmed by three leading tools. The findings indicate that it is feasible to identify TD issues with sufficient accuracy and reasonable effort: a subset of superior classifiers achieved an F2-measure score of approximately 0.79 with an associated Module Inspection ratio of approximately 0.10. Based on the results a tool prototype for automatically assessing the TD of Java projects has been implemented. Dimitrios Tsoukalas, Nikolaos Mittas, Alexander Chatzigeorgiou, Dionisis D. Kehagias, Apostolos Ampatzoglou, Theodoros Amanatidis, Lefteris Angelis |
IEEE Trans. Software Eng. | 3 |
| 2021 | Architectural decision-making as a financial investment: An industrial case studyabstractContext: Making architectural decisions is a crucial task but also very difficult, considering the scope of the decisions and their impact on quality attributes.To make matters worse, architectural decisions need to combine both technical and business factors, which are very dissimilar by nature.Objectives: We provide a cost-benefit approach and supporting tooling that treats architectural decisions as financial investments by: (a) combining both technical and business factors; and (b) transforming the involved factors into currency, allowing their uniform aggregation.Apart from illustrating the method, we validate both the proposed approach and the tool, in terms of fitness for purpose, usability, and potential limitations.Method: To validate the approach, we have performed a case study in a software development company, in the domain of low-energy embedded systems.We employed triangulation in the data collection phase of the case study, by performing interviews, focus groups, an observational session, and questionnaires.Results: The results of the study suggested that the proposed approach: (a) provides a structured process for systematizing decision-making; (b) enables the involvement of multiple stakeholders, distributing the decision-making responsibility to more knowledgeable people; (c) uses monetized representations that are important for assessing decisions in a unified manner; and (d) enables decision reuse and documentation. Conclusions:The results of the study suggest that architectural decision-making can benefit from treating this activity as a financial investment.The various benefits that have been identified from mixing financial and technological aspects are well-accepted from industrial stakeholders. Areti Ampatzoglou, Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Paris Avgeriou, Angeliki-Agathi Tsintzira, Alexander Chatzigeorgiou |
Inf. Softw. Technol. | 6 |
| 2021 | Software engineering practices for scientific software development: A systematic mapping studyabstractBackground: The development of scientific software applications is far from trivial, due to the constant increase in the necessary complexity of these applications, their increasing size, and their need for intensive maintenance and reuse. Aim: To this end, developers of scientific software (who usually lack a formal computer science background) need to use appropriate software engineering (SE) practices. This paper describes the results of a systematic mapping study on the use of SE for scientific application development and their impact on software quality. Method: To achieve this goal we have performed a systematic mapping study on 359 papers. We first describe a catalogue of SE practices used in scientific software development. Then, we discuss the quality attributes of interest that drive the application of these practices, as well as tentative side-effects of applying the practices on qualities. Results: The main findings indicate that scientific software developers are focusing on practices that improve implementation productivity, such as code reuse, use of third-party libraries, and the application of "good" programming techniques. In addition, apart from the finding that performance is a key-driver for many of these applications, scientific software developers also find maintainability and productivity to be important. Conclusions: The results of the study are compared to existing literature, are interpreted under a software engineering prism, and various implications for researchers and practitioners are provided. One of the key findings of the study, which is considered as important for driving future research endeavors is the lack of evidence on the trade-offs that need to be made when applying a software practice, i.e., negative (indirect) effects on other quality attributes. Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Jeffrey C. Carver |
J. Syst. Softw. | 3 |
| 2021 | An empirical study of COVID-19 related posts on Stack Overflow: Topics and technologies
Konstantinos Georgiou, Nikolaos Mittas, Alexander Chatzigeorgiou, Lefteris Angelis |
J. Syst. Softw. | 3 |
| 2021 | Implementing game requirements using design patternsabstractAbstract Game mechanics are high‐level descriptions of common game requirements; however, they do not provide any guidance on their code implementation. Nevertheless, their implementation involves high volumes of essential complexity, which in turn leads to the introduction of accidental complexity (long methods, code repetition, etc.). A possible solution to this problem is to map game mechanics to design patterns, in order to provide template instantiations that handle structural complexity. The aim of this study is twofold: (a) introduce template instantiations of game mechanics with Gang of Four (GoF) patterns and (b) evaluate such mappings in terms of extendibility and reusability. To achieve these objectives, we developed an online repository of mappings between GoF patterns and game mechanics and conducted an experiment to explore the benefits of the mapping. The results of the study suggest that the implementation of game mechanics with GoF patterns is beneficial, because the time to extent the current implementation or reuse code chunks is not prolonged, whereas the implementations are less faulty. Finally, the suggested mapping will equip game mechanics with sample implementations (that adhere to good design principles—ensuring extendibility) that can be reused, acting as a starting point for source code development. Maria Eleni Paschali, Christina Volioti, Apostolos Ampatzoglou, Anastasios Gkagkas, Ioannis Stamelos, Alexander Chatzigeorgiou |
J. Softw. Evol. Process. | 6 |
| 2020 | Investigating Trade-offs between Portability, Performance and Maintainability in Exascale SystemsabstractDue to the rapid advancements in the hardware architectures of High-Performance Computing infrastructures, new challenges have arisen in the development of scientific software applications. In particular, software that runs on Exascale machines, needs to be highly portable, highly parallelizable and at the same time maintainable, since software for HPC evolves constantly over time. By taking into account that an overall optimization of all the aforementioned qualities is not realistic, in this study, we explore the possible trade-offs, when optimizing the run-time qualities of the software (i.e., performance and portability) through state-of-practice techniques in Exascale software development, in expense of code maintainability, as expressed by technical debt. To achieve this goal, we have performed a case study, in which the effect of run-time optimizations on technical debt has been measured. The results suggest that run-time optimizations tend to reduce TD principal, whereas the effect on interest is not consistent. The results are discussed in detail in this paper from the point of view of both researchers and practitioners. Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Nikolaos Nikolaidis 0003, Angeliki-Agathi Tsintzira, Areti Ampatzoglou, Alexander Chatzigeorgiou |
SEAA | 6 |
| 2020 | A preliminary Study of Knowledge Sharing related to Covid-19 Pandemic in Stack OverflowabstractThe Covid-19 outbreak has changed to an unprecedented extent almost every aspect of human activity. At the same time, the pandemic has stimulated enormous amount of research by scientists across various disciplines, seeking to study the phenomenon itself, its epidemiological characteristics and ways to confront its consequences. Information Technology, and particularly Data Science, drive innovation in all related to Covid-19 biomedical fields. Acknowledging that software developers routinely resort to open `question & answer' communities like Stack Overflow to seek advice on solving technical issues, we have performed an empirical study to investigate the extent, evolution and characteristics of Covid-19 related posts. Through the study of 464 Stack Overflow questions posted in February and March 2020 and leveraging the power of text mining, we attempt to shed light into the interest of developers in Covid-19 related topics and the most popular problems for which the users seek information. The findings reveal that indeed this global crisis sparked off an intense activity in Stack Overflow with most post topics reflecting a strong interest on the analysis of Covid- 19 data, primarily using Python technologies. Konstantinos Georgiou, Nikolaos Mittas, Lefteris Angelis, Alexander Chatzigeorgiou |
SEAA | 4 |
| 2020 | The SDK4ED Platform for Embedded Software Quality Improvement - Preliminary Overview
Miltiadis G. Siavvas, Dimitrios Tsoukalas, Charalampos Marantos, Angeliki-Agathi Tsintzira, Marija Jankovic, Dimitrios Soudris, Alexander Chatzigeorgiou, Dionisis D. Kehagias |
ICCSA (4) | 7 |
| 2020 | RepoSkillMiner: Identifying software expertise from GitHub repositories using Natural Language ProcessingabstractA GitHub profile is becoming an essential part of a developer's resume enabling HR departments to extract someone's expertise, through automated analysis of his/her contribution to open-source projects. At the same time, having clear insights on the technologies used in a project can be very beneficial for resource allocation and project maintainability planning. In the literature, one can identify various approaches for identifying expertise on programming languages, based on the projects that developer contributed to. In this paper, we move one step further and introduce an approach (accompanied by a tool) to identify low-level expertise on particular software frameworks and technologies apart, relying solely on GitHub data, using the GitHub API and Natural Language Processing (NLP)---using the Microsoft Language Understanding Intelligent Service (LUIS). In particular, we developed an NLP model in LUIS for named-entity recognition for three (3) .NET technologies and two (2) front-end frameworks. Our analysis is based upon specific commit contents, in terms of the exact code chunks, which the committer added or changed. We evaluate the precision, recall and f-measure for the derived technologies/frameworks, by conducting a batch test in LUIS and report the results. The proposed approach is demonstrated through a fully functional web application named RepoSkillMiner. Tool Links : Video, Code Repo, Application, Validation Dataset Stratos Kourtzanidis, Alexander Chatzigeorgiou, Apostolos Ampatzoglou |
ASE | 2 |
| 2020 | Evaluating the agreement among technical debt measurement tools: building an empirical benchmark of technical debt liabilities
Theodoros Amanatidis, Nikolaos Mittas, Athanasia Moschou, Alexander Chatzigeorgiou, Apostolos Ampatzoglou, Lefteris Angelis |
Empir. Softw. Eng. | 4 |
| 2020 | Exploring the Relation between Technical Debt Principal and Interest: An Empirical ApproachabstractThe cornerstones of technical debt (TD) are two concepts borrowed from economics: principal and interest. Although in economics the two terms are related, in TD there is no study on this direction so as to validate the strength of the metaphor. We study the relation between Principal and Interest, and subsequently dig further into the ‘ingredients’ of each concept (since they are multi-faceted). In particular, we investigate if artifacts with similar levels of TD Principal exhibit a similar amount of TD Interest, and vice-versa. To achieve this goal, we performed an empirical study, analyzing the dataset using the Mantel test. Through the Mantel test, we examined the relation between TD Principal and Interest, and identified aspects that are able to denote proximity of artifacts, with respect to TD. Next, through Linear Mixed Effects (LME) modelling we studied the generalizability of the results. The results of the study suggest that TD Principal and Interest are related, in the sense that classes with similar levels of TD Principal tend to have similar levels of Interest. Additionally, we have reached the conclusion that aggregated measures of TD Principal or Interest are more capable of identifying proximate artifacts, compared to isolated metrics. Finally, we have provided empirical evidence on the fact that improving certain quality properties (e.g., size and coupling) should be prioritized while ranking refactoring opportunities in the sense that high values of these properties are in most of the cases related to artifacts with higher levels of TD Principal. The findings shed light on the relations between the two concepts, and can be useful for both researchers and practitioners: the former can get a deeper understanding of the concepts, whereas the latter can use our findings to guide their TD management processes such as prioritization and repayment. Areti Ampatzoglou, Nikolaos Mittas, Angeliki-Agathi Tsintzira, Apostolos Ampatzoglou, Elvira-Maria Arvanitou, Alexander Chatzigeorgiou, Paris Avgeriou, Lefteris Angelis |
Inf. Softw. Technol. | 6 |
| 2020 | CODE reuse in practice: Benefiting or harming technical debt
Daniel Feitosa, Apostolos Ampatzoglou, Antonios Gkortzis, Stamatia Bibi, Alexander Chatzigeorgiou |
J. Syst. Softw. | 5 |
| 2020 | Technical debt forecasting: An empirical study on open-source repositories
Dimitrios Tsoukalas, Dionisis D. Kehagias, Miltiadis G. Siavvas, Alexander Chatzigeorgiou |
J. Syst. Softw. | 4 |
| 2019 | Automatic Identification of Assumptions from the Hibernate Developer Mailing ListabstractDuring the software development life cycle, assumptions are an important type of software development knowledge that can be extracted from textual artifacts. Analyzing assumptions can help to, for example, comprehend software design and further facilitate software maintenance. Manual identification of assumptions by stakeholders is rather time-consuming, especially when analyzing a large dataset of textual artifacts. To address this problem, one promising way is to use automatic techniques for assumption identification. In this study, we conducted an experiment to evaluate the performance of existing machine learning classification algorithms for automatic assumption identification, through a dataset extracted from the Hibernate developer mailing list. The dataset is composed of 400 "Assumption" sentences and 400 "Non-Assumption" sentences. Seven classifiers using different machine learning algorithms were selected and evaluated. The experiment results show that the SVM algorithm achieved the best performance (with a precision of 0.829, a recall of 0.812, and an F1-score of 0.819). Additionally, according to the ROC curves and related AUC values, the SVM-based classifier comparatively performed better than other classifiers for the binary classification of assumptions. Ruiyin Li, Peng Liang 0001, Chen Yang 0007, Georgios Digkas, Alexander Chatzigeorgiou |
APSEC | 5 |
| 2019 | Applying the Single Responsibility Principle in Industry: Modularity Benefits and Trade-offsabstractRefactoring is a prevalent technique that can be applied for improving software structural quality. Refactorings can be applied at different levels of granularity to resolve 'bad smells' that can be identified in various artifacts (e.g., methods, classes, packages). A fundamental software engineering principle that can be applied at various levels of granularity is the Single Responsibility Principle (SRP), whose violation leads to the creation of lengthy, complex and non-cohesive artifacts; incurring smells like Long Method, God Class, and Large Package. Such artifacts, apart from being large in size tend to implement more than one functionalities, leading to decreased cohesion, and increased coupling. In this paper, we study the effect of applying refactorings that lead to conformance to the SRP, at all three levels of granularity to identify possible differences between them. To study these differences, we performed an industrial case study on two large-scale software systems (more than 1,500 classes). Since SRP is by definition related to modularity, as a success measure for the refactoring we use coupling and cohesion metrics. The results of the study can prove beneficial for both researchers and practitioners, since various implications can be drawn. Apostolos Ampatzoglou, Angeliki-Agathi Tsintzira, Elvira-Maria Arvanitou, Alexander Chatzigeorgiou, Ioannis Stamelos, Alexandru Moga, Robert Heb, Oliviu Matei, Nikolaos Tsiridis, Dionisis D. Kehagias |
EASE | 4 |
| 2019 | Monitoring Technical Debt in an Industrial SettingabstractContext: Technical Debt (TD) quantification has been studied in the literature and is supported by various tools; however, there is no common ground on what information shall be presented to stakeholders. Similarly to other quality monitoring processes, it is desirable to provide several views of quality through a dashboard, in which metrics concerning the phenomenon of interest are displayed. Objective: The aim of this study is to investigate the indicators that shall be presented in such a dashboard, so as to: (a) be meaningful for industrial stakeholders, (b) present all necessary information, and (c) be simple enough so that stakeholders can use them. Method: We explore TD Management (TDM) activities (i.e., measurement, prioritization, repayment) and choose the main concepts that need to be visualized, based on existing literature and toolsupport. Next, we perform a survey with 60 software engineers (i.e., architects, developers, etc.) working for 11 software development companies located in 9 countries, to understand their needs for TDM. Results / Conclusions: The results of the study suggest that different stakeholders need a different view of the quality dashboard, but also some commonalities can be identified. For example, on the one hand, managers are mostly interested in financial concepts, whereas on the other hand developers are more interested in the nature of the problems that exist in the code. The outcomes of this study can be useful to both researchers and practitioners, in the sense that the former can focus their efforts on aspects that are meaningful to industry, whereas the latter to develop meaningful dashboards, with multiple views. Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Stamatia Bibi, Alexander Chatzigeorgiou, Ioannis Stamelos |
EASE | 4 |
| 2019 | Temporal Discounting in Software Engineering: A Replication StudyabstractBackground: Many decisions made in Software Engineering practices are intertemporal choices: trade-offs in time between closer options with potential short-term benefit and future options with potential long-term benefit. However, how software professionals make intertemporal decisions is not well understood. Aim: This paper investigates how shifting time frames influence preferences in software projects in relation to purposefully selected background factors. Method: We investigate temporal discounting by replicating a questionnaire-based observational study. The replication uses a changed-population and -experimenter design to increase the internal and external validity of the original results. Results: The results of this study confirm the occurrence of temporal discounting in samples of both professional and student participants from different countries and demonstrate strong variance in discounting between study participants. We found that professional experience influenced discounting. Participants with broader professional experience exhibited less discounting than those with narrower experience. Conclusions: The results provide strong empirical support for the relevance and importance of temporal discounting in SE and the urgency of targeted interdisciplinary research to explore the underlying mechanisms and their theoretical and practical implications. The results suggest that technical debt management could be improved by increasing the breadth of experience available for critical decisions with long-term impact. In addition, the present study provides a methodological basis for replicating temporal discounting studies in software engineering. Fabian Fagerholm, Christoph Becker 0001, Alexander Chatzigeorgiou, Stefanie Betz, Leticia Duboc, Birgit Penzenstadler, Rahul Mohanani, Colin C. Venters |
ESEM | 3 |
| 2019 | Reusing Code from StackOverflow: The Effect on Technical DebtabstractSoftware reuse is a well-established software engineering process that aims at improving development productivity. Although reuse can be performed in a systematic way (e.g., through product lines), in practice, reuse is performed in many cases opportunistically, i.e., copying small code chunks either from the web or in-house developed projects. Knowledge sharing communities and especially StackOverflow constitute the primary source of code-related information for amateur and professional software developers. Despite the obvious benefit of increased productivity, reuse can have a mixed effect on the quality of the resulting code depending on the properties of the reused solutions. An efficient concept for capturing a wide-range of internal software qualities is the metaphor of Technical Debt which expresses the impact of shortcuts in software development on its maintenance costs. In this paper, we present the results of an empirical study on the relation between the existence of reusing code retrieved from StackOverflow on the technical debt of the target system. In particular, we study several open-source projects and identify non-trivial pieces of code that exhibit a perfect or near-perfect match with code provided in the context of answers in StackOverflow. Then, we compare the technical debt density of the reused fragments, obtained as the ratio of inefficiencies identified by SonarQube over the lines of reused code, to the technical debt density of the target codebase. The results provide insights to the potential impact of small-scale code reuse on technical debt and highlight the benefits of assessing code quality before committing changes to a repository. Georgios Digkas, Nikolaos Nikolaidis 0003, Apostolos Ampatzoglou, Alexander Chatzigeorgiou |
SEAA | 4 |
| 2019 | Temporal discounting in technical debt: how do software practitioners discount the future?abstractTechnical Debt management decisions always imply a trade-off among outcomes at different points in time. In such intertemporal choices, distant outcomes are often valued lower than close ones, a phenomenon known as temporal discounting. Technical Debt research largely develops prescriptive approaches for how software engineers should make such decisions. Few have studied how they actually make them. This leaves open central questions about how software practitioners make decisions. This paper investigates how software practitioners discount uncertain future outcomes and whether they exhibit temporal discounting. We adopt experimental methods from intertemporal choice, an active area of research. We administered an online questionnaire to 33 developers from two companies in which we presented choices between developing a feature and making a longer-term investment in architecture. The results show wide-spread temporal discounting with notable differences in individual behavior. The results are consistent with similar studies in consumer behavior and raise a number of questions about the causal factors that influence temporal discounting in software engineering. As the first empirical study on intertemporal choice in SE, the paper establishes an empirical basis for understanding how software developers approach intertemporal choice and provides a blueprint for future studies. Christoph Becker 0001, Fabian Fagerholm, Rahul Mohanani, Alexander Chatzigeorgiou |
TechDebt@ICSE | 4 |
| 2019 | Identifying, categorizing and mitigating threats to validity in software engineering secondary studiesabstractSecondary studies are vulnerable to threats to validity. Although, mitigating these threats is crucial for the credibility of these studies, we currently lack a systematic approach to identify, categorize and mitigate threats to validity for secondary studies. In this paper, we review the corpus of secondary studies, with the aim to identify: (a) the trend of reporting threats to validity, (b) the most common threats to validity and corresponding mitigation actions, and (c) possible categories in which threats to validity can be classified. To achieve this goal we employ the tertiary study research method that is used for synthesizing knowledge from existing secondary studies. In particular, we collected data from more than 100 studies, published until December 2016 in top quality software engineering venues (both journals and conference). Our results suggest that in recent years, secondary studies are more likely to report their threats to validity. However, the presentation of such threats is rather ad hoc, e.g., the same threat may be presented with a different name, or under a different category. To alleviate this problem, we propose a classification schema for reporting threats to validity and possible mitigation actions. Both the classification of threats and the associated mitigation actions have been validated by an empirical study, i.e., Delphi rounds with experts. Based on the proposed schema, we provide a checklist, which authors of secondary studies can use for identifying and categorizing threats to validity and corresponding mitigation actions, while readers of secondary studies can use the checklist for assessing the validity of the reported results. Apostolos Ampatzoglou, Stamatia Bibi, Paris Avgeriou, Marijn Verbeek, Alexander Chatzigeorgiou |
Inf. Softw. Technol. | 5 |
| 2019 | What can violations of good practices tell about the relationship between GoF patterns and run-time quality attributes?
Daniel Feitosa, Apostolos Ampatzoglou, Paris Avgeriou, Alexander Chatzigeorgiou, Elisa Yumi Nakagawa |
Inf. Softw. Technol. | 4 |
| 2019 | Exploring the frequency and change proneness of dynamic feature pattern instances in PHP applications
Panos Kyriakakis, Alexander Chatzigeorgiou, Apostolos Ampatzoglou, Stelios Xinogalos |
Sci. Comput. Program. | 2 |
| 2019 | REI: An integrated measure for software reusabilityabstractAbstract To capitalize upon the benefits of software reuse, an efficient selection among candidate reusable assets should be performed in terms of functional fitness and adaptability. The reusability of assets is usually measured through reusability indices. However, these do not capture all facets of reusability, such as structural characteristics, external quality attributes, and documentation. In this paper, we propose a reusability index (REI) as a synthesis of various software metrics and evaluate its ability to quantify reuse, based on IEEE Standard on Software Metrics Validity. The proposed index is compared with existing ones through a case study on 80 reusable open‐source assets. To illustrate the applicability of the proposed index, we performed a pilot study, where real‐world reuse decisions have been compared with decisions imposed by the use of metrics (including REI). The results of the study suggest that the proposed index presents the highest predictive and discriminative power; it is the most consistent in ranking reusable assets and the most strongly correlated to their levels of reuse. The findings of the paper are discussed to understand the most important aspects in reusability assessment (interpretation of results), and interesting implications for research and practice are provided. Ioannis Zozas, Apostolos Ampatzoglou, Stamatia Bibi, Alexander Chatzigeorgiou, Paris Avgeriou, Ioannis Stamelos |
J. Softw. Evol. Process. | 4 |
| 2018 | Tool-assisted Game Scenario Representation Through Flow Charts
Maria Eleni Paschali, Nikolaos Bafatakis, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Ioannis Stamelos |
ENASE | 4 |
| 2018 | Structural Quality Metrics as Indicators of the Long Method Bad Smell: An Empirical StudyabstractEmpirical evidence has pointed out that Extract Method refactorings are among the most commonly applied refactorings by software developers. The identification of Long Method code smells and the ranking of the associated refactoring opportunities is largely based on the use of metrics, primarily with measures of cohesion, size and coupling. Despite the relevance of these proper-ties to the presence of large, complex and non-cohesive pieces of code, the empirical validation of these metrics has exhibited relatively low accuracy (max precision: 66%) regarding their predictive power for long methods or extract method opportunities. In this work we perform an empirical validation of the ability of cohesion, coupling and size metrics to predict the existence and the intensity of long method occurrences. According to the statistical analysis, the existence and the intensity of the Long Method smell can be effectively predicted by two size (LoC and NoLV), two coupling (MPC and RFC), and four cohesion (LCOM1, LCOM2, Coh, and CC) metrics. Furthermore, the integration of these metrics into a multiple logistic regression model can predict whether a method should be refactored with a precision of 89% and a recall of 91%. The model yields suggestions whose ranking is strongly correlated to the ranking based on the effect of the corresponding refactorings on source code (correl. coef. 0.520). The results are discussed by providing interpretations and implications for research and practice. Sofia Charalampidou, Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Paris Avgeriou, Alexander Chatzigeorgiou, Ioannis Stamelos |
SEAA | 5 |
| 2018 | Integrating Traceability Within the IDE to Prevent Requirements Documentation DebtabstractDocumentation issues in software projects have been recently classified as a type of technical debt (TD), a concept that express-es how shortcuts during software development result in additional maintenance and evolution effort. The specific type of TD is termed documentation debt, and is among the most prevalent ones in practice and research. In this study we propose a tool-based approach for preventing documentation TD during requirements engineering, by: (a) integrating requirements specifications into the IDE, and (b) enabling the real-time creation of traces between requirements and code. To this end, we collaborated with a small/medium software company and conducted a qualitative case study to: (a) analyze the current process and identify existing TD types, (b) collect the requirements and implement a tool that aims at preventing the accumulation of documentation TD, and (c) investigate whether the tool successfully meets its goal. The results of the study suggest that the developers are motivated to use the developed tool, since they feel that they can develop, maintain and utilize requirements specifications and traces as part of their daily routine. Sofia Charalampidou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Nikolaos Tsiridis |
SEAA | 3 |
| 2018 | Exploring the Relationship between Software Modularity and Technical DebtabstractModularity is one of the key principles of software design. In order for a software system to be modular, it should be organized into modules that are highly coherent internally, whereas at the same time as independent from other modules as possible. In this paper we explore coupling and cohesion metrics at the software package level-i.e., one of most basic levels of software functional decomposition in object-oriented (OO) systems, with the aim of investigating their relation to the technical debt of each package. Current state-of-the-art tools in TD measurement are working on the source code level, and the extent to which they can unveil limitations at the architecture level (e.g., violations of the modularity principle), has not been explored so far. To achieve this goal, we conducted a case study on 1,200 packages retrieved from 20 well-known open source software projects. The results of the study suggested that current measures of technical debt are able to identify / predict modules that lack modularity, and therefore suffer from Architectural Technical Debt (ATD). The results of the study are discussed both from the practitioners' and re-searchers' point of view. Peggy Skiada, Apostolos Ampatzoglou, Elvira-Maria Arvanitou, Alexander Chatzigeorgiou, Ioannis Stamelos |
SEAA | 4 |
| 2018 | The developer's dilemma: factors affecting the decision to repay code debtabstractThe set of concepts collectively known as Technical Debt (TD) assume that software liabilities set up a context that can make a future change more costly or impossible; and therefore repaying the debt should be pursued. However, software developers often disagree with an automatically generated list of improvement suggestions, which they consider not fitting or important for their own code. To shed light into the reasons that drive developers to adopt or reject refactoring opportunities (i.e. TD repayment), we have performed an empirical study on the potential factors that affect the developers' decision to agree with the removal of a specific TD liability. The study has been addressed to the developers of four well-known open-source applications. To increase the response rate, a personalized assessment has first been sent to each developer, summarizing his/her own contribution to the TD of the corresponding project. Responds have been collected through a custom built web application that presented code fragments suffering from violations as identified by SonarQube along with information that could possibly affect their level of agreement to the importance of resolving an issue. These factors include data such as the frequency of past changes in the module under study, the number of bugs, the type and intensity of the violation, the level of involvement of the developer and whether he/she is a contributor in the corresponding project. Multivariate statistical analysis methods have been used to understand the importance and the underlying relationships among these factors and the results are expected to be useful for researchers and practitioners in TD Management. Theodoros Amanatidis, Nikolaos Mittas, Alexander Chatzigeorgiou, Apostolos Ampatzoglou, Lefteris Angelis |
TechDebt@ICSE | 3 |
| 2018 | A framework for managing interest in technical debt: an industrial validationabstractTechnical debt management entails the quantification of principal and interest. In our previous work we had introduced a framework for calculating the Technical Debt Breaking Point (TD-BP), which is a point in time where the accumulated interest becomes larger than the principal; thus the debt of the company is no longer sustainable after this point in time. In this paper, we instantiate this framework and validate its ability to assess the breaking point of source code modules in an industrial setting. The results of the validation suggest that the calculated TD-BP is strongly correlated to experts' opinion on the sustainability of modules, and that it can accurately rank components, based on their maintenance difficulty. Areti Ampatzoglou, Alexandros Michailidis, Christos Sarikyriakidis, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou |
TechDebt@ICSE | 5 |
| 2018 | Reusability Index: A Measure for Assessing Software Assets Reusability
Apostolos Ampatzoglou, Stamatia Bibi, Alexander Chatzigeorgiou, Paris Avgeriou, Ioannis Stamelos |
ICSR | 3 |
| 2018 | Interrelations between Software Quality Metrics, Performance and Energy Consumption in Embedded ApplicationsabstractSource code refactorings and transformations are extensively used by embedded system developers to improve the quality of applications, often supported by various open source and proprietary tools. They either aim at improving the design time quality such as the maintainability and reusability of software artifacts, or the runtime quality such as performance and energy efficiency. However, an inherent trade-off between design- and run-time qualities is often present posing challenges to embedded software development. This work is a first step towards the investigation of the impact of transformations for improving the performance and the energy efficiency on software quality metrics and the impact of refactorings for increasing the design time quality on the execution time, the memory and the energy consumption. Based on a set of embedded applications from widely used benchmark suites and typical transformations and refactorings, we identify interrelations and trade-offs between the aforementioned metrics. Lazaros Papadopoulos, Charalampos Marantos, Georgios Digkas, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Dimitrios Soudris |
SCOPES | 5 |
| 2018 | A mapping study on design-time quality attributes and metrics (journal-first abstract)abstractMonitoring software quality is a non-trivial task, since it requires the selection of: (a) quality attributes, based on application domain and development phase, and (b) appropriate metrics to quantify them. We aim to aid this process by reviewing the state-of-research on design-time qualities and metrics. Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Matthias Galster, Paris Avgeriou |
SANER | 3 |
| 2018 | How do developers fix issues and pay back technical debt in the Apache ecosystem?abstractDuring software evolution technical debt (TD) follows a constant ebb and flow, being incurred and paid back, sometimes in the same day and sometimes ten years later. There have been several studies in the literature investigating how technical debt in source code accumulates during time and the consequences of this accumulation for software maintenance. However, to the best of our knowledge there are no large scale studies that focus on the types of issues that are fixed and the amount of TD that is paid back during software evolution. In this paper we present the results of a case study, in which we analyzed the evolution of fifty-seven Java open-source software projects by the Apache Software Foundation at the temporal granularity level of weekly snapshots. In particular, we focus on the amount of technical debt that is paid back and the types of issues that are fixed. The findings reveal that a small subset of all issue types is responsible for the largest percentage of TD repayment and thus, targeting particular violations the development team can achieve higher benefits. Georgios Digkas, Mircea Lungu, Paris Avgeriou, Alexander Chatzigeorgiou, Apostolos Ampatzoglou |
SANER | 4 |
| 2018 | Ten years of JDeodorant: Lessons learned from the hunt for smellsabstractDeodorants are different from perfumes, because they are applied directly on body and by killing bacteria they reduce odours and offer a refreshing fragrance. That was our goal when we first thought about "bad smells" in code: to develop techniques for effectively identifying and removing (i.e., deodorizing) code smells from object-oriented software. JDeodorant encompasses a number of techniques for suggesting and automatically applying refactoring opportunities on Java source code, in a way that requires limited effort on behalf of the developer. In contrast to other approaches that rely on generic strategies that can be adapted to various smells, JDeodorant adopts ad-hoc strategies for each smell considering the particular characteristics of the underlying design or code problem. In this retrospective paper, we discuss the impact of JDeodorant over the last ten years and a number of tools and techniques that have been developed for a similar purpose which either compare their results with JDeodorant or have built on top of JDeodorant. Finally, we discuss the empirical findings from a number of studies that employed JDeodorant to extract their datasets. Nikolaos Tsantalis, Theodoros Chaikalis, Alexander Chatzigeorgiou |
SANER | 3 |
| 2017 | A Method for Assessing Class Change PronenessabstractChange proneness is a quality characteristic of software artifacts that represents their probability to change in the future due to: (a) evolving requirements, (b) bug fixing, or (c) ripple effects. In the literature, change proneness has been associated with many negative consequences along software evolution. For example, artifacts that are change-prone tend to produce more defects, and accumulate more technical debt. Therefore, identifying and monitoring modules of the system that are change-prone is of paramount importance. Assessing change proneness requires information from two sources: (a) the history of changes in the artifact as a proxy of how frequently the artifact itself is changing, and (b) the source code structure that affects the probability of a change being propagated among artifacts. In this paper, we propose a method for assessing the change proneness of classes based on the two aforementioned information sources. To validate the proposed approach, we performed a case study on five open-source projects. Specifically, we compared the accuracy of the proposed approach to the use of other software metrics and change history to assess change proneness, based on the 1061-1998 IEEE Standard on Software Measurement. The results of the case study suggest that the proposed method is the most accurate and reliable assessor of change proneness. The high accuracy of the method suggests that the method and accompanying tool can effectively aid practitioners during software maintenance and evolution. Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou |
EASE | 3 |
| 2017 | The Evolution of Technical Debt in the Apache Ecosystem
Georgios Digkas, Mircea Lungu, Alexander Chatzigeorgiou, Paris Avgeriou |
ECSA | 3 |
| 2017 | Student perceptions on the benefits and shortcomings of distributed pair programming assignmentsabstractPair Programming (PP) has been extensively used for enhancing the learning of programming. Specifically, PP is considered to: make the learning of programming more pleasant, promote collaboration and communication between the members of pairs, encourage the sharing of knowledge and skills, and even improve code quality. More recently, systems have appeared that support Distributed Pair programming (DPP). DPP is considered to maintain all the benefits of PP and in addition to allow for the distributed collaboration of pairs from anywhere and at any time. However, DPP might impose limitations as well, such as the requirement from students to configure their systems and ensure a good Internet connection. In order to draw safer conclusions on the benefits and shortcomings of DPP and maximize its effects on the learning of programming, it is necessary to investigate its impact under real world situations. This research is twofold: the effect of DPP on student performance has to be thoroughly studied; student perceptions on the benefits and shortcomings of DPP have to be investigated in order to apply it in the best possible way. The study presented in this paper focuses on the latter issue. Specifically, student perceptions on DPP assignments carried out in the context of an Object-Oriented Programming (OOP) course based on Java throughout a whole semester are quantitatively and qualitatively analyzed. Based on this analysis some guidelines are presented for carrying out DPP assignments more effectively in the context of an OOP, Java-based course. Stelios Xinogalos, Maria Satratzemi, Alexander Chatzigeorgiou, Despina Tsompanoudi |
EDUCON | 3 |
| 2017 | Technical Debt Principal Assessment Through Structural MetricsabstractOne of the first steps towards the effective Technical Debt (TD) management is the quantification and continuous monitoring of the TD principal. In the current state-ofresearch and practice the most common ways to assess TD principal are the use of: (a) structural proxies—i.e., most commonly through quality metrics; and (b) monetized proxies—i.e., most commonly through the use of the SQALE (Software Quality Assessment based on Lifecycle Expectations) method. Although both approaches have merit, they seem to rely on different viewpoints of TD and their levels of agreement have not been evaluated so far. Therefore, in this paper, we empirically explore this relation by analyzing data obtained from 20 open source software projects and build a regression model that establishes a relationship between them. The results of the study suggest that a model of seven structural metrics, quantifying different aspects of quality (i.e., coupling, cohesion, complexity, size, and inheritance) can accurately estimate TD principal as appraised by SonarQube. The results of this case study are useful to both academia and industry. In particular, academia can gain knowledge on: (a) the reliability and agreement of TD principal assessment methods and (b) the structural characteristics of software that contribute to the accumulation of TD, whereas practitioners are provided with an alternative evaluation model with reduced number of parameters that can accurately assess TD, through traditional software quality metrics and tools. Makrina Viola Kosti, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Georgios Pallas, Ioannis Stamelos, Lefteris Angelis |
SEAA | 3 |
| 2017 | The relation between technical debt and corrective maintenance in PHP web applicationsabstractTechnical Debt Management (TDM) refers to activities that are performed to prevent the accumulation of Technical Debt (TD) in software. The state-of-research on TDM lacks empirical evidence on the relationship between the amount of TD in a software module and the interest that it accumulates. Considering the fact that in the last years, a large portion of software applications are deployed in the web, we focus this study on PHP applications. Although the relation between debt amount and interest is well-defined in traditional economics (i.e., interest is proportional to the amount of debt), this relation has not yet been explored in the context of TD. To this end, the aim of this study is to investigate the relation between the amount of TD and the interest that has to be paid during corrective maintenance. To explore this relation, we performed a case study on 10 open source PHP projects. The obtained data have been analyzed to assess the relation between the amount of TD and two aspects of interest: (a) corrective maintenance (i.e., bug fixing) frequency, which translates to interest probability and (b) corrective maintenance effort which is related to interest amount. Both interest probability and interest amount are positively related with the amount of TD accumulated in a specific module. Moreover, the amount of TD is able to discriminate modules that are in need of heavy corrective maintenance. The results of the study confirm the cornerstone of TD research, which suggests that modules with a higher level of incurred TD, are costlier in maintenance activities. In particular, such modules prove to be more defect-prone and consequently require more (corrective) maintenance effort. Theodoros Amanatidis, Alexander Chatzigeorgiou, Apostolos Ampatzoglou |
Inf. Softw. Technol. | 2 |
| 2017 | A mapping study on design-time quality attributes and metrics
Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Matthias Galster, Paris Avgeriou |
J. Syst. Softw. | 3 |
| 2017 | Reusability of open source software across domains: A case study
Maria Eleni Paschali, Apostolos Ampatzoglou, Stamatia Bibi, Alexander Chatzigeorgiou, Ioannis Stamelos |
J. Syst. Softw. | 4 |
| 2017 | Identifying Extract Method Refactoring Opportunities Based on Functional Relevanceabstract`Extract Method' is considered one of the most frequently applied and beneficial refactorings, since the corresponding Long Method smell is among the most common and persistent ones. Although Long Method is conceptually related to the implementation of diverse functionalities within a method, until now, this relationship has not been utilized while identifying refactoring opportunities. In this paper we introduce an approach (accompanied by a tool) that aims at identifying source code chunks that collaborate to provide a specific functionality, and propose their extraction as separate methods. The accuracy of the proposed approach has been empirically validated both in an industrial and an open-source setting. In the former case, the approach was capable of identifying functionally related statements within two industrial long methods (approx. 500 LoC each), with a recall rate of 93 percent. In the latter case, based on a comparative study on open-source data, our approach ranks better compared to two well-known techniques of the literature. To assist software engineers in the prioritization of the suggested refactoring opportunities the approach ranks them based on an estimate of their fitness for extraction. The provided ranking has been validated in both settings and proved to be strongly correlated with experts' opinion. Sofia Charalampidou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Antonios Gkortzis, Paris Avgeriou |
IEEE Trans. Software Eng. | 3 |
| 2016 | A Case Study on the Availability of Open-Source Components for Game Development
Maria Eleni Paschali, Apostolos Ampatzoglou, Stamatia Bibi, Alexander Chatzigeorgiou, Ioannis Stamelos |
ICSR | 4 |
| 2016 | Studying the evolution of PHP web applications
Theodoros Amanatidis, Alexander Chatzigeorgiou |
Inf. Softw. Technol. | 2 |
| 2016 | Software metrics fluctuation: a property for assisting the metric selection processabstractSoftware quality attributes are assessed by employing appropriate metrics. However, the choice of such metrics is not always obvious and is further complicated by the multitude of available metrics. To assist metrics selection, several properties have been proposed. However, although metrics are often used to assess successive software versions, there is no property that assesses their ability to capture structural changes along evolution. We introduce a property, Software Metric Fluctuation (SMF), which quantifies the degree to which a metric score varies, due to changes occurring between successive system's versions. Regarding SMF, metrics can be characterized as sensitive (changes induce high variation on the metric score) or stable (changes induce low variation on the metric score). SMF property has been evaluated by: (a) a case study on 20 OSS projects to assess the ability of SMF to differently characterize different metrics, and (b) a case study on 10 software engineers to assess SMF's usefulness in the metric selection process. The results of the first case study suggest that different metrics that quantify the same quality attributes present differences in their fluctuation. We also provide evidence that an additional factor that is related to metrics’ fluctuation is the function that is used for aggregating metric from the micro to the macro level. In addition, the outcome of the second case study suggested that SMF is capable of helping practitioners in metric selection, since: (a) different practitioners have different perception of metric fluctuation, and (b) this perception is less accurate than the systematic approach that SMF offers. SMF is a useful metric property that can improve the accuracy of metrics selection. Based on SMF, we can differentiate metrics, based on their degree of fluctuation. Such results can provide input to researchers and practitioners in their metric selection processes. Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou |
Inf. Softw. Technol. | 3 |
| 2015 | Introducing a Ripple Effect Measure: A Theoretical and Empirical ValidationabstractContext: Change impact analysis investigates the negative consequence of system changes, i.e., the propagation of changes to other parts of the system (also known as the ripple effect). Identifying modules of the system that will be affected by the ripple effect is an important activity, before and after the application of any change. Goal: However, in the literature, there is only a limited set of studies that investigate the probability of a random change occurring in one class, to propagate to another. In this paper we discuss and evaluate the Ripple Effect Measure (in short REM), a metric that can be used to assess the aforementioned probability. Method: To evaluate the capacity of REM as an assessor of the prob-ability of a class to change due to the ripple effect, we: (a) mathematically validate it against established metric properties (e.g., non-negativity, monotonicity, etc.), proposed by Briand et al., and (b) empirically investigate its validity as an assessor of class proneness to the ripple effect, based on the 1061-1998 IEEE Standard on Software Measurement (e.g., correlation, predictive power, etc.). To apply the empirical validation process, we conducted a holistic multiple-case study on java open-source classes. Results: The results of REM validation (both mathematical and empirical) suggest that REM is a theoretically sound measure that is the most valid assessor of the probability of a class to change due to the ripple effect, compared to other existing metrics. Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou |
ESEM | 3 |
| 2015 | The financial aspect of managing technical debt: A systematic literature review
Areti Ampatzoglou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou |
Inf. Softw. Technol. | 3 |
| 2015 | Investigating the effect of evolution and refactorings on feature scattering
Theodoros Chaikalis, Alexander Chatzigeorgiou, Georgina Examiliotou |
Softw. Qual. J. | 2 |
| 2015 | The Effect of GoF Design Patterns on Stability: A Case StudyabstractStability refers to a software system's resistance to the “ripple effect”, i.e., propagation of changes. In this paper, we investigate the stability of classes that participate in instances/occurrences of GoF design patterns. We examine whether the stability of such classes is affected by (a) the pattern type, (b) the role that the class plays in the pattern, (c) the number of pattern occurrences in which the class participates, and (d) the application domain. To this end, we conducted a case study on about 65.000 Java open-source classes, where we performed change impact analysis on classes that participate in zero, one (single pattern), or more than one (coupled) pattern occurrences. The results suggest that, the application of design patterns can provide the expected “shielding” of certain pattern-participating classes against changes, depending on their role in the pattern. Moreover, classes that participate in coupled pattern occurrences appear to be the least stable. The results can be used for assessing the benefits and liabilities of the use of patterns and for testing and refactoring prioritization, because less stable classes are expected to require more effort while testing, and urge for refactoring activities that would make them more resistant to change propagation. Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Sofia Charalampidou, Paris Avgeriou |
IEEE Trans. Software Eng. | 2 |
| 2015 | Forecasting Java Software Evolution Trends Employing Network ModelsabstractThe evolution of networks representing systems in various domains, including social networks, has been extensively studied enabling the development of growth models which govern their behavior over time. The architecture of software systems can also be naturally represented in the form of networks, whose properties change as software evolves. In this paper we attempt to model several aspects of graphs representing object-oriented software systems as they evolve over a number of versions. The goal is to develop a prediction model by considering global phenomena such as preferential attachment, past evolutionary trends such as the tendency of classes to create fewer relations as they age, as well as domain knowledge in terms of principles that have to be followed in object-oriented design. The derived models can provide insight into the future trends of software and potentially form the basis for eliciting improved or novel laws of software evolution. The forecasting power of the proposed model is evaluated against the actual evolution of 10 open-source projects and the achieved accuracy in the prediction of several network and software properties, which reflect the underlying system design, appears to be promising. Theodoros Chaikalis, Alexander Chatzigeorgiou |
IEEE Trans. Software Eng. | 2 |
| 2014 | SEAgle: Effortless Software Evolution AnalysisabstractThe 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 tedious collection of desired information. Acknowledging the need for effortless querying of remote repositories we introduce a Web-based 'one-click approach' to perform software evolution analysis of Git projects. Theodoros Chaikalis, Elvis Ligu, George Melas, Alexander Chatzigeorgiou |
ICSME | 4 |
| 2014 | Maintenance Patterns of Large-Scale PHP Web ApplicationsabstractScripting languages such as PHP have been criticized as inadequate for supporting maintenance of large-scale software projects. In this paper we attempt to provide insight into the way that five large and well-known PHP applications evolved over time. Several aspects of their history are examined including the amount of unused code, the removal of functions, the use of libraries, the stability of their interfaces, the migration to object-orientation and the evolution of complexity. The results suggest that these systems undergo systematic maintenance which is driven by targeted design decisions and evolution is by no means hindered by the underlying programming language. Panos Kyriakakis, Alexander Chatzigeorgiou |
ICSME | 2 |
| 2013 | Identification of Refused Bequest Code SmellsabstractAccumulated 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 so called 'Refused Bequest' which refers to inappropriate use of inheritance in object-oriented systems. This code smell occurs when subclasses do not take advantage of the inherited behavior, implying that replacement by delegation should be used instead. In this paper we propose a technique for the identification of Refused Bequest code smells whose major novelty lies in the intentional introduction of errors in the inherited methods. The essence of inheritance is evaluated by exercising the system's functionality through the corresponding unit tests in order to reveal whether inherited methods are actually employed by clients. Based on the results of this approach and other structural information, an indication of the smell strength on a 'thermometer' is obtained. The proposed approach has been implemented as an Eclipse plug in. Elvis Ligu, Alexander Chatzigeorgiou, Theodoros Chaikalis, Nikolaos Ygeionomakis |
ICSM | 2 |
| 2013 | Combining metrics for software evolution assessment by means of Data Envelopment AnalysisabstractSUMMARY Research and practice in software engineering have led to an extensive set of metrics for the evaluation of almost every aspect of software development. One of the major challenges for any quality model is the combination of metrics, which are complementary to each other. In this paper, we propose the use of Data Envelopment Analysis (DEA), a non‐parametric technique employed in economics, as a means of providing a unified view of selected design metrics. The proposed application of DEA aims at assessing the overall trend of quality during the evolution of software systems, by considering releases of a project as units to be ranked. An important benefit derived from the use of DEA is the ability to “normalize” the evaluation over the size characteristics of the examined systems, which is vital when comparing projects of different scale. Results are presented for successive versions of two open‐source, one industrial and one research project, whereas validation, whereas validation is performed by comparing the findings with the results obtained by Analytic Hierarchy Process, which is an acknowledged multi‐criteria decision analysis approach. According to the results, DEA enables the perception of global trends in qualitative characteristics, which would be otherwise difficult to recognize and interpret. Copyright © 2012 John Wiley & Sons, Ltd. Alexander Chatzigeorgiou, Emmanouil Stiakakis |
J. Softw. Evol. Process. | 1 |
| 2012 | Trends in object-oriented software evolution: Investigating network propertiesabstractThe rise of social networks and the accompanying interest to study their evolution has stimulated a number of research efforts to analyze their growth patterns by means of network analysis. The inherent graph-like structure of object-oriented systems calls for the application of the corresponding methods and tools to analyze software evolution. In this paper we investigate network properties of two open-source systems and observe interesting phenomena regarding their growth. Relating the observed evolutionary trends to principles and laws of software design enables a highlevel assessment of tendencies in the underlying design quality. Alexander Chatzigeorgiou, George Melas |
ICSE | 1 |
| 2012 | SEANets: Software evolution analysis with networksabstractEvolving 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 of the underlying system. Theodoros Chaikalis, George Melas, Alexander Chatzigeorgiou |
ICSM | 3 |
| 2012 | Identification and application of Extract Class refactorings in object-oriented systems
Marios Fokaefs, Nikolaos Tsantalis, Eleni Stroulia, Alexander Chatzigeorgiou |
J. Syst. Softw. | 4 |
| 2011 | JDeodorant: identification and application of extract class refactoringsabstractEvolutionary changes in object-oriented systems can result in large, complex classes, known as "God Classes". In this paper, we present a tool, developed as part of the JDeodorant Eclipse plugin, that can recognize opportunities for extracting cohesive classes from "God Classes" and automatically apply the refactoring chosen by the developer. Marios Fokaefs, Nikolaos Tsantalis, Eleni Stroulia, Alexander Chatzigeorgiou |
ICSE | 4 |
| 2011 | Identification of extract method refactoring opportunities for the decomposition of methods
Nikolaos Tsantalis, Alexander Chatzigeorgiou |
J. Syst. Softw. | 2 |
| 2011 | Benchmarking library and application software with Data Envelopment Analysis
Alexander Chatzigeorgiou, Emmanouil Stiakakis |
Softw. Qual. J. | 1 |
| 2010 | Placement of Entities in Object-Oriented Systems by Means of a Single-Objective Genetic AlgorithmabstractBehavior and state allocation in object-oriented systems is a rather non-trivial task that is hard to master and automate since it is guided by conceptual criteria and therefore relies on human expertise. Since attributes and methods can be placed in the classes of a system in uncountable different ways, the task can be regarded as a search space exploration problem. In this paper we present our experience from treating this issue by a genetic algorithm, which in contrast to previous approaches, is aiming at single-objective optimization. The fitness function is based on a novel metric which ensures that optimization improves both coupling and cohesion. The approach has been implemented as an Eclipse plugin allowing the effortless experimentation on any system. The evaluation results indicate that the problem is suitable for single-objective genetic algorithms and that an optimal or near-optimal solution can be obtained within reasonable time. Margaritis Basdavanos, Alexander Chatzigeorgiou |
ICSEA | 2 |
| 2010 | Identification of refactoring opportunities introducing polymorphism
Nikolaos Tsantalis, Alexander Chatzigeorgiou |
J. Syst. Softw. | 2 |
| 2009 | Decomposing object-oriented class modules using an agglomerative clustering techniqueabstractSoftware can be considered a live entity, as it undergoes many alterations throughout its lifecycle. Furthermore, developers do not usually retain a good design in favor of adding new features, comply with requirements or meet deadlines. For these reasons, code can become rather complex and difficult to understand. More particularly in object-oriented systems, classes may become very large and less cohesive. In order to identify such problematic cases, existing approaches have proposed the use of cohesion metrics. However, while metrics can identify classes with low cohesion, they cannot identify new or independent concepts. Moreover, these methods require a lot of human interpretation to identify the respective design flaws. In this paper, we propose a class decomposition method using an agglomerative clustering algorithm based on the Jaccard distance between class members. Our methodology is able to identify new concepts and rank the solutions according to their impact on the design quality of the system. Finally, our method has been evaluated by two independent designers who were asked to comment on the suggestions produced by our technique on their projects. The designers provided feedback on the ability of the method to identify new concepts and improve the design quality of the system in terms of cohesion. Marios Fokaefs, Nikolaos Tsantalis, Alexander Chatzigeorgiou, Jörg Sander 0001 |
ICSM | 3 |
| 2009 | Identification of Move Method Refactoring OpportunitiesabstractPlacement of attributes/methods within classes in an object-oriented system is usually guided by conceptual criteria and aided by appropriate metrics. Moving state and behavior between classes can help reduce coupling and increase cohesion, but it is nontrivial to identify where such refactorings should be applied. In this paper, we propose a methodology for the identification of Move Method refactoring opportunities that constitute a way for solving many common feature envy bad smells. An algorithm that employs the notion of distance between system entities (attributes/methods) and classes extracts a list of behavior-preserving refactorings based on the examination of a set of preconditions. In practice, a software system may exhibit such problems in many different places. Therefore, our approach measures the effect of all refactoring suggestions based on a novel entity placement metric that quantifies how well entities have been placed in system classes. The proposed methodology can be regarded as a semi-automatic approach since the designer will eventually decide whether a suggested refactoring should be applied or not based on conceptual or other design quality criteria. The evaluation of the proposed approach has been performed considering qualitative, metric, conceptual, and efficiency aspects of the suggested refactorings in a number of open-source projects. Nikolaos Tsantalis, Alexander Chatzigeorgiou |
IEEE Trans. Software Eng. | 2 |
| 2008 | Facilitating software extension with design patterns and Aspect-Oriented Programming
Konstantinos G. Kouskouras, Alexander Chatzigeorgiou, George Stephanides |
J. Syst. Softw. | 2 |
| 2008 | Architectural Risk Analysis of Software Systems Based on Security PatternsabstractThe importance of software security has been profound, since most attacks to software systems are based on vulnerabilities caused by poorly designed and developed software. Furthermore, the enforcement of security in software systems at the design phase can reduce the high cost and effort associated with the introduction of security during implementation. For this purpose, security patterns that offer security at the architectural level have been proposed in analogy to the well-known design patterns. The main goal of this paper is to perform risk analysis of software systems based on the security patterns that they contain. The first step is to determine to what extent specific security patterns shield from known attacks. This information is fed to a mathematical model based on the fuzzy-set theory and fuzzy fault trees in order to compute the risk for each category of attacks. The whole process has been automated using a methodology that extracts the risk of a software system by reading the class diagram of the system under study. Spyros T. Halkidis, Nikolaos Tsantalis, Alexander Chatzigeorgiou, George Stephanides |
IEEE Trans. Dependable Secur. Comput. | 3 |
| 2007 | JDeodorant: Identification and Removal of Feature Envy Bad SmellsabstractIn this demonstration we present an Eclipse plug-in that identifies feature envy bad smells in Java projects and resolves them by applying the appropriate move method refactorings. The main contribution is the ability to pre-evaluate the impact of all possible move refactorings on design quality and apply the most effective one. Marios Fokaefs, Nikolaos Tsantalis, Alexander Chatzigeorgiou |
ICSM | 3 |
| 2007 | Evaluation of object-oriented design patterns in game development
Apostolos Ampatzoglou, Alexander Chatzigeorgiou |
Inf. Softw. Technol. | 2 |
| 2006 | Evaluation of a Queuing Theory and Systems Modeling Course Based on UMLabstractThis paper presents how a new teaching method in the way that a queuing theory and systems modeling or simulation course can be done, was evaluated by the teachers and the students that attended the course and answered a questionnaire. This course is based on the use of Unified Modeling Language (UML) as the mean to teach modeling of discrete event systems such as queues and networks and not on Mathematics that sometimes is too difficult for students to understand Athanasios Perdos, Alexander Chatzigeorgiou, George Stephanides |
ICALT | 2 |
| 2006 | A qualitative analysis of software security patterns
Spyros T. Halkidis, Alexander Chatzigeorgiou, George Stephanides |
Comput. Secur. | 2 |
| 2006 | Design Pattern Detection Using Similarity ScoringabstractThe identification of design patterns as part of the reengineering process can convey important information to the designer. However, existing pattern detection methodologies generally have problems in dealing with one or more of the following issues: identification of modified pattern versions, search space explosion for large systems and extensibility to novel patterns. In this paper, a design pattern detection methodology is proposed that is based on similarity scoring between graph vertices. Due to the nature of the underlying graph algorithm, this approach has the ability to also recognize patterns that are modified from their standard representation. Moreover, the approach exploits the fact that patterns reside in one or more inheritance hierarchies, reducing the size of the graphs to which the algorithm is applied. Finally, the algorithm does not rely on any pattern-specific heuristic, facilitating the extension to novel design structures. Evaluation on three open-source projects demonstrated the accuracy and the efficiency of the proposed method Nikolaos Tsantalis, Alexander Chatzigeorgiou, George Stephanides, Spyros T. Halkidis |
IEEE Trans. Software Eng. | 2 |
| 2005 | The Collatz Problem in a New Perspective: Energy Consumption Analysis
Kostas Zotos, Andreas Litke, George Stephanides, Alexander Chatzigeorgiou |
SoMeT | 4 |
| 2005 | Predicting the Probability of Change in Object-Oriented SystemsabstractOf all merits of the object-oriented paradigm, flexibility is probably the most important in a world of constantly changing requirements and the most striking difference compared to previous approaches. However, it is rather difficult to quantify this aspect of quality: this paper describes a probabilistic approach to estimate the change proneness of an object-oriented design by evaluating the probability that each class of the system will be affected when new functionality is added or when existing functionality is modified. It is obvious that when a system exhibits a large sensitivity to changes, the corresponding design quality is questionable. The extracted probabilities of change can be used to assist maintenance and to observe the evolution of stability through successive generations and identify a possible "saturation" level beyond which any attempt to improve the design without major refactoring is impossible. The proposed model has been evaluated on two multiversion open source projects. The process has been fully automated by a Java program, while statistical analysis has proved improved correlation between the extracted probabilities and actual changes in each of the classes in comparison to a prediction model that relies simply on past data. Nikolaos Tsantalis, Alexander Chatzigeorgiou, George Stephanides |
IEEE Trans. Software Eng. | 2 |
| 2004 | Teaching Queuing Systems Modeling Using UMLabstractIn this paper we suggest a new approach in the way that a network modeling and simulation or a queuing theory course can be developed. Beyond the mathematical model that sometimes is too difficult for students to understand, this paper introduces the use of Unified Modeling Language as the mean to teach modeling of discrete event systems such as queues and networks. The basic course scheduling and teaching material are presented too. Athanasios Perdos, Alexander Chatzigeorgiou, George Stephanides |
ICALT | 2 |
| 2004 | A Qualitative Evaluation of Security Patterns
Spyros T. Halkidis, Alexander Chatzigeorgiou, George Stephanides |
ICICS | 2 |
| 2004 | Evaluating Object-Oriented Designs with Link AnalysisabstractThe hyperlink induced topic search algorithm, which is a method of link analysis, primarily developed for retrieving information from the Web, is extended in this paper, in order to evaluate one aspect of quality in an object-oriented model. Considering the number of discrete messages exchanged between classes, it is possible to identify "God" classes in the system, elements which imply a poorly designed model. The principal eigenvectors of matrices derived from the adjacency matrix of a modified class diagram, are used to identify and quantify heavily loaded portions of an object-oriented design that deviate from the principle of distributed responsibilities. The non-principal eigenvectors are also employed in order to identify possible reusable components in the system. The methodology can be easily automated as illustrated by a Java program that has been developed for this purpose. Alexander Chatzigeorgiou, Spiros Xanthos, George Stephanides |
ICSE | 1 |
| 2003 | Simulation Software for a Network Modelling LababstractWe introduce a software application that simulates the most common types of queues. It also compares the simulation results with the values that the mathematical model predicts for specific types of queues. Thus, the software we have developed has two academic aspects. The first one applies to its ability to simulate most of the queuing processes that take place in computer networks. Therefore someone who studies network modelling or computer performance analysis may use it to derive some practical results in a very convenient way. The second aspect of the software refers to the part of the application that simulates specific types of queue and it can be used as a guide for teaching network modelling. We believe that it is very easy for someone to understand the aspects of queuing theory even though he/she is not familiar with it. Athanasios Perdos, Alexander Chatzigeorgiou, George Stephanides |
ICALT | 2 |
| 2003 | Performance and power evaluation of C++ object-oriented programming in embedded processors
Alexander Chatzigeorgiou |
Inf. Softw. Technol. | 1 |
| 2003 | Efficient management of inspections in software development projects
Alexander Chatzigeorgiou, G. Antoniadis |
Inf. Softw. Technol. | 1 |
| 2003 | Mathematical Assessment of Object-Oriented Design QualityabstractA method of link analysis employed for retrieving information from the Web is extended in order to evaluate one aspect of quality in an object-oriented model. The principal eigenvectors of matrices derived from the adjacency matrix of a modified class diagram are used to identify and quantity heavily loaded portions of an object-oriented design that deviate from the principle of distributed responsibilities. Alexander Chatzigeorgiou |
IEEE Trans. Software Eng. | 1 |
| 2002 | Energy Metric for Software Systems
Alexander Chatzigeorgiou, George Stephanides |
Softw. Qual. J. | 1 |
| 2001 | Analytical exploration of power efficient data-reuse transformations on multimedia applicationsabstractPower savings that can be achieved by data-reuse decisions targeting at a custom memory hierarchy for multimedia applications executing on embedded cores are examined in this paper. Exploiting the temporal locality of memory accesses in data-intensive applications a set of data-reuse transformations on a typical motion estimation algorithm is determined. The aim is to reduce data related power consumption by moving background memory accesses to smaller foreground memories, which are less power costly. The impact of these transformations on power, performance and area is evaluated both for application specific circuits and general purpose processors. The number of data and instruction memory accesses is analytically calculated, enabling a fast exploration of the design space by varying algorithmic parameters. Stamatiki Kougia, Alexander Chatzigeorgiou, Nikolaos D. Zervas, Spiridon Nikolaidis 0001 |
ICASSP | 2 |
| 2001 | Memory hierarchy exploration for low power architectures in embedded multimedia applicationsabstractMultimedia applications are characterized by an increased number of data transfer and storage operations due to real time requirements. Appropriate transformations can be applied at the algorithmic level to improve crucial implementation characteristics. The effect of the data-reuse transformations on power consumption, area and performance of multimedia applications realized on embedded cores is examined. As demonstrators, widely applicable video processing algorithmic kernels, namely the row-column decomposition DCT and its fast implementation found in MPEG-X, are used. Experimental results prove that significant improvements in power consumption can be achieved without performance degradation by the application of data-reuse transformations in combination with the use of a custom memory hierarchy. Nikolaos Kavvadias, Alexander Chatzigeorgiou, Nikolaos D. Zervas, Spiridon Nikolaidis 0001 |
ICIP (3) | 2 |
| 1999 | A modeling technique for CMOS gatesabstractIn this paper, a modeling technique for CMOS gates, based on the reduction of each gate to an equivalent inverter, is presented. The proposed method can be incorporated in existing timing simulators in order to improve their accuracy. The conducting and parasitic behavior of parallel and serially connected transistors is accurately analyzed and an equivalent transistor is extracted for each case, taking into account the actual operating conditions of each device in the structure. The proposed model incorporates short-channel effects, the influence of body effect and is developed for nonzero transition time inputs. The exact time point when the gate starts conducting is efficiently calculated improving significantly the accuracy of the method. A mapping algorithm for reducing every possible input pattern of a gate to an equivalent signal is introduced and the "weight" of each transistor position in the gate structure is extracted. Complex gates are treated by first mapping every possible structure to a NAND/NOR gate and then by collapsing this gate to an equivalent inverter. Results are validated by comparisons to SPICE and ILLIADS2 for three submicron technologies. Alexander Chatzigeorgiou, Spiridon Nikolaidis 0001, Ioannis Tsoukalas |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 1998 | Collapsing the Transistor Chain to an Effective Single Equivalent TransistorabstractThe most common practice to model the transistor chain, as it appears in CMOS gates, is to collapse it to a single equivalent transistor. This method is analyzed and improvements are presented in this paper. Inherent shortcomings are removed and an effective transistor width is calculated taking into account the operating conditions of the structure, resulting in very good agreement with SPICE simulations. The actual time point when the chain starts conducting which influences significantly the accuracy of the model is also extracted. Finally, an algorithm to collapse every possible input pattern to a single input is presented. Alexander Chatzigeorgiou, Spiridon Nikolaidis 0001 |
DATE | 1 |