In the following you can find the main software (open-source) projects implemented and maintained by us. Refer to our GitHub profile for a complete overview of all our projects/tools.

ORIS

ORIS is a tool for quantitative modeling of non-Markovian systems as Stochastic Time Petri Nets (STPNs) and for their quantitative evaluation through the method of stochastic state classes.

Website: https://www.oris-tool.org

CLAIM

CLAIM is a lightweight static source code analysis approach that analyzes configuration files to identify microservices in Dockerized environments. CLAIM is specifically designed with scalability in mind, analyzing a software product comprising 417k SLOC in 266 milliseconds.

GitHub: https://github.com/STLab-UniFI/CLAIM_rep-pkg
Publication: PDF

ATDx

ATDx is an approach designed to provide a data-driven, intuitive, and actionable overview of the Architectural Technical Debt present in a portfolio of software projects. ATDx is based on third-party source code analysis tools, architectural issue severity calculation via clustering, and aggregation of measurements into different architectural technical debt dimensions. The ATDx tool allows users to automatically run the ATDx analysis, generate reports containing the ATDx analysis results, and is integrated with GitHub.

GitHub: https://github.com/S2-group/ATDx

SIRIO

SIRIO is a Java library implementing the modeling and evaluation features of ORIS, in particular the symbolic calculus of stochastic state classes and the analysis methods for STPNs.

Website: https://www.oris-tool.org

EULERO

EULERO is a Java library implementing a compositional approach to safe approximation of the end-to-end response time Probability Density Function (PDF) of complex workflows, made of activities with general (i.e., non-Exponential) duration possibly with bounded support, composed through sequence, choice/merge, and split/join blocks, with unbalanced split and join constructs that may break the structure of well-formed nesting.

Website: https://github.com/oris-tool/eulero

PYRAMIS

PYRAMIS is a Java library implementing a compositional approach for quantitative modeling and analysis of non-Markovian systems specified as an extension of UML statecharts.

Website: https://github.com/oris-tool/pyramis

Android Architectural Guidelines

To efficiently develop and mantain Android apps, a paramount factor is how well apps are architected. Based on a mixed-method empirical study, we derived 42 guidelines for architecting Android apps. The guidelines cover SOLID principles, design patterns, dependency injection tools like Dagger, and many more. The guidelines are organized around 4 themes: MVVM, MVP, Clean, and Generic guidelines.

Website: https://androidarchitectureguidelines.github.io/