Dimitrios Tsoukalas

Dr. Dimitrios Tsoukalas


Research Focus & Metrics

Academic Career Length

9Years (2018-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
24 September 2020 in Enterprise Information Systems
Verified
Journal Article
Closed access
Miltiadis SiavvasMiltiadis Siavvas
Miltiadis Siavvas
DTDimitrios Tsoukalas
Dimitrios Tsoukalas
MJMarija Jankovic
Marija Jankovic
Dionysios KehagiasDionysios Kehagias
Dionysios Kehagias
DTDimitrios Tzovaras
Dimitrios Tzovaras
Vulnerability prediction facilitates the development of secure software, as it enables the identification and mitigation of security risks early enough in the software development lifecycle. Although several factors have been studied for their ability to indicate software security risk, very limited attention has been given to technical debt (TD), despite its potential relevance to software security. To this end, in the present study, we investigate the ability of common TD indicators to indicate security risks in software products, both at project-level and at class-level of granularity. Our findings suggest that TD indicators may potentially act as security indicators as well.

1 December 2020 in Journal of Systems and Software
Verified
Journal Article
Closed access
DTDimitrios Tsoukalas
Dimitrios Tsoukalas
DKDionysios Kehagias
Dionysios Kehagias
MSMiltiadis Siavvas
Miltiadis Siavvas
ACAlexander Chatzigeorgiou
Alexander Chatzigeorgiou

19 November 2021 in IEEE Transactions on Software Engineering
Verified
Journal Article
Closed access
DTDimitrios Tsoukalas
Dimitrios Tsoukalas
NMNikolaos Mittas
Nikolaos Mittas
ACAlexandros Chatzigeorgiou
Alexandros Chatzigeorgiou
Dionysios KehagiasDionysios Kehagias
Dionysios Kehagias
AAApostolos Ampatzoglou
Apostolos Ampatzoglou
LALefteris Angelis
Lefteris Angelis
Technical 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.

29 September 2020
Verified
Book Chapter
Closed access
PDF file
Ilias KalouptsoglouIlias Kalouptsoglou
Ilias Kalouptsoglou
Miltiadis SiavvasMiltiadis Siavvas
Miltiadis Siavvas
DTDimitrios Tsoukalas
Dimitrios Tsoukalas
Dionysios KehagiasDionysios Kehagias
Dionysios Kehagias

1 September 2018
Verified
Conference Paper
Open access
DTDimitrios Tsoukalas
Dimitrios Tsoukalas
Miltiadis SiavvasMiltiadis Siavvas
Miltiadis Siavvas
MJMarija Jankovic
Marija Jankovic
Dionysios KehagiasDionysios Kehagias
Dionysios Kehagias
ACAlexander Chatzigeorgiou
Alexander Chatzigeorgiou
DTDimitrios Tzovaras
Dimitrios Tzovaras
Technical debt (TD), a metaphor inspired by the financial debt of economic theory, indicates quality compromises that can yield short-term benefits in the software development process, but may negatively affect the long-term quality of software products. Numerous techniques, methods, and tools have been proposed over the years for estimating and managing TD, providing a variety of options to the developers and project managers of software applications. However, apart from managing TD, predicting its future value is equally important since this knowledge is expected to facilitate decision-making tasks regarding software implementation and maintenance, such as incurring or paying off TD instances. To this end, the purpose of the present study is to (i) summarize the work that has been conducted until today in the field of TD estimation and forecasting, and (ii) to identify existing open issues that have not been adequately addressed yet and require further research. The present survey led to two interesting observations. Firstly, none of the existing TD estimation methods and tools has reached a desired level of maturity, while a large volume of previously uninvestigated metrics and techniques exist that could potentially increase the completeness of TD estimation. Secondly, no notable contributions exist in the field of TD forecasting, indicating that it is a scarcely investigated field. The latter constitutes the main finding of the present literature review, since TD forecasting could lead to the development of practical decision-making mechanisms, which could assist developers and project managers in taking proactive actions regarding TD repayment.

7 September 2022 in Electronics
Verified
Journal Article
Open access
PDF file
Ilias KalouptsoglouIlias Kalouptsoglou
Ilias Kalouptsoglou
DTDimitrios Tsoukalas
Dimitrios Tsoukalas
Miltiadis SiavvasMiltiadis Siavvas
Miltiadis Siavvas
Dionysios KehagiasDionysios Kehagias
Dionysios Kehagias
ACAlexander Chatzigeorgiou
Alexander Chatzigeorgiou
AAApostolos Ampatzoglou
Apostolos Ampatzoglou
Software security is a critical aspect of modern software products. The vulnerabilities that reside in their source code could become a major weakness for enterprises that build or utilize these products, as their exploitation could lead to devastating financial consequences. Therefore, the development of mechanisms capable of identifying and discovering software vulnerabilities has recently attracted the interest of the research community. Besides the studies that examine software attributes in order to predict the existence of vulnerabilities in software components, there are also studies that attempt to predict the future number of vulnerabilities based on the already reported vulnerabilities of a project. In this paper, the evolution of vulnerabilities in a horizon of up to 24 months ahead is predicted using a univariate time series forecasting approach. Both statistical and deep learning models are developed and compared based on security data coming from five popular software projects. In contrast to related literature, the results indicate that the capacity of Deep Learning and statistical models in forecasting the evolution of software vulnerabilities, as well as the selection of the best-performing model, depends on the respective software project. In some cases, statistical models provided better accuracy, whereas in other cases, Deep Learning models demonstrated better predictive power. However, the difference in their performance was not found to be statistically significant. In general, the two model categories produced similar forecasts for the number of vulnerabilities expected in the future, without significant diversities.