Options
Guido Salvaneschi
Title
Prof. Ph.D.
Last Name
Salvaneschi
First name
Guido
Email
guido.salvaneschi@unisg.ch
Now showing
1 - 10 of 18
-
PublicationTCEP: Transitions in Operator Placement to Adapt to Dynamic Network Environments( 2021)
;Luthra, Manisha ;Koldehofe, Boris ;Danger, NielsStavrakakis, IoannisType: journal articleJournal: Journal of Computer and System SciencesVolume: 122Scopus© Citations 8 -
PublicationA Survey of Multitier Programming( 2021)
;Wirth, JohannesType: journal articleJournal: ACM Computing SurveysVolume: 53Issue: 4 -
PublicationRethinking Safe Consistency in Distributed Object-Oriented Programming( 2020)
;Köhler, Mirko ;Eskandani, Nafise ;Margara, AlessandroType: journal articleJournal: Proceedings of the ACM on Programming LanguagesVolume: 4Issue: OOPSLA -
PublicationDistributed System Development with ScalaLoci( 2018)
;Köhler, MirkoType: journal articleJournal: Proceedings of the ACM on Programming LanguagesVolume: 2Issue: OOPSLA -
PublicationThe PIPr Dataset of Public Infrastructure as Code Programs( 2024)With Programming Languages Infrastructure as Code (PL-IaC), developers implement IaC programs in popular imperative programming languages like Python and Typescript. Such programs generate the declarative target state of the deployment, i.e., they describe what to set up, not how to set it up. Despite the popularity of PL-IaC, which has grown more than ten times from 2020 to 2023, we know little about how developers apply it and how IaC programs differ from other software. Such knowledge is essential to effectively use existing software engineering techniques and develop new ones for PL-IaC. To shed light on PL-IaC in practice, we present PIPr, the first systematic PL-IaC dataset. PIPr is based on 37 712 public IaC programs on GitHub from August 2022 and includes initial analyses, assessing the programming languages, testing techniques, and licenses of the IaC programs. Beyond the metadata and analysis results of all IaC programs, PIPr contains the code of all 15 504 IaC programs whose licenses permit redistribution. PIPr sets the ground for future in-depth investigations on PL-IaC in practice.Type: conference paper
Scopus© Citations 2 -
PublicationTowards Reliable Infrastructure as Code( 2023)Modern Infrastructure as Code (IaC) programs are increasingly complex and much closer to traditional software than to simple configuration scripts. Their reliability is crucial because their failure prevents the deployment of applications, and incorrect behavior can introduce malfunction and severe security issues. Yet, software engineering tools to develop reliable programs, such as testing and verification, are barely used in IaC. In fact, we observed that developers mainly rely on integration testing, a slow and expensive practice that can increase confidence in end-to-end functionality but is infeasible to systematically test IaC programs in various configurations—which is required to ensure robustness. On the other hand, fast testing techniques, such as unit testing, are cumbersome with IaC programs because, today, they require significant coding overhead while only providing limited confidence.To solve this issue, we envision the automated testing tool ProTI, reducing the manual overhead and boosting confidence in the test results. ProTI embraces modern unit testing techniques to test IaC programs in many different configurations. Out of the box, ProTI is a fuzzer for Pulumi TypeScript IaC programs, randomly testing the program in many different configurations for termination, configuration correctness, and existing policy compliance. Then developers can add specifications to their program to guide random-based value generation, test additional properties, and add further mocking, making ProTI a property-based testing tool. Lastly, we aim at automatically verifying IaC-specific properties, e.g., access paths between resources.Type: conference paperJournal: 2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)
Scopus© Citations 4 -
PublicationFunctional Programming for Distributed Systems with XC( 2022)
;Audrito, Giorgio ;Casadei, Roberto ;Damiani, FerruccioViroli, MirkoType: conference paper -
PublicationPrisma: A Tierless Language for Enforcing Contract-client Protocols in Decentralized Apps( 2022-06)
;Richter, David ;Kretzler, David ;Faust, SebastianMezini, MiraType: conference paperVolume: 222 -
PublicationType: conference paper
-
PublicationMultiparty Languages: The Choreographic and Multitier Cases( 2021-07)
;Giallorenzo, Saverio ;Montesi, Fabrizio ;Peressotti, Marco ;Richter, DavidType: conference paperVolume: 194