Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Georgios-Petros Drosos

dblp:305/1043 · DBLP profile ↗
← Back
2ranked-venue papers
1as first author
2since 2021 · last 2024
0009-0007-2457-1421ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 2 · 1 first-author · 2 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Empirical software engineering · 42% Software maintenance and evolution · 31% Software testing · 10%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Cloud and datacenter computing · 100%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering › mining software repositories › bug report analysis
bug characterization
0.812024
When Your Infrastructure Is a Buggy Program: Understanding Faults in Infrastructure as Code Ecosystems · Proc. ACM Program. Lang. 2024
Software maintenance and evolution › devops
infrastructure as code
0.812024
When Your Infrastructure Is a Buggy Program: Understanding Faults in Infrastructure as Code Ecosystems · Proc. ACM Program. Lang. 2024
Empirical software engineering
mining software repositories
0.812024
When Your Infrastructure Is a Buggy Program: Understanding Faults in Infrastructure as Code Ecosystems · Proc. ACM Program. Lang. 2024
Software maintenance and evolution
software ecosystems
0.812024
When Your Infrastructure Is a Buggy Program: Understanding Faults in Infrastructure as Code Ecosystems · Proc. ACM Program. Lang. 2024
Empirical software engineering › software fault analysis
bug study
0.512021
Well-typed programs can go wrong: a study of typing-related bugs in JVM compilers · Proc. ACM Program. Lang. 2021
Compilers and program optimization
compiler bugs
0.512021
Well-typed programs can go wrong: a study of typing-related bugs in JVM compilers · Proc. ACM Program. Lang. 2021
Software testing
compiler testing
0.512021
Well-typed programs can go wrong: a study of typing-related bugs in JVM compilers · Proc. ACM Program. Lang. 2021
Programming languages and type systems › type systems
static typing
0.112021
Well-typed programs can go wrong: a study of typing-related bugs in JVM compilers · Proc. ACM Program. Lang. 2021
Programming languages and type systems
type systems
0.112021
Well-typed programs can go wrong: a study of typing-related bugs in JVM compilers · Proc. ACM Program. Lang. 2021

Methods — techniques the papers use, named apart from their topics

root cause analysis · 1.5bug analysis · 1.5manual bug classification · 0.5empirical study · 0.5
YearPublicationVenuePosition
2024 When Your Infrastructure Is a Buggy Program: Understanding Faults in Infrastructure as Code Ecosystems
abstract
Modern applications have become increasingly complex and their manual installation and configuration is no longer practical. Instead, IT organizations heavily rely on Infrastructure as Code (IaC) technologies, to automate the provisioning, configuration, and maintenance of computing infrastructures and systems. IaC systems typically offer declarative, domain-specific languages (DSLs) that allow system administrators and developers to write high-level programs that specify the desired state of their infrastructure in a reliable, predictable, and documented fashion. Just like traditional programs, IaC software is not immune to faults, with issues ranging from deployment failures to critical misconfigurations that often impact production systems used by millions of end users. Surprisingly, despite its crucial role in global infrastructure management, the tooling and techniques for ensuring IaC reliability still have room for improvement. In this work, we conduct a comprehensive analysis of 360 bugs identified in IaC software within prominent IaC ecosystems including Ansible, Puppet, and Chef. Our work is the first in-depth exploration of bug characteristics in these widely-used IaC environments. Through our analysis we aim to understand: (1) how these bugs manifest, (2) their underlying root causes, (3) their reproduction requirements in terms of system state (e.g., operating system versions) or input characteristics, and (4) how these bugs are fixed. Based on our findings, we evaluate the state-of-the-art techniques for IaC reliability, identify their limitations, and provide a set of recommendations for future research. We believe that our study helps researchers to (1) better understand the complexity and peculiarities of IaC software, and (2) develop advanced tooling for more reliable and robust system configurations.
Georgios-Petros Drosos, Thodoris Sotiropoulos, Georgios Alexopoulos, Dimitris Mitropoulos, Zhendong Su 0001
Proc. ACM Program. Lang.1
2021 Well-typed programs can go wrong: a study of typing-related bugs in JVM compilers
abstract
Despite the substantial progress in compiler testing, research endeavors have mainly focused on detecting compiler crashes and subtle miscompilations caused by bugs in the implementation of compiler optimizations. Surprisingly, this growing body of work neglects other compiler components, most notably the front-end. In statically-typed programming languages with rich and expressive type systems and modern features, such as type inference or a mix of object-oriented with functional programming features, the process of static typing in compiler front-ends is complicated by a high-density of bugs. Such bugs can lead to the acceptance of incorrect programs (breaking code portability or the type system's soundness), the rejection of correct (e.g. well-typed) programs, and the reporting of misleading errors and warnings. We conduct, what is to the best of our knowledge, the first empirical study for understanding and characterizing typing-related compiler bugs. To do so, we manually study 320 typing-related bugs (along with their fixes and test cases) that are randomly sampled from four mainstream JVM languages, namely Java, Scala, Kotlin, and Groovy. We evaluate each bug in terms of several aspects, including their symptom, root cause, bug fix's size, and the characteristics of the bug-revealing test cases. Some representative observations indicate that: (1) more than half of the typing-related bugs manifest as unexpected compile-time errors: the buggy compiler wrongly rejects semantically correct programs, (2) the majority of typing-related bugs lie in the implementations of the underlying type systems and in other core components related to operations on types, (3) parametric polymorphism is the most pervasive feature in the corresponding test cases, (4) one third of typing-related bugs are triggered by non-compilable programs. We believe that our study opens up a new research direction by driving future researchers to build appropriate methods and techniques for a more holistic testing of compilers.
Stefanos Chaliasos, Thodoris Sotiropoulos, Georgios-Petros Drosos, Charalambos Mitropoulos, Dimitris Mitropoulos, Diomidis Spinellis
Proc. ACM Program. Lang.3