Diomidis Spinellis
173 records found
1
Authored
Clonos
Consistent Causal Recovery for Highly-Available Streaming Dataflows
Stream processing lies in the backbone of modern businesses, being employed for mission critical applications such as real-time fraud detection, car-trip fare calculations, traffic management, and stock trading. Large-scale applications are executed by scale-out stream process ...
Well-typed programs can go wrong
A study of typing-related bugs in JVM compilers
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 ...
Evolution of the Unix System Architecture
An Exploratory Case Study
Unix has evolved for almost five decades, shaping modern operating systems, key software technologies, and development practices. Studying the evolution of this remarkable system from an architectural perspective can provide insights on how to manage the growth of large, compl ...
Software evolution
The lifetime of fine-grained elements
A model regarding the lifetime of individual source code lines or tokens can estimate maintenance effort, guide preventive maintenance, and, more broadly, identify factors that can improve the efficiency of software development. We present methods and tools that allow tracking ...
Software reuse cuts both ways
An empirical analysis of its relationship with security vulnerabilities
Software reuse is a widely adopted practice among both researchers and practitioners. The relation between security and reuse can go both ways: a system can become more secure by relying on mature dependencies, or more insecure by exposing a larger attack surface via exploitab ...
The software heritage graph dataset
Public software development under one roof
Software Heritage is the largest existing public archive of software source code and accompanying development history: it currently spans more than five billion unique source code files and one billion unique commits, coming from more than 80 million software projects. This pa ...
Code review comments
Language matters
Smelly relations
Measuring and understanding database schema quality
Context: Databases are an integral element of enterprise applications. Similarly to code, database schemas are also prone to smells - best practice violations. Objective: We aim to explore database schema quality, associated characteristics and their relationships with other s ...
VulinOSS
A dataset of security vulnerabilities in open-source systems
The Exception Handling Riddle
An Empirical Study on the Android API
Echoes from space
Grouping commands with large-scale telemetry data
Fatal injection
A survey of modern code injection attack countermeasures
With a code injection attack (CIA) an attacker can introduce malicious code into a computer program or system that fails to properly encode data that comes from an untrusted source. A CIA can have different forms depending on the execution context of the application and the lo ...
House of Cards
Code Smells in Open-Source C# Repositories
The long-term growth rate of evolving software
Empirical results and implications
The amount of code in evolving software-intensive systems appears to be growing relentlessly, affecting products and entire businesses. Objective figures quantifying the software code growth rate bounds in systems over a large time scale can be used as a reliable predictive ba ...