Themistoklis G. Diamantopoulos

dblp:134/7482 · also Themistoklis Diamantopoulos · DBLP profile ↗
← Back
7ranked-venue papers in the field
5as first author
2since 2021 · last 2024
0000-0002-0520-7225ORCID · verified

Domains — venue-derived; a paper can count in several

Other / Interdisciplinary · 7 (5 first)
YearPublicationVenuePosition
2024 Write me this Code: An Analysis of ChatGPT Quality for Producing Source Code
abstract
Developers nowadays are increasingly turning to large language models (LLMs) like ChatGPT to assist them with coding tasks, inspired by the promise of efficiency and the advanced capabilities they offer. However, this raises important questions about the ease of integration and the safety of incorporating these tools into the development process. To investigate these questions, this paper examines a set of ChatGPT conversations. Upon annotating the conversations according to the intent of the developer, we focus on two critical aspects: firstly, the ease with which developers can produce suitable source code using ChatGPT, and, secondly, the quality aspects of the generated source code, determined by the compliance to standards and best practices. We research both the quality of the generated code itself and its impact on the project of the developer. Our results indicate that ChatGPT can be a useful tool for software development when used with discretion.
Konstantinos Moratis, Themistoklis G. Diamantopoulos, Dimitrios-Nikitas Nastos, Andreas L. Symeonidis
MSR2
2023 Semantically-enriched Jira Issue Tracking Data
abstract
Current state of practice dictates that software developers host their projects online and employ project management systems to monitor the development of product features, keep track of bugs, and prioritize task assignments. The data stored in these systems, if their semantics are extracted effectively, can be used to answer several interesting questions, such as finding who is the most suitable developer for a task, what the priority of a task should be, or even what is the actual workload of the software team. To support researchers and practitioners that work towards these directions, we have built a system that crawls data from the Jira management system, performs topic modeling on the data to extract useful semantics and stores them in a practical database schema. We have used our system to retrieve and analyze 656 projects of the Apache Software Foundation, comprising data from more than a million Jira issues.
Themistoklis G. Diamantopoulos, Dimitrios-Nikitas Nastos, Andreas L. Symeonidis
MSR1
2020 Employing Contribution and Quality Metrics for Quantifying the Software Development Process
abstract
The full integration of online repositories in contemporary software development promotes remote work and collaboration. Apart from the apparent benefits, online repositories offer a deluge of data that can be utilized to monitor and improve the software development process. Towards this direction, we have designed and implemented a platform that analyzes data from GitHub in order to compute a series of metrics that quantify the contributions of project collaborators, both from a development as well as an operations (communication) perspective. We analyze contributions throughout the projects' lifecycle and track the number of coding violations, this way aspiring to identify cases of software development that need closer monitoring and (possibly) further actions to be taken. In this context, we have analyzed the 3000 most popular GitHub Java projects and provide the data to the community.
Themistoklis G. Diamantopoulos, Michail Papamichail, Thomas Karanikiotis, Kyriakos C. Chatzidimitriou, Andreas L. Symeonidis
MSR1
2019 Towards mining answer edits to extract evolution patterns in stack overflow
abstract
The current state of practice dictates that in order to solve a problem encountered when building software, developers ask for help in online platforms, such as Stack Overflow. In this context of collaboration, answers to question posts often undergo several edits to provide the best solution to the problem stated. In this work, we explore the potential of mining Stack Overflow answer edits to extract common patterns when answering a post. In particular, we design a similarity scheme that takes into account the text and code of answer edits and cluster edits according to their semantics. Upon applying our methodology, we provide frequent edit patterns and indicate how they could be used to answer future research questions. Assessing our approach indicates that it can be effective for identifying commonly applied edits, thus illustrating the transformation path from the initial answer to the optimal solution.
Themistoklis G. Diamantopoulos, Maria-Ioanna Sifaki, Andreas L. Symeonidis
MSR1
2018 npm-miner: an infrastructure for measuring the quality of the npm registry
abstract
As the popularity of the JavaScript language is constantly increasing, one of the most important challenges today is to assess the quality of JavaScript packages. Developers often employ tools for code linting and for the extraction of static analysis metrics in order to assess and/or improve their code. In this context, we have developed npn-miner, a platform that crawls the npm registry and analyzes the packages using static analysis tools in order to extract detailed quality metrics as well as high-level quality attributes, such as maintainability and security. Our infrastructure includes an index that is accessible through a web interface, while we have also constructed a dataset with the results of a detailed analysis for 2000 popular npm packages.
Kyriakos C. Chatzidimitriou, Michail Papamichail, Themistoklis G. Diamantopoulos, Michail Tsapanos, Andreas L. Symeonidis
MSR3
2016 QualBoa: reusability-aware recommendations of source code components
abstract
Contemporary software development processes involve finding reusable software components from online repositories and integrating them to the source code, both to reduce development time and to ensure that the final software project is of high quality. Although several systems have been designed to automate this procedure by recommending components that cover the desired functionality, the reusability of these components is usually not assessed by these systems. In this work, we present QualBoa, a recommendation system for source code components that covers both the functional and the quality aspects of software component reuse. Upon retrieving components, QualBoa provides a ranking that involves not only functional matching to the query, but also a reusability score based on configurable thresholds of source code metrics. The evaluation of QualBoa indicates that it can be effective for recommending reusable source code.
Themistoklis G. Diamantopoulos, Klearchos Thomopoulos, Andreas L. Symeonidis
MSR1
2015 Employing Source Code Information to Improve Question-Answering in Stack Overflow
abstract
Nowadays, software development has been greatly influenced by question-answering communities, such as Stack Overflow. A new problem-solving paradigm has emerged, as developers post problems they encounter that are then answered by the community. In this paper, we propose a methodology that allows searching for solutions in Stack Overflow, using the main elements of a question post, including not only its title, tags, and body, but also its source code snippets. We describe a similarity scheme for these elements and demonstrate how structural information can be extracted from source code snippets and compared to further improve the retrieval of questions. The results of our evaluation indicate that our methodology is effective on recommending similar question posts allowing community members to search without fully forming a question.
Themistoklis G. Diamantopoulos, Andreas L. Symeonidis
MSR1