@conference {2026:fc4mc:icsa,
	title = {Changing Nothing, Yet Changing Everything: Exploring Rug Pulls in GitHub Workflows},
	booktitle = {23rd International Conference on Software Architecture (ICSA)},
	year = {2026},
	month = {June},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Amsterdam, The Netherlands},
	abstract = {Software supply chain attacks have become a significant threat to modern software systems. By exploiting the complex and transitive nature of dependencies, malicious actors have been able to perform significant attacks, also taking advantage of the dynamic relationship between software components and their dependencies. In Continuous Integration and Continuous Deployment (CI/CD) ecosystems such as GitHub Actions, developers assemble workflows out of reusable Actions. However, these Actions{\textendash}in particular JavaScript ones{\textendash}come with an intricate network of dependencies. As they evolve, these dependency networks expose GitHub CI/CD pipelines to subtle vulnerabilities that may be introduced without any modification of the workflows themselves. This paper investigates such phenomenon, which we call {\textquotedblleft}rug pull{\textquotedblright} within GitHub workflows. Through formalization and an empirical analysis of real-world workflows, we characterize the propagation and persistence of such vulnerabilities as well as their remediation. Our findings highlight architectural considerations needed when designing secure yet maintainable CI/CD pipelines, emphasizing the need for careful dependency management and coordinated responsibility across the software supply chain.},
	keywords = {Security},
	doi = {10.1109/ICSA66085.2026.00014},
	url = {https://ieeexplore.ieee.org/document/11613072},
	author = {Edoardo Riggio and Cesare Pautasso}
}
@conference {vissoft2026,
	title = {Unravel: Visualizing Rug Pulls during the Evolution of GitHub Workflows},
	booktitle = {14th Working Conference on Software Visualization (VISSOFT 2026)},
	year = {2026},
	month = {September},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Benevento, Italy},
	keywords = {Workflows},
	author = {Edoardo Riggio and Cesare Pautasso}
}
@demo {2025:apiace:vissoft,
	title = {EVOSCAT: Exploring Software Change Dynamics in Large-Scale Historical Datasets},
	year = {2025},
	month = {September},
	publisher = {IEEE},
	address = {Auckland, New Zealand},
	abstract = {Long lived software projects encompass a large number of artifacts, which undergo many revisions throughout their history. Empirical software engineering researchers studying software evolution gather and collect datasets with millions of events, representing changes introduced to specific artifacts. In this paper, we propose EVOSCAT, a tool that attempts addressing temporal scalability through the usage of interactive density scatterplot to provide a global overview of large historical datasets mined from open source repositories in a single visualization.  EVOSCAT intends to provide researchers with a mean to produce scalable visualizations that can help them explore and characterize evolutions datasets, as well as comparing the histories of individual artifacts, both in terms of 1) observing how rapidly different artifacts age over multiple-year-long time spans 2) how often metrics associated with each artifacts tend towards an improvement or worsening. The paper shows how the tool can be tailored to specific analysis needs (pace of change comparison, clone detection, freshness assessment) thanks to its support for flexible configuration of history scaling and alignment along the time axis, artifacts sorting and interactive color mapping, enabling the analysis of millions of events obtained by mining the histories of tens of thousands of software artifacts. We include in this paper a gallery showcasing datasets gathering specific artifacts (OpenAPI descriptions, GitHub workflow definitions) across multiple repositories, as well as diving into the history of specific popular open source projects.},
	keywords = {Interactive Scatterplot, Large-Scale Historical Data, Software Evolution Visualization},
	doi = {10.1109/VISSOFT67405.2025.00021},
	url = {https://arxiv.org/abs/2508.10852},
	author = {Souhaila Serbout and Diana Carolina Mu{\~n}oz Hurtado and Hassan Atwi and Edoardo Riggio and Cesare Pautasso}
}
@conference {2025:profes,
	title = {Pipelines Under Pressure: An Empirical Study of Security Misconfigurations of GitHub Workflows},
	booktitle = {26th International Conference on Product-Focused Software Process Improvement (PROFES)},
	year = {2025},
	month = {December},
	pages = {220{\textendash}236},
	publisher = {Springer},
	organization = {Springer},
	address = {Salerno, Italy},
	abstract = {Continuous Integration and Continuous Deployment (CI/ CD) pipelines have grown in popularity in recent years and are essential in streamlining the process of development and deployment of high quality software. However, developers often overlook security concerns in CI/CD pipelines, opening the door to many vulnerabilities. This paper presents an empirical investigation of nine security misconfigurations sourced from a comprehensive review of security guidelines, developer blogs, GitHub documentation, and prior research. To study the presence, co-occurrence and yearly trends of these security misconfigurations within current CI/CD practices, we analyzed a large dataset containing the most recent version of over 200{\textquoteright}000 GitHub workflow specification files, taken from open source repositories. To aid us in this study, we developed Soteria, a static analysis tool equipped with custom detectors that can systematically identify security misconfigurations. Given that less than 1\% of the analyzed workflows do not include any misconfiguration, our detection tool makes a contribution to raise awareness about widespread security misconfigurations. Our findings challenge conventional practices and motivate the need for an urgent shift in how security principles are systematically applied in the development and operation of CI/CD pipelines with more robust and finer-grained security controls.},
	keywords = {CI/CD Build Pipeline, DevOps, GitHub Actions, Security Misconfigurations, Workflows},
	doi = {10.1007/978-3-032-12089-2_14},
	author = {Edoardo Riggio and Cesare Pautasso}
}
@demo {2022:ecsa:expresso,
	title = {ExpressO: From Express.js implementation code to OpenAPI interface descriptions},
	year = {2022},
	month = {September},
	pages = {29{\textendash}44},
	publisher = {Springer},
	abstract = {This tool demo paper brings forward a new CLI tool called ExpressO for developers who need to analyze a Web API implemented using the Express.js framework and automatically extract a specification written in the standard OpenAPI interface description language. The specification includes all of the implemented endpoints along with their response status codes and path and query parameters. Developers can use it to automatically determine whether the interface of a Web API matches its implementation based on the Express.js framework. The tool has been released on the npm component registry as {\textquoteleft}expresso-api{\textquoteright}.

},
	keywords = {API, express.js, OpenAPI},
	doi = {10.1007/978-3-031-36889-9_4},
	author = {Souhaila Serbout and Alessandro Romanelli and Cesare Pautasso}
}
@conference {2020:bac:iccs,
	title = {Microservice Disaster Crash Recovery: A Weak Global Referential Integrity Management},
	booktitle = {International Conference on Computational Science},
	year = {2020},
	month = {June},
	address = {Amsterdam, The Netherlands},
	abstract = {Microservices which use polyglot persistence (using multiple data storage techniques) cannot be recovered in a consistent state from backups taken independently. As a consequence, references across microservice boundaries may break after disaster recovery. 
In this paper, we give a weak global consistency definition for microservice architectures and present a recovery protocol which takes advantage of cached referenced data to reduce the amnesia interval for the recovered microservice, i.e., the time interval after the most recent backup, during which state changes may have been lost.},
	keywords = {BAC theorem, Microservices},
	author = {Maude Manouvrier and Cesare Pautasso and Marta Rukoz}
}
@proceedings {2018:icwe:workshops,
	title = {Current Trends in Web Engineering: ICWE 2018 Workshops MATWEP, EnWot, KD-WEB, WEOD, TourismKG},
	volume = {11153},
	year = {2018},
	publisher = {Springer},
	address = {C{\'a}ceres, Spain},
	keywords = {Web Engineering; Proceedings; Workshops},
	doi = {10.1007/978-3-030-03056-8},
	url = {https://link.springer.com/book/10.1007\%2F978-3-030-03056-8},
	editor = {Cesare Pautasso and Fernando S{\'a}nchez-Figueroa and Kari Systa and Juan Manuel Murillo Rodr{\'\i}guez}
}
@demo {2018:icsoc:demo:electra,
	title = {ELeCTRA: induced usage limitations calculation in RESTful APIs},
	year = {2018},
	month = {November},
	publisher = {Springer},
	address = {Hangzhou, Zhejiang, China},
	abstract = {As software architecture design is evolving to microservice paradigms, RESTful APIs become the building blocks of applications. In such a scenario, a growing market of APIs is proliferating and developers face the challenges to take advantage of this reality. For an example, third-party APIs typically define different usage limitations depending on the purchased Service Level Agreement (SLA) and, consequently, do- ing a manual limitation analysis of external APIs and their impact in a microservice architecture is a complex and tedious task. In this demonstration paper, we present ELeCTRA, a tool to automate the analysis of induced limitations in an API, derived from its usage of external APIs with limitations. Specifically, this tools takes the structural, conversational and SLA specifications of the API, generates a visual dependency graph and translates the problem into a constraint satisfaction optimization problem (CSOP) to obtain the optimal usage limitations.},
	keywords = {API, demo, REST},
	author = {Antonio Gamez-Diaz and Pablo Fernandez and Cesare Pautasso and Ana Ivanchikj and Antonio Ruiz-Cortes}
}
@conference {2018:benchflow:coopis,
	title = {Evaluating Multi-Tenant Live Migrations Effects on Performance},
	booktitle = {26th International Conference on Cooperative Information Systems (CoopIS)},
	year = {2018},
	month = {October},
	address = {Valletta, Malta},
	abstract = {Multitenancy is an important feature for all Everything as a Service providers like Business Process Management as a Service. It allows to reduce the cost of the infrastructure since multiple tenants share the same service instances. However, tenants have dynamic workloads. The resource they share may not be sufficient at some point in time. It may require Cloud resource (re-)configurations to ensure a given Quality of Service. Tenants should be migrated without stopping the service from a configuration to another to meet their needs while minimizing operational costs on the provider side. Live migrations reveal many challenges: service interruption must be minimized and the impact on co-tenants should be minimal. In this paper, we investigate live tenants migrations duration and its effects on the migrated tenants as well as the co-located ones. To do so, we propose a generic approach to measure these effects for multi-tenant Software as a Service. Further, we propose a testing framework to simulate workloads, and observe the impact of live migrations on Business Process Management Systems. The experimental results highlight the efficiency of our approach and show that migration time depends on the size of data that have to be transferred and that the effects on co-located tenants should not be neglected. },
	keywords = {BenchFlow, Multi-tenant, Performance Testing, workflow engine},
	author = {Guillaume Rosinosky and Chahrazed Labba and Vincenzo Ferme and Samir Youcef and Fran{\c c}ois Charoy and Cesare Pautasso}
}
@conference {2017:icsa:blockchain,
	title = {A Taxonomy of Blockchain-based Systems for Architecture Design},
	booktitle = {1st IEEE International Conference on Software Architecture (ICSA 2017)},
	year = {2017},
	month = {April},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Gothenburg, Sweden},
	abstract = {Blockchain is an emerging technology for decentralised and transactional data sharing across a large network of untrusted participants. It enables new forms of distributed software architectures, where agreement on shared states can be established without trusting a central integration point. A major difficulty for architects designing applications based on blockchain is that the technology has many configurations and variants. Since blockchains are at an early stage, there is little product data or reliable technology evaluation available to compare different blockchains. In this paper, we propose how to classify and compare blockchains and blockchain-based systems to assist with the design and assessment of their impact on software architectures. Our taxonomy captures major architectural characteristics of blockchains and the impact of their principal design decisions. This taxonomy is intended to help with important architectural considerations about the performance and quality attributes of blockchain-based systems.},
	keywords = {blockchain, software architecture},
	author = {Xiwei Xu and Ingo Weber and Liming Zhu and Mark Staples and Jan Bosch and Len Bass and Cesare Pautasso and Paul Rimba}
}
@conference {benchflow:2015:closer,
	title = {"BPELanon": Protect Business Processes on the Cloud},
	booktitle = {5th International Conference on Cloud Computing and Service Science (CLOSER 2015)},
	year = {2015},
	month = {May},
	pages = {241-250},
	publisher = {SciTePress},
	organization = {SciTePress},
	address = {Lisbon, Portugal},
	abstract = {The advent of Cloud computing supports the offering of many Business Process Management applications on a
distributed, per-use basis environment through its infrastructure. Due to the fact that privacy is still an open
issue in the Cloud, many companies are reluctant to move their Business Processes on a public Cloud. Since the
Cloud environment can be beneficiary for the Business Processes, the investigation of privacy issues needs to
be further examined. In order to enforce the Business Process sharing on the Cloud we propose a methodology
({\textquotedblleft}BPELanon{\textquotedblright}) for the anonymization of Business Processes expressed in the Web Service Business Process
Execution Language (BPEL). The method transforms a process to preserve its original structure and run-time
behavior, while completely anonymizing its business semantics. In this work we set the theoretical framework
of the method and define a five management layers architecture to support its realization. We developed a tool
that implements the {\textquotedblleft}BPELanon{\textquotedblright} method, validate its functionality and evaluate its performance against a
collection of real-world process models that were conducted in the scope of research projects.},
	keywords = {Anonymization, BenchFlow, BPEL},
	doi = {10.5220/0005427502410250},
	author = {Marigianna Skouradaki and Vincenzo Ferme and Frank Leymann and Cesare Pautasso and Dieter Roller}
}
@conference {benchflow:2015:icpe,
	title = {On the Road to Benchmarking BPMN 2.0 Workflow Engines},
	booktitle = {6th ACM/SPEC International Conference on Performance Engineering},
	year = {2015},
	month = {January},
	publisher = {IEEE},
	organization = {IEEE},
	address = {Austin, TX, USA},
	abstract = {Workflow Management Systems (WfMSs) provide platforms for delivering complex service-oriented applications that need to satisfy enterprise-grade quality of service requirements such as dependability and scalability. 
In this paper we focus on the case of benchmarking the performance of the core of WfMSs, Workflow Engines, that are compliant with the Business Process Model and Notation 2.0 (<a href="http://www.omg.org/spec/BPMN/2.0/">BPMN 2.0</a>) standard.
We first explore the main challenges that need to be met when designing such a benchmark and describe the approaches we designed for tackling them in the <a href="http://design.inf.usi.ch/research/projects/benchflow">BenchFlow project</a>.
We discuss our approach to distill the essence of real-world processes to create from it processes for the benchmark, and to ensure that the benchmark finds wide applicability.},
	keywords = {BenchFlow, benchmarking},
	doi = {10.1145/2668930.2695527},
	author = {Marigianna Skouradaki and Vincenzo Ferme and Frank Leymann and Cesare Pautasso and Dieter Roller}
}
@conference {benchflow:2015:btw,
	title = {Towards Workflow Benchmarking: Open Research Challenges},
	booktitle = {16. Fachtagung Datenbanksysteme f{\"u}r Business, Technologie und Web (BTW)},
	year = {2015},
	month = {March},
	pages = {331-350},
	publisher = {Gesellschaft f{\"u}r Informatik},
	organization = {Gesellschaft f{\"u}r Informatik},
	address = {Hamburg, Germany},
	keywords = {BenchFlow, benchmarking, workflow},
	url = {http://www.btw-2015.de/?programm_main},
	author = {Cesare Pautasso and Dieter Roller and Frank Leymann and Vincenzo Ferme and Marigianna Skouradaki}
}
@inproceedings {benchflow:zeus2014,
	title = {"BPELanon": Anonymizing BPEL Processes},
	year = {2014},
	month = {February},
	address = {Potsdam, Germany},
	abstract = {We are currently developing a performance benchmark for Workflow Management System. As a first activity we are collecting real-world processes. However, to protect their competitive advantage, some companies are not willing to share their corporate assets. This work{\textquoteright}s objective is to propose a method ("BPELanon") for BPEL process anonymization in order to deal with the problem. The method transforms a process to preserve its original structure and runtime behaviour, while completely anonymizing its business semantics. Anonymization is a complicated task that must meet the requirements we outline in this paper. Namely, we need to preserve the structural and executional information while anonymizing information such as namespaces, names (activity names, variable names, partner link names etc.), and XPATH expressions that may reveal proprietary information. Furthermore, the names contained in the anonymized process should be chosen carefully in order to avoid conflicts, preserve privacy, and file-readability. Multiple dependency relations among process artifacts raise the challenge of fulfilling the aforementioned requirements, as a unique change in a file potentially leads to a flow of changes to other related process artifacts. },
	keywords = {Anonymization, BenchFlow, BPEL, business process modeling},
	author = {Marigianna Skouradaki and Dieter Roller and Cesare Pautasso and Frank Leymann}
}
@conference {benchflow:2014:sosp,
	title = {Technical Open Challenges on Benchmarking Workflow Management Systems},
	booktitle = {Symposium on Software Performance},
	year = {2014},
	month = {November},
	pages = {105-112},
	address = {Stuttgart, Germany},
	abstract = {The goal of the BenchFlow project is to design the first benchmark for assessing and comparing the performance of BPMN 2.0 Workflow Management Systems (WfMSs). WfMSs have become the platform to build composite service-oriented applications, whose performance depends on two factors: the performance of the workflow system itself and the performance of the composed services (which could lie outside of the control of the workflow). Our main goal is to present to the community the state of our work, and the open challenges of a complex industry-relevant benchmark},
	keywords = {BenchFlow, benchmarking, workflow engine},
	url = {http://www.performance-symposium.org/2014/proceedings/},
	author = {Marigianna Skouradaki and Dieter Roller and Frank Leymann and Vincenzo Ferme and Cesare Pautasso}
}
@conference {ibm:2007:agtive,
	title = {Combining Quality Assurance and Model Transformations in Business-Driven Development},
	booktitle = {Third International Symposium on Applications of Graph Transformations with Industrial Relevance (AGTIVE 2007)},
	year = {2007},
	month = {October},
	pages = {1-16},
	abstract = {Business-driven development is a methodology for developing IT solutions that directly satisfy business requirements. At its core are business processes, which are usually modeled by combining graphical and textual notations. During business-driven development, business process models are taken to the IT level, where they are implemented in a Service-Oriented Architecture. A major challenge in business-driven development is the semantic gap between models captured at the business and the IT level. Model transformations play a major role in bridging this gap.

This paper presents a transformation framework for IBM WebSphere Business Modeler that enables programmers to quickly develop in-place model transformations, which are then made available to users of this tool. They address various user needs such as quickly correcting modeling errors, refining a process model, or applying a number of refactoring operations. Transformations are combined with quality assurance techniques, which help users to preserve or improve the correctness of their business process models when applying transformations.
},
	keywords = {business driven development, model-driven engineering},
	doi = {10.1007/978-3-540-89020-1_1},
	author = {Jana Koehler and Thomas Gschwind and Jochen Malte K{\"u}ster and Cesare Pautasso and Ksenia Ryndina and Jussi Vanhatalo and Hagen V{\"o}lzer}
}
