Gernot Salzer

dblp:s/GernotSalzer · DBLP profile ↗
← Back
26ranked-venue papers
4as first author
4since 2021 · last 2024
0000-0002-8950-1551ORCID · verified

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

Theory of computation · 15 · 4 first-author · 1 since 2021Artificial intelligence and machine learning · 8 · 3 first-author · 1 since 2021Software engineering, systems software and programming languages · 7 · 3 since 2021Security and privacy · 2 · 1 since 2021Databases, data management, data science and information retrieval · 1
YearPublicationVenuePosition
2024 Bytecode Skeletons for Sample Selection in the Analysis of Blockchain Programs
abstract
To evaluate analysis tools for blockchain programs or to analyze an entire ecosystem of blockchain programs, representative samples are needed. Typically, samples are randomly selected from programs deployed during a particular period or published on web sites. Depending on the selection strategy, the quality of the analysis results may differ greatly. In this paper, we propose a selection method for smart contracts on Ethereum based on bytecode normalization. For each program, we compute a skeleton by removing parts with no or little effect on its functionality. Programs with the same skeleton are considered equivalent, and only one representative needs to be considered. We empirically evaluate its effect on the results of common bytecode analyzers. The proposed approach not only makes full coverage feasible, but also reduces sample size, redundancy, and bias. It sufficiently preserves the functionality and can even improve analysis results.
Monika Di Angelo, Gernot Salzer
ICBC2
2024 Evolution of automated weakness detection in Ethereum bytecode: a comprehensive study
abstract
Abstract Blockchain programs (also known as smart contracts) manage valuable assets like cryptocurrencies and tokens, and implement protocols in domains like decentralized finance (DeFi) and supply-chain management. These types of applications require a high level of security that is hard to achieve due to the transparency of public blockchains. Numerous tools support developers and auditors in the task of detecting weaknesses. As a young technology, blockchains and utilities evolve fast, making it challenging for tools and developers to keep up with the pace. In this work, we study the robustness of code analysis tools and the evolution of weakness detection on a dataset representing six years of blockchain activity. We focus on Ethereum as the crypto ecosystem with the largest number of developers and deployed programs. We investigate the behavior of single tools as well as the agreement of several tools addressing similar weaknesses. Our study is the first that is based on the entire body of deployed bytecode on Ethereum’s main chain. We achieve this coverage by considering bytecodes as equivalent if they share the same skeleton. The skeleton of a bytecode is obtained by omitting functionally irrelevant parts. This reduces the 48 million contracts deployed on Ethereum up to January 2022 to 248 328 contracts with distinct skeletons. For bulk execution, we utilize the open-source framework SmartBugs that facilitates the analysis of Solidity smart contracts, and enhance it to accept also bytecode as the only input. Moreover, we integrate six further tools for bytecode analysis. The execution of the 12 tools included in our study on the dataset took 30 CPU years. While the tools report a total of 1 307 486 potential weaknesses, we observe a decrease in reported weaknesses over time, as well as a degradation of tools to varying degrees.
Monika Di Angelo, Thomas Durieux, João F. Ferreira 0001, Gernot Salzer
Empir. Softw. Eng.4
2023 SmartBugs 2.0: An Execution Framework for Weakness Detection in Ethereum Smart Contracts
abstract
Smart contracts are blockchain programs that often handle valuable assets. Writing secure smart contracts is far from trivial, and any vulnerability may lead to significant financial losses. To support developers in identifying and eliminating vulnerabilities, methods and tools for the automated analysis of smart contracts have been proposed. However, the lack of commonly accepted benchmark suites and performance metrics makes it difficult to compare and evaluate such tools. Moreover, the tools are heterogeneous in their interfaces and reports as well as their runtime requirements, and installing several tools is time-consuming. In this paper, we present SmartBugs 2.0, a modular execution framework. It provides a uniform interface to 19 tools aimed at smart contract analysis and accepts both Solidity source code and EVM bytecode as input. After describing its architecture, we highlight the features of the framework. We evaluate the framework via its reception by the community and illustrate its scalability by describing its role in a study involving 3.25 million analyses.
Monika Di Angelo, Thomas Durieux, João F. Ferreira 0001, Gernot Salzer
ASE4
2021 MCP: Capturing Big Data by Satisfiability (Tool Description)
Miki Hermann, Gernot Salzer
SAT2
2020 Assessing the Similarity of Smart Contracts by Clustering their Interfaces
abstract
Like most programs, smart contracts offer their functionality via entry points that constitute the interface. Interface standards, e.g. for tokens contracts, foster interoperability. Ethereum is the most prominent platform for smart contracts. The number of contract deployments approaches 30 million, corresponding to roughly 300 000 distinct contract codes. In view of these numbers, it is necessary to develop automated methods for classifying contracts regarding their purpose, if one aims at a qualitative and quantitative understanding of what blockchain applications are used for at large. We approach the task by considering contracts as similar if their interfaces are. We encode interfaces and their interrelationships as graphs and explore several algorithms regarding their ability to find clusters of functionally similar contracts. Our evaluation of the quality of clustering relies on a ground truth of token and wallet contracts identified in earlier work. Our analysis is based on the bytecodes deployed on the main chain of Ethereum up to block 10.5 million, mined on July 21, 2020.
Monika Di Angelo, Gernot Salzer
TrustCom2
2019 Minimal Distance of Propositional Models
abstract
We investigate the complexity of three optimization problems in Boolean propositional logic related to information theory: Given a conjunctive formula over a set of relations, find a satisfying assignment with minimal Hamming distance to a given assignment that satisfies the formula ( NearestOtherSolution , NOSol ) or that does not need to satisfy it ( NearestSolution , NSol ). The third problem asks for two satisfying assignments with a minimal Hamming distance among all such assignments ( MinSolutionDistance , MSD ). For all three problems we give complete classifications with respect to the relations admitted in the formula. We give polynomial time algorithms for several classes of constraint languages. For all other cases we prove hardness or completeness regarding APX, poly-APX, or equivalence to well-known hard optimization problems.
Mike Behrisch, Miki Hermann, Stefan Mengel, Gernot Salzer
Theory Comput. Syst.4
2015 Give Me Another One!
Mike Behrisch, Miki Hermann, Stefan Mengel, Gernot Salzer
ISAAC4
2014 Numeric semantics of class diagrams with multiplicity and uniqueness constraints
Ingo Feinerer, Gernot Salzer
Softw. Syst. Model.2
2013 Class Diagrams with Equated Association Chains
abstract
We investigate properties of class diagrams with multiplicity constraints - as they appear e.g. in model-based engineering or database design - augmented by equational constraints on association chains. Constraints are typically used to generate additional code that throws an exception when a constraint is violated during run-time. Our aim is different: We develop methods to check already at modelling time whether all constraints can be satisfied, to provide suitable user feedback, and to compute optimal instances of the model. In this paper we extend our approach by a family of constraints that has proven relevant in practice, namely equations between chains of associations. Such equational constraints are necessary if we want to specify that the objects reachable via one chain of associations should in fact be the same as reachable via another one.
Ingo Feinerer, Gernot Salzer, Tanja Sisel
TASE2
2012 Configuration Repair via Flow Networks
Ingo Feinerer, Gerhard Niederbrucker, Gernot Salzer, Tanja Sisel
ISMIS3
2011 Reducing Multiplicities in Class Diagrams
Ingo Feinerer, Gernot Salzer, Tanja Sisel
MoDELS2
2009 Algebraic foundation of a data model for an extensible space-based collaboration protocol
abstract
Space-based computing middleware offers a data driven style for the coordination of processes. The interaction requirements between these processes can be complex, and the template matching coordination law of the Linda and JavaSpaces model is not sufficient. Moreover, the usage should not be limited to a single platform. Several authors have proposed coordination extensions, but besides the suggestion to use XML or RDF based query facilities, a formalization of a general and extensible space-based coordination model has not yet been realized. In this paper we present the algebraic data structures and the coordination model based on a navigational query language for the extensible virtual shared memory architecture, and show how they can be adapted to support arbitrary coordination laws by the introduction of user-definable matchmaker and selector functions. The platform independence is achieved through a language independent communication protocol. The formal specification of the data model is the necessary basis for this protocol.
Stefan Craß, Eva Kühn, Gernot Salzer
IDEAS3
2009 A comparison of tools for teaching formal software verification
abstract
Abstract We compare four tools regarding their suitability for teaching formal software verification, namely the Frege Program Prover, the Key system, Perfect Developer, and the Prototype Verification System ( PVS ). We evaluate them on a suite of small programs, which are typical of courses dealing with Hoare-style verification, weakest preconditions, or dynamic logic. Finally we report our experiences with using Perfect Developer in class.
Ingo Feinerer, Gernot Salzer
Formal Aspects Comput.2
2008 Complexity of Clausal Constraints Over Chains
Nadia Creignou, Miki Hermann, Andrei A. Krokhin, Gernot Salzer
Theory Comput. Syst.4
2008 Efficient Algorithms for Description Problems over Finite Totally Ordered Domains
abstract
Given a finite set of vectors over a finite totally ordered domain, we study the problem of computing a constraint in conjunctive normal form such that the set of solutions for the produced constraint is identical to the original set. We develop an efficient polynomial-time algorithm for the general case, followed by specific polynomial-time algorithms producing Horn, dual Horn, and bijunctive formulas for sets of vectors closed under the operations of conjunction, disjunction, and median, respectively. Our results generalize the work of Dechter and Pearl on relational data, as well as the papers by Hébrard and Zanuttini. They complement the results of Hähnle et al. on multivalued logics and Jeavons et al. on the algebraic approach to constraints.
Àngel J. Gil, Miki Hermann, Gernot Salzer, Bruno Zanuttini
SIAM J. Comput.3
2007 Consistency and Minimality of UML Class Specifications with Multiplicities and Uniqueness Constraints
abstract
The Unified Modeling Language (UML) has become a universal tool for the formal object-oriented specification of hard- and software. In particular, UML class diagrams and so-called multiplicities, which restrict the number of links between objects, are essential when using UML for applications like the specification of admissible configurations of components. In this paper we give a formal definition of the semantics of UML class diagrams and multiplicities. We extend results obtained in the context of entity relationship diagrams to cover UML specific extensions like the (non-)uniqueness attribute of binary associations. We show that the consistency of such specifications can be checked in polynomial time, and give an algorithm for computing minimal configurations (models). The core of our approach is a translation of UML class diagrams to Diophantine inequations.
Ingo Feinerer, Gernot Salzer
TASE2
2006 Tree Tuple Languages from the Logic Programming Point of View
Sébastien Limet, Gernot Salzer
J. Autom. Reason.2
2004 Proving Properties of Term Rewrite Systems via Logic Programs
Sébastien Limet, Gernot Salzer
RTA2
2000 Optimal Axiomatizations of Finitely Valued Logics
Gernot Salzer
Inf. Comput.1
1998 On the Word, Subsumption, and Complement Problem for Recurrent Term Schematizations
Miki Hermann, Gernot Salzer
MFCS2
1996 MUltlog 1.0: Towards an Expert System for Many-Valued Logics
Matthias Baaz, Christian G. Fermüller, Gernot Salzer, Richard Zach
CADE3
1996 Optimal Axiomatizations for Multiple-Valued Operators and Quantifiers Based on Semi-lattices
Gernot Salzer
CADE1
1996 A Non-Ground Realization of the Stable and Well-Founded Semantics
abstract
The declarative semantics of nonmonotonic logic programming has largely been based on propositional programs. However, the ground instantiation of a logic program may be very large, and likewise, a ground stable model may also be very large. We develop a non-ground semantic theory for non-monotonic logic programming. Its principal advantage is that stable models and well-founded models can be represented as sets of atoms, rather than as sets of ground atoms. A set SI of atoms may be viewed as a compact representation of the Herbrand interpretation consisting of all ground instances of atoms in SI. We develop generalizations of the stable and well-founded semantics based on such non-ground interpretations SI. The key notions for our theory are those of covers and anticovers. A cover as well as its anticover are sets of substitutions — non-ground in general — representing all substitutions obtained by ground instantiating some substitution in the (anti)cover, with the additional requirement that each ground substitution is represented either by the cover or by the anticover, but not by both. We develop methods for computing anticovers for a given cover, show that membership in so-called optimal covers is decidable, and investigate the complexity in the Datalog case.
Georg Gottlob, Sherry Marcus, Anil Nerode, Gernot Salzer, V. S. Subrahmanian
Theor. Comput. Sci.4
1994 Primal Grammars and Unification Modulo a Binary Clause
Gernot Salzer
CADE1
1993 Ordered Paramodulation and Resolution as Decision Procedure
Christian G. Fermüller, Gernot Salzer
LPAR2
1992 The Unification of Infinite Sets of Terms and Its Applications
Gernot Salzer
LPAR1