EDBT 2026 Demo / reviewers in the wild / expert
Damiano Macedonio
dblp:29/900
· DBLP profile ↗
11ranked-venue papers
1as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 5Software engineering, systems software and programming languages · 4 · 1 first-authorSecurity and privacy · 2Artificial intelligence and machine learning · 1
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.
| Network and information security
1 paper |
Systems and software security · 100% | |
| Software engineering, system software, and programming languages
2 papers |
Program analysis · 83% Concurrent programming · 17% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
0.6 | 2 | 2019 | Static Identification of Injection Attacks in Java · ACM Trans. Program. Lang. Syst. 2019 Locking discipline inference and checking · ICSE 2016 |
Systems and software security › exploitation
injection attacks |
0.4 | 1 | 2019 | Static Identification of Injection Attacks in Java · ACM Trans. Program. Lang. Syst. 2019 |
Systems and software security › exploitation › injection attacks
SQL injection |
0.4 | 1 | 2019 | Static Identification of Injection Attacks in Java · ACM Trans. Program. Lang. Syst. 2019 |
Systems and software security › information flow tracking › taint analysis
static taint analysis |
0.4 | 1 | 2019 | Static Identification of Injection Attacks in Java · ACM Trans. Program. Lang. Syst. 2019 |
Systems and software security
vulnerability discovery |
0.4 | 1 | 2019 | Static Identification of Injection Attacks in Java · ACM Trans. Program. Lang. Syst. 2019 |
Program analysis › static analysis
abstract interpretation |
0.4 | 1 | 2019 | Static Identification of Injection Attacks in Java · ACM Trans. Program. Lang. Syst. 2019 |
Concurrent programming › concurrency bugs
data races |
0.2 | 1 | 2016 | Locking discipline inference and checking · ICSE 2016 |
Program analysis › concurrent program analysis
lock inference |
0.2 | 1 | 2016 | Locking discipline inference and checking · ICSE 2016 |
Logic in computer science › modal logic
spatial logic |
0.1 | 1 | 2005 | Spatial Logics for Bigraphs · ICALP 2005 |
Methods — techniques the papers use, named apart from their topics
boolean formula encoding · 0.8abstract interpretation · 0.8type inference · 0.2static checking · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Static Identification of Injection Attacks in JavaabstractThe most dangerous security-related software errors, according to the OWASP Top Ten 2017 list, affect web applications. They are potential injection attacks that exploit user-provided data to execute undesired operations: database access and updates ( SQL injection ); generation of malicious web pages ( cross-site scripting injection ); redirection to user-specified web pages ( redirect injection ); execution of OS commands and arbitrary scripts ( command injection ); loading of user-specified, possibly heavy or dangerous classes at run time ( reflection injection ); access to arbitrary files on the file system ( path-traversal ); and storing user-provided data into heap regions normally assumed to be shielded from the outside world ( trust boundary violation ). All these attacks exploit the same weakness: unconstrained propagation of data from sources that the user of a web application controls into sinks whose activation might trigger dangerous operations. Although web applications are written in a variety of languages, Java remains a frequent choice, in particular for banking applications, where security has tangible relevance. This article defines a unified, sound protection mechanism against such attacks, based on the identification of all possible explicit flows of tainted data in Java code. Such flows can be arbitrarily complex, passing through dynamically allocated data structures in the heap. The analysis is based on abstract interpretation and is interprocedural, flow-sensitive, and context-sensitive. Its notion of taint applies to reference (non-primitive) types dynamically allocated in the heap and is object-sensitive and field-sensitive. The analysis works by translating the program into Boolean formulas that model all possible data flows. Its implementation, within the Julia analyzer for Java and Android, found injection security vulnerabilities in the Internet banking service and in the customer relationship management of large Italian banks, as well as in a set of open-source third-party applications. It found the command injection, which is at the origin of the 2017 Equifax data breach, one of the worst data breaches ever. For objective, repeatable results, this article also evaluates the implementation on two open-source security benchmarks: the Juliet Suite and the OWASP Benchmark for the automatic comparison of static analyzers for cybersecurity. We compared this technique against more than 10 other static analyzers, both free and commercial. The result of these experiments is that ours is the only analysis for injection that is sound (up to well-stated limitations such as multithreading and native code) and works on industrial code, and it is also much more precise than other tools. Fausto Spoto, Elisa Burato, Michael D. Ernst, Pietro Ferrara 0001, Alberto Lovato, Damiano Macedonio, Ciprian Spiridon |
ACM Trans. Program. Lang. Syst. | 6 |
| 2016 | Locking discipline inference and checkingabstractConcurrency is a requirement for much modern software, but the implementation of multithreaded algorithms comes at the risk of errors such as data races. Programmers can prevent data races by documenting and obeying a locking discipline, which indicates which locks must be held in order to access which data. Michael D. Ernst, Alberto Lovato, Damiano Macedonio, Fausto Spoto, Javier Thaine |
ICSE | 3 |
| 2015 | Boolean Formulas for the Static Identification of Injection Attacks in Java
Michael D. Ernst, Alberto Lovato, Damiano Macedonio, Ciprian Spiridon, Fausto Spoto |
LPAR | 3 |
| 2014 | A Thread-Safe Library for Binary Decision Diagrams
Alberto Lovato, Damiano Macedonio, Fausto Spoto |
SEFM | 2 |
| 2014 | A semantic analysis of key management protocols for wireless sensor networks
Damiano Macedonio, Massimo Merro |
Sci. Comput. Program. | 1 |
| 2009 | A type system for Discretionary Access ControlabstractDiscretionary Access Control (DAC) systems provide powerful resource management mechanisms based on the selective distribution of capabilities to selected classes of principals. We study a type-based theory of DAC models for a process calculus that extends Cardelli, Ghelli and Gordon's pi-calculus with groups (Cardelliet al. 2005). In our theory, groups play the role of principals and form the unit of abstraction for our access control policies, and types allow the specification of fine-grained access control policies to govern the transmission of names, bound the (iterated) re-transmission of capabilities and predicate their use on the inability to pass them to third parties. The type system relies on subtyping to achieve a selective distribution of capabilities to the groups that control the communication channels. We show that the typing and subtyping relationships of the calculus are decidable. We also prove a type safety result, showing that in well-typed processes all names: (i) flow according to the access control policies specified by their types; and (ii) are received at the intended sites with the intended capabilities. We illustrate the expressive power and the flexibility of the typing system using several examples. Michele Bugliesi, Dario Colazzo, Silvia Crafa, Damiano Macedonio |
Math. Struct. Comput. Sci. | 4 |
| 2007 | Static BiLog: a Unifying Language for Spatial Structures
Giovanni Conforti, Damiano Macedonio, Vladimiro Sassone |
Fundam. Informaticae | 2 |
| 2006 | A Hybrid Intuitionistic Logic: Semantics and DecidabilityabstractWe study a hybrid intuitionistic modal logic suitable for reasoning about distribution of resources. The modalities of the logic allow validation of properties in a particular place, in some place and in all places. We provide a sound and complete Kripke semantics. We also define a sound and complete birelational semantics, and show that it enjoys the finite model property: if a judgement is not valid in the logic, then there is a finite birelational counter-model. Hence, we prove that the logic is decidable. Rohit Chadha, Damiano Macedonio, Vladimiro Sassone |
J. Log. Comput. | 2 |
| 2005 | Spatial Logics for Bigraphs
Giovanni Conforti, Damiano Macedonio, Vladimiro Sassone |
ICALP | 2 |
| 2005 | Information flow in secure contextsabstractInformation flow security in a multilevel system aims at guaranteeing that no high level information is revealed to low level users, even in the presence of any possible malicious process. This requirement could be stronger than necessary when some knowledge about the environment (context) in which the process is going to run is available. To relax this requirement we introduce the notion of secure contexts for a class of processes. This notion is parametric with respect to both the observation equivalence and the operation used to characterize the low level view of a process. As observation equivalence we consider the cases of weak bisimulation and trace equivalence. We describe how to build secure contexts in these cases and we show that two well-known security properties, named BNDC and NDC, are just special instances of our general notion. Annalisa Bossi, Damiano Macedonio, Carla Piazza, Sabina Rossi |
J. Comput. Secur. | 2 |
| 2003 | Secure Contexts for Confidential DataabstractInformation flow security in a multilevel system aims at guaranteeing that no high level information is revealed to low level users, even in the presence of any possible malicious process. This requirement could be too demanding when some knowledge about the environment (context) in which the process is going to run is available. To deal with these simulations we introduce the notion of secure contexts for a class of processes. This notion is parametric with respect to both the observation equivalence and the operation used to characterize the low level behavior of a process. We mainly analyze the cases of bisimulation and trace equivalence. We describe how to build secure contexts in these cases and we show that two well-known security properties, named BNDC and NDC, are just special instances of our general notion. Annalisa Bossi, Damiano Macedonio, Carla Piazza, Sabina Rossi |
CSFW | 2 |