Publications

2024

  1. PLDI
    Propel
    Automated Verification of Fundamental Algebraic Laws
    Proceedings of the ACM on Programming Languages 8 (PLDI), 2024
  2. EDBT
    Stateful Entities: Object-oriented Cloud Applications as Distributed Dataflows
    Kyriakos Psarakis, Wouter Zorgdrager, Marios Fragkoulis, Guido Salvaneschi, Asterios Katsifodimos
    In Proceedings of the 27th International Conference on Extending Database Technology, EDBT, 2024
  3. Bridging Between Active Objects: Multitier Programming for Distributed, Concurrent Systems
    In Active Object Languages: Current Research Trends, Lecture Notes in Computer Science, 2024
  4. TSE
    ProTI
    Automated Infrastructure as Code Program Testing
    IEEE Transactions on Software Engineering, 2024
  5. ICSE Companion
    ProTI
    Unleashing the Giants: Enabling Advanced Testing for Infrastructure as Code
    In Companion Proceedings of the 46th International Conference on Software Engineering, ICSE Companion, 2024
  6. MSR
    The PIPr Dataset of Public Infrastructure as Code Programs
    In Proceedings of the IEEE/ACM 21st International Conference on Mining Software Repositories, MSR, 2024

2023

  1. OOPSLA
    ScalaLoci
    Type-Safe Dynamic Placement with First-Class Placed Values
    Proceedings of the ACM on Programming Languages 7 (OOPSLA2), 2023
  2. TOPLAS
    Prisma: A Tierless Language for Enforcing Contract-Client Protocols in Decentralized Applications
    David Richter, David Kretzler, Pascal Weisenburger, Guido Salvaneschi, Sebastian Faust, Mira Mezini
    ACM Transactions on Programming Languages and Systems 45 (3), 2023
  3. PLDI
    Propel
    Type-Checking CRDT Convergence
    Proceedings of the ACM on Programming Languages 7 (PLDI), 2023
  4. JSS
    The Uphill Journey of FaaS in the Open-Source Community
    Journal of Systems and Software 198, 2023
  5. FIST
    ProTI
    Towards Reliable Infrastructure as Code
    In Companion Proceedings of 2023 IEEE 20th International Conference on Software Architecture, ICSA Companion, 2023
  6. IEEE Software
    µs
    Decentralizing Infrastructure as Code
    IEEE Software 40 (1), 2023
  7. CONFLANG
    ProTI
    Creed for Speed: Comprehensive Infrastructure as Code Testing
    Presentation at the CONFLANG 2023 workshop, 2023
  8. SPLASH Companion
    ProTI
    Extensible Testing for Infrastructure as Code
    In Companion Proceedings of the 2023 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, SPLASH Companion, 2023
  9. SPLASH Companion
    ConSysT
    Safe Combination of Data-Centric and Operation-Centric Consistency
    In Companion Proceedings of the 2023 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, SPLASH Companion, 2023

2022

  1. ESEC/FSE DS
    µs
    Infrastructure as Code for Dynamic Deployments
    In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE, 2022
  2. ECOOP
    Functional Programming for Distributed Systems with XC
    Giorgio Audrito, Roberto Casadei, Ferruccio Damiani, Guido Salvaneschi, Mirko Viroli
    In Proceedings of the 36th European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2022
  3. ECOOP
    Prisma: A Tierless Language for Enforcing Contract-Client Protocols in Decentralized Applications (Extended Abstract)
    David Richter, David Kretzler, Pascal Weisenburger, Guido Salvaneschi, Sebastian Faust, Mira Mezini
    In Proceedings of the 36th European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2022
  4. ICSE
    Change Is the Only Constant: Dynamic Updates for Workflows
    In Proceedings of the 44th International Conference on Software Engineering, ICSE, 2022

2021

  1. JCSS
    TCEP: Transitions in Operator Placement to Adapt to Dynamic Network Environments
    Manisha Luthra, Boris Koldehofe, Niels Danger, Pascal Weisenburger, Guido Salvaneschi, Ioannis Stavrakakis
    Journal of Computer and System Sciences 122, 2021
  2. PAVeTrust
    JE
    Towards Democratizing Secure Enclave Programming
    Aditya Oak, Amir M. Ahmadian, Musard Balliu, Guido Salvaneschi
    In Program Analysis and Verification on Trusted Platforms, PAVeTrust, 2021
  3. SecDev
    JE
    Enclave-Based Secure Programming with JE
    Aditya Oak, Amir M. Ahmadian, Musard Balliu, Guido Salvaneschi
    In Proceedings of the 2021 IEEE Secure Development Conference, SecDev, 2021
  4. ESEC/FSE
    µs
    Automating Serverless Deployments for DevOps Organizations
    In Proceedings of the 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE, 2021
  5. ESEC/FSE DS
    µs
    Deployment Coordination for Cross-Functional DevOps Teams
    In Proceedings of the 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE, 2021
  6. AISTA
    Impact of Programming Languages on Machine Learning Bugs
    Sebastian Sztwiertnia, Maximilian Grübel, Amine Chouchane, Daniel Sokolowski, Krishna Narasimhan, Mira Mezini
    In Proceedings of the 1st ACM International Workshop on AI and Software Testing/Analysis, AISTA, 2021
  7. ECOOP
    ScalaLoci
    Multiparty Languages: The Choreographic and Multitier Cases
    Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, David Richter, Guido Salvaneschi, Pascal Weisenburger
    In Proceedings of the 35th European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2021
  8. CSF
    JE
    Language Support for Secure Software Development with Enclaves
    Aditya Oak, Amir M. Ahmadian, Musard Balliu, Guido Salvaneschi
    In Proceedings of the 34th IEEE Computer Security Foundations Symposium, CSF, 2021
  9. MSR
    The Wonderless Dataset for Serverless Computing
    In Proceedings of the IEEE/ACM 18th International Conference on Mining Software Repositories, MSR, 2021

2020

  1. OOPSLA
    Handling Bidirectional Control Flow
    Yizhou Zhang, Guido Salvaneschi, Andrew C. Myers
    Proceedings of the ACM on Programming Languages 4 (OOPSLA), 2020
  2. SuperCompCloud
    ScalaLoci
    Leveraging Hybrid Cloud HPC with Multitier Reactive Programming
    Daniel Sokolowski, Jan-Patrick Lehr, Christian Bischof, Guido Salvaneschi
    In Proceedings of the 3rd IEEE/ACM International Workshop on Interoperability of Supercomputing and Cloud Technologies, SuperCompCloud, 2020
  3. OOPSLA
    ConSysT
    Rethinking Safe Consistency in Distributed Object-Oriented Programming
    Proceedings of the ACM on Programming Languages 4 (OOPSLA), 2020
  4. A Survey of Multitier Programming
    ACM Computing Surveys 53 (4), 2020
  5. ISSTA
    A Programming Model for Semi-Implicit Parallelization of Static Analyses
    Dominik Helm, Florian Kübler, Jan Thomas Kölzer, Philipp Haller, Michael Eichberg, Guido Salvaneschi, Mira Mezini
    In Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA, 2020
  6. FTfJP
    ConSysT
    ConSysT: Tunable, Safe Consistency Meets Object-Oriented Programming
    In Proceedings of the 22nd ACM SIGPLAN International Workshop on Formal Techniques for Java-Like Programs, FTfJP, 2020
  7. ‹Programming›
    ScalaLoci
    Implementing a Language for Distributed Systems: Choices and Experiences with Type Level and Macro Programming in Scala
    The Art, Science, and Engineering of Programming 4 (3), 2020
  8. A Programming Language for Distributed Systems
    Doctoral dissertation, Technische Universität Darmstadt, 2020

2019

  1. ASE
    Automated Refactoring to Reactive Programming
    In Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering, ASE, 2019
  2. OOPSLA
    REScala
    A Fault-Tolerant Programming Model for Distributed Interactive Applications
    Ragnar Mogk, Joscha Drechsler, Guido Salvaneschi, Mira Mezini
    Proceedings of the ACM on Programming Languages 3 (OOPSLA), 2019
  3. SPLASH Companion
    ConSysT
    Distributed Object-Oriented Programming with Multiple Consistency Levels in ConSysT
    In Companion Proceedings of the 2019 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, SPLASH Companion, 2019
  4. REBLS
    GRASS: Generic Reactive Application-Specific Scheduling
    Marcel Blöcher, Matthias Eichholz, Pascal Weisenburger, Patrick Eugster, Mira Mezini, Guido Salvaneschi
    In Proceedings of the 6th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems, REBLS, 2019
  5. OOPSLA
    Language-Integrated Privacy-Aware Distributed Queries
    Guido Salvaneschi, Mirko Köhler, Daniel Sokolowski, Philipp Haller, Sebastian Erdweg, Mira Mezini
    Proceedings of the ACM on Programming Languages 3 (OOPSLA), 2019
  6. REBLS
    ScalaLoci
    Multitier Reactive Programming in High Performance Computing
    Presentation at the 6th Workshop on Reactive and Event-based Languages and Systems (REBLS), 2019
  7. GHTC
    Smart Street Lights and Mobile Citizen Apps for Resilient Communication in a Digital City
    Lars Baumgärtner, Jonas Höchst, Patrick Lampe, Ragnar Mogk, Artur Sterz, Pascal Weisenburger, Mira Mezini, Bernd Freisleben
    In Proceedings of the 2019 IEEE Global Humanitarian Technology Conference, GHTC, 2019
  8. ECOOP
    How to Avoid Making a Billion-Dollar Mistake: Type-Safe Data Plane Programming with SafeP4
    Matthias Eichholz, Eric Campbell, Nate Foster, Guido Salvaneschi, Mira Mezini
    In Proceedings of the 33rd European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2019
  9. ECOOP
    ScalaLoci
    Multitier Modules
    In Proceedings of the 33rd European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2019
  10. CoRR
    Type-safe, Polyvariadic Event Correlation
    Oliver Bračevac, Guido Salvaneschi, Sebastian Erdweg, Mira Mezini
    arXiv, 2019
  11. FAS*W
    On Context-Orientation in Aggregate Programming
    Roberto Casadei, Danilo Pianini, Guido Salvaneschi, Mirko Viroli
    In Proceedings of the 2019 IEEE 4th International Workshops on Foundations and Applications of Self* Systems, FAS*W, 2019
  12. Tutorial: Developing Distributed Systems with Multitier Programming
    In Proceedings of the 13th ACM International Conference on Distributed and Event-Based Systems, DEBS, 2019
  13. PASS
    JE
    Language Support for Multiple Privacy Enhancing Technologies
    In Companion Proceedings of the 3rd International Conference on Art, Science, and Engineering of Programming, ‹Programming› Companion, 2019

2018

  1. OOPSLA
    ScalaLoci
    Distributed System Development with ScalaLoci
    Proceedings of the ACM on Programming Languages 2 (OOPSLA), 2018
  2. OOPSLA
    REScala
    Thread-Safe Reactive Programming
    Joscha Drechsler, Ragnar Mogk, Guido Salvaneschi, Mira Mezini
    Proceedings of the ACM on Programming Languages 2 (OOPSLA), 2018
  3. ECOOP
    REScala
    Fault-tolerant Distributed Reactive Programming
    Ragnar Mogk, Lars Baumgärtner, Guido Salvaneschi, Bernd Freisleben, Mira Mezini
    In Proceedings of the 32nd European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2018
  4. SOAP
    Lattice Based Modularization of Static Analyses
    Michael Eichberg, Florian Kübler, Dominik Helm, Michael Reif, Guido Salvaneschi, Mira Mezini
    In Companion Proceedings for the ISSTA/ECOOP 2018 Workshops, ISSTA/ECOOP Companion, 2018
  5. FTfJP
    ScalaLoci
    Static Latency Tracking with Placement Types
    In Companion Proceedings for the ISSTA/ECOOP 2018 Workshops, ISSTA/ECOOP Companion, 2018
  6. ICFP
    Versatile Event Correlation with Algebraic Effects
    Oliver Bračevac, Nada Amin, Guido Salvaneschi, Sebastian Erdweg, Patrick Eugster, Mira Mezini
    Proceedings of the ACM on Programming Languages 2 (ICFP), 2018
  7. DEBS
    Multimodal Complex Event Processing on Mobile Devices
    Pablo Graubner, Christoph Thelen, Michael Körber, Artur Sterz, Guido Salvaneschi, Mira Mezini, Bernhard Seeger, Bernd Freisleben
    In Proceedings of the 12th ACM International Conference on Distributed and Event-Based Systems, DEBS, 2018
  8. DEBS
    TCEP: Adapting to Dynamic User Environments by Enabling Transitions between Operator Placement Mechanisms
    Manisha Luthra, Boris Koldehofe, Pascal Weisenburger, Guido Salvaneschi, Raheel Arif
    In Proceedings of the 12th ACM International Conference on Distributed and Event-Based Systems, DEBS, 2018
  9. TSE
    On the Semantics of Distributed Reactive Programming: The Cost of Consistency
    Alessandro Margara, Guido Salvaneschi
    IEEE Transactions on Software Engineering 44 (7), 2018
  10. Reactive Programming Experience with REScala
    Ragnar Mogk, Guido Salvaneschi, Mira Mezini
    In Companion Proceedings for the 2nd International Conference on Art, Science, and Engineering of Programming, ‹Programming› Companion, 2018
  11. PASS
    Towards Safe Modular Composition of Network Functions
    Matthias Eichholz, Guido Salvaneschi, Mira Mezini
    In Companion Proceedings for the 2nd International Conference on Art, Science, and Engineering of Programming, ‹Programming› Companion, 2018

2017

  1. On the Positive Effect of Reactive Programming on Software Comprehension: An Empirical Study
    Guido Salvaneschi, Sebastian Proksch, Sven Amann, Sarah Nadi, Mira Mezini
    IEEE Transactions on Software Engineering 43 (12), 2017
  2. FTfJP
    ConSysT
    Consistency Types for Safe and Efficient Distributed Programming
    Alessandro Margara, Guido Salvaneschi
    In Proceedings of the 19th Workshop on Formal Techniques for Java-like Programs, FTfJP, 2017
  3. SEAMS
    Quality-Aware Runtime Adaptation in Complex Event Processing
    Pascal Weisenburger, Manisha Luthra, Boris Koldehofe, Guido Salvaneschi
    In Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS, 2017

2016

  1. SPLASH DS
    ScalaLoci
    Multitier Reactive Abstractions
    In Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, SPLASH Companion, 2016
  2. SCALA
    Reactive Async: Expressive Deterministic Concurrency
    Philipp Haller, Simon Geries, Michael Eichberg, Guido Salvaneschi
    In Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala, SCALA, 2016
  3. SCALA
    SecureScala: Scala Embedding of Secure Computations
    Markus Hauck, Savvas Savvides, Patrick Eugster, Mira Mezini, Guido Salvaneschi
    In Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala, SCALA, 2016
  4. PLATEAU
    REScala
    What Do We Really Know about Data Flow Languages?
    In Proceedings of the 7th International Workshop on Evaluation and Usability of Programming Languages and Tools, PLATEAU, 2016
  5. PLDI
    Accepting Blame for Safe Tunneled Exceptions
    Yizhou Zhang, Guido Salvaneschi, Quinn Beightol, Barbara Liskov, Andrew C. Myers
    In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI, 2016
  6. ICSE
    REScala
    Debugging for Reactive Programming
    Guido Salvaneschi, Mira Mezini
    In Proceedings of the 38th International Conference on Software Engineering, ICSE, 2016
  7. ICSE Companion
    REScala
    Debugging Reactive Programming with Reactive Inspector
    Guido Salvaneschi, Mira Mezini
    In Companion Proceedings of the 38th International Conference on Software Engineering, ICSE Companion, 2016
  8. MODULARITY
    CPL: A Core Language for Cloud Computing
    Oliver Bračevac, Sebastian Erdweg, Guido Salvaneschi, Mira Mezini
    In Proceedings of the 15th International Conference on Modularity, MODULARITY, 2016

2015

  1. PLDI
    Lightweight, Flexible Object-Oriented Generics
    Yizhou Zhang, Matthew C. Loring, Guido Salvaneschi, Barbara Liskov, Andrew C. Myers
    In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI, 2015
  2. SCP
    ContextErlang
    Guido Salvaneschi, Carlo Ghezzi, Matteo Pradella
    Science of Computer Programming 102 (C), 2015
  3. ICSE
    REScala
    Reactive Programming: A Walkthrough
    Guido Salvaneschi, Alessandro Margara, Giordano Tamburrelli
    In Proceedings of the 37th International Conference on Software Engineering, ICSE, 2015

2014

  1. An Empirical Study on Program Comprehension with Reactive Programming
    Guido Salvaneschi, Sven Amann, Sebastian Proksch, Mira Mezini
    In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE, 2014
  2. OOPSLA
    REScala
    Distributed REScala: An Update Algorithm for Distributed Reactive Programming
    Joscha Drechsler, Guido Salvaneschi, Ragnar Mogk, Mira Mezini
    In Proceedings of the 2014 ACM International Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA, 2014
  3. OOPSLA
    i3QL: Language-Integrated Live Data Views
    Ralf Mitschke, Sebastian Erdweg, Mirko Köhler, Mira Mezini, Guido Salvaneschi
    In Proceedings of the 2014 ACM International Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA, 2014
  4. Software
    Programming with Implicit Flows
    Guido Salvaneschi, Patrick Eugster, Mira Mezini
    IEEE Software 31 (5), 2014
  5. DEBS
    ConSysT
    We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees
    Alessandro Margara, Guido Salvaneschi
    In Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, DEBS, 2014
  6. MODULARITY
    REScala
    JEScala: Modular Coordination with Declarative Events and Joins
    Jurgen M. Van Ham, Guido Salvaneschi, Mira Mezini, Jacques Noyé
    In Proceedings of the 13th International Conference on Modularity, MODULARITY, 2014
  7. MODULARITY
    REScala
    REScala: Bridging between Object-Oriented and Functional Style in Reactive Applications
    Guido Salvaneschi, Gerold Hintz, Mira Mezini
    In Proceedings of the 13th International Conference on Modularity, MODULARITY, 2014
  8. LNCS
    REScala
    Towards Reactive Programming for Object-Oriented Applications
    Guido Salvaneschi, Mira Mezini
    In Transactions on Aspect-Oriented Software Development XI, Lecture Notes in Computer Science, 2014

2013

  1. Ways to React: Comparing Reactive Languages and Complex Event
    Alessandro Margara, Guido Salvaneschi
    Presentation at the Workshop on Reactivity, Events and Modularity (REM), 2013
  2. TAAS
    An Analysis of Language-Level Support for Self-Adaptive Software
    Guido Salvaneschi, Carlo Ghezzi, Matteo Pradella
    ACM Transactions on Autonomous and Adaptive Systems 8 (2), 2013
  3. COORDINATION
    REScala
    Towards Distributed Reactive Programming
    Guido Salvaneschi, Joscha Drechsler, Mira Mezini
    In Proceedings of the International Conference on Coordination Languages and Models, COORDINATION, 2013
  4. AOSD
    REScala
    Reactive Behavior in Object-Oriented Applications: An Analysis and a Research Roadmap
    Guido Salvaneschi, Mira Mezini
    In Proceedings of the 12th Annual International Conference on Aspect-Oriented Software Development, AOSD, 2013

2012

  1. JSS
    Context-Oriented Programming: A Software Engineering Perspective
    Guido Salvaneschi, Carlo Ghezzi, Matteo Pradella
    Journal of Systems and Software 85 (8), 2012
  2. AOSD
    ContextErlang: Introducing Context-Oriented Programming in the Actor Model
    Guido Salvaneschi, Carlo Ghezzi, Matteo Pradella
    In Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development, AOSD, 2012

2011

  1. ICISS
    Finding Non-Trivial Malware Naming Inconsistencies
    Federico Maggi, Andrea Bellini, Guido Salvaneschi, Stefano Zanero
    In Proceedings of the 7th International Conference on Information Systems Security, ICISS, 2011
  2. COP
    JavaCtx: Seamless Toolchain Integration for Context-Oriented Programming
    Guido Salvaneschi, Carlo Ghezzi, Matteo Pradella
    In Proceedings of the 3rd International Workshop on Context-Oriented Programming, COP, 2011
  3. SEAMS
    An Evaluation of the Adaptation Capabilities in Programming Languages
    Carlo Ghezzi, Matteo Pradella, Guido Salvaneschi
    In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS, 2011
  4. CoRR
    Context-Oriented Programming: A Programming Paradigm for Autonomic Systems
    Guido Salvaneschi, Carlo Ghezzi, Matteo Pradella
    arXiv, 2011
  5. Metrics of Software Security
    Guido Salvaneschi, Paolo Salvaneschi
    In Encyclopedia of Cryptography and Security, 2nd Ed, 2011

2010

  1. COP
    Context Oriented Programming in Highly Concurrent Systems
    Carlo Ghezzi, Matteo Pradella, Guido Salvaneschi
    In Proceedings of the 2nd International Workshop on Context-Oriented Programming, COP, 2010
  2. SP
    Identifying Dormant Functionality in Malware Programs
    Paolo Milani Comparetti, Guido Salvaneschi, Engin Kirda, Clemens Kolbitsch, Christopher Kruegel, Stefano Zanero
    In Proceedings of the 2010 IEEE Symposium on Security and Privacy, SP, 2010
  3. SEAMS
    Programming Language Support to Context-Aware Adaptation: A Case-Study with Erlang
    Carlo Ghezzi, Matteo Pradella, Guido Salvaneschi
    In Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS, 2010
  4. FASE
    Automatic Cross Validation of Multiple Specifications: A Case Study
    Carlo Ghezzi, Andrea Mocci, Guido Salvaneschi
    In Proceedings of the 13th International Conference on Fundamental Approaches to Software Engineering, FASE, 2010

2009

  1. EC2ND
    Integrated Detection of Attacks Against Browsers, Web Applications and Databases
    Claudio Criscione, Guido Salvaneschi, Federico Maggi, Stefano Zanero
    In Proceedings of the 2009 European Conference on Computer Network Defense, EC2ND, 2009