Davide Di Ruscio

Davide Di Ruscio
Università degli Studi dell'Aquila | Università dell'Aquila · Department of Information Engineering Computer Science and Mathematics

PhD Computer Science

About

208
Publications
42,877
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,937
Citations
Introduction
I'm Associate Professor at the Department of Information Engineering Computer Science and Mathematics of the University of L'Aquila. My main research interests are related to several aspects of Model Driven Engineering including domain specific modeling languages, model transformation, model differencing, model weaving, model evolution, and coupled evolution. http://people.disim.univaq.it/diruscio/
Additional affiliations
January 2006 - December 2010

Publications

Publications (208)
Article
Full-text available
Like any software artifacts, metamodels are evolving entities that constantly change over time for different reasons. Changing metamodels by keeping them consistent with other existing artifacts is an error-prone and tedious activity without the availability of automated support. In this paper, we foster the adoption of metamodel refactorings colle...
Article
Full-text available
Software repositories are increasingly essential to support the management of typical artifacts building up projects, including source code, documentation, and bug reports. GitHub is at the forefront of this kind of platforms, providing developer with a reservoir of code contained in more than 28M repositories. To help developers find the right art...
Article
Full-text available
During the development of a software project, developers often need to upgrade third-party libraries (TPLs), aiming to keep their code up-to-date with the newest functionalities offered by the used libraries. In most cases, upgrading used TPLs is a complex and error-prone activity that must be carefully carried out to limit the ripple effects on th...
Preprint
Full-text available
GitHub is the world's largest host of source code, with more than 150M repositories. However, most of these repositories are not labeled or inadequately so, making it harder for users to find relevant projects. There have been various proposals for software application domain classification over the past years. However, these approaches lack a well...
Preprint
Recommender systems (RSs) are complex software systems that suggest relevant items of interest given a specific application domain to users. The development of RSs encompasses the execution of different steps, including data preprocessing, choice of appropriate algorithms, item delivery, to name a few. Though RSs can alleviate the curse of informat...
Article
Full-text available
Metamodels play a crucial role in any model-based application. They underpin the definition of models and tools, and the development of model management operations, including model transformations and analysis. Like any software artifacts, metamodels are subject to evolution to improve their quality or implement unforeseen requirements. Metamodels...
Preprint
Full-text available
Privacy and ethics of citizens are at the core of the concerns raised by our increasingly digital society. Profiling users is standard practice for software applications triggering the need for users, also enforced by laws, to properly manage privacy settings. Users need to manage software privacy settings properly to protect personally identifiabl...
Article
Full-text available
To keep their code up-to-date with the newest functionalities as well as bug fixes offered by third-party libraries, developers often need to replace an old version of third-party libraries (TPLs) with a newer one. However, choosing a suitable version for a library to be upgraded is complex and susceptible to error. So far, Dependabot is the only t...
Article
Full-text available
Model-driven engineering has been widely applied in software development, aiming to facilitate the coordination among various stakeholders. Such a methodology allows for a more efficient and effective development process. Nevertheless, modeling is a strenuous activity that requires proper knowledge of components, attributes, and logic to reach the...
Preprint
Model Driven Engineering (MDE) has been widely applied in software development, aiming to facilitate the coordination among various stakeholders. Such a methodology allows for a more efficient and effective development process. Nevertheless, modeling is a strenuous activity that requires proper knowledge of components, attributes, and logic to reac...
Article
Full-text available
The last few years have witnessed a significant growth of so-called low-code development platforms (LCDPs) both in gaining traction on the market and attracting interest from academia. LCDPs are advertised as visual development platforms, typically running on the cloud, reducing the need for manual coding and also targeting non-professional program...
Article
Full-text available
Modeling is a ubiquitous activity in the process of software development. In recent years, such an activity has reached a high degree of intricacy, guided by the heterogeneity of the components, data sources, and tasks. The democratized use of models has led to the necessity for suitable machinery for mining modeling repositories. Among others, the...
Preprint
Domain-specific modelling helps tame the complexity of today's application domains by formalizing concepts and their relationships in modelling languages. While meta-editors are widely-used frameworks for implementing graphical editors for such modelling languages, they are best suitable for defining {novel} topological notations, i.e., syntaxes wh...
Conference Paper
Full-text available
The current evolution of cloud-based computing opens up a lot of possibilities for software development. In the near future, complex systems in various domains such as Space, Automotive, Internet of Things, and Smart Cities, will be designed, developed, and deployed from cloud-based environments, hence lowering production and maintenance costs. How...
Conference Paper
Full-text available
Model management services play an essential role while developing complex systems by means of model-driven engineering (MDE) practices. They carry out several model management operations (MMOs), including model transformation , validation, comparison, and merging, which are exposed as remotely consumable services. However, the adoption of MMOs on c...
Conference Paper
Full-text available
Recommender systems (RSs) are becoming widespread in different application domains to provide personalized items to given service users. Because of such an increasing adoption of RSs, it is becoming urgent to define a precisely curated and organized core set of concepts and practices, i.e., a Body of Knowledge (BOK), as already done in other discip...
Conference Paper
Full-text available
During the lifecycle of a software project, oftentimes developers have the need to update third-party libraries (TPLs) from an old version to a newer one. This aims to keep their code up-to-date with the latest functionalities offered by the libraries. In practice, choosing the next version for a library is a daunting task since it is crucial to ma...
Conference Paper
Full-text available
To cope with the complexities found in the Internet of Things domain, designers and developers of IoT applications demand practical tools. Several model-driven engineering methodologies and tools have been developed to address such difficulties, but few of them address the analysis aspects. In this extended abstract, we introduce CHESSIoT, a domain...
Preprint
Full-text available
To cope with the complexities found in the Internet of Things domain, designers and developers of IoT applications demand practical tools. Several model-driven engineering methodologies and tools have been developed to address such difficulties, but few of them address the analysis aspects. In this extended abstract, we introduce CHESSIoT, a domain...
Conference Paper
Full-text available
Cyber-Physical Systems (CPS) are complex physical systems interacting with a considerable number of distributed computing elements for monitoring , control and management. They are currently becoming larger as Cyber-Physical Systems of Systems (CPSoS), since many industrial companies are transitioning their complex systems of systems to software-in...
Chapter
Full-text available
The current digital transformation in production systems has positioned model-driven engineering (MDE) as a promising development solution to leverage models as first-class entities and support complex systems’ development through dedicated abstractions. Models are specified through domain-specific languages and consumed by dedicated model manageme...
Conference Paper
Full-text available
Location-aware applications are becoming popular nowadays because of the increasing adoption of edge and fog computing. This poses novel difficulties to the conventional applications that utilize the Message Queuing Telemetry Transport (MQTT) as their prevalent communication channel. Also, developers are obliged to figure out the code at whatever p...
Article
Full-text available
To perform their daily tasks, developers intensively make use of existing resources by consulting open source software (OSS) repositories. Such platforms contain rich data sources, e.g., code snippets, documentations, and user discussions, that can be useful for supporting development activities. Over the last decades, several techniques and tools...
Conference Paper
Full-text available
The development of Industrial Internet of Things systems (IIoT) requires tools robust enough to cope with the complexity and heterogeneity of such systems, which are supposed to work in safety-critical conditions. The availability of methodologies to support early analysis, verification, and validation is still an open issue in the research communi...
Preprint
Full-text available
The development of Industrial Internet of Things systems (IIoT) requires tools robust enough to cope with the complexity and heterogeneity of such systems, which are supposed to work in safety-critical conditions. The availability of methodologies to support early analysis, verification, and validation is still an open issue in the research communi...
Preprint
Full-text available
Location-aware applications are becoming popular nowadays because of the increasing adoption of edge and fog computing. This poses novel difficulties to the conventional applications that utilize the Message Queuing Telemetry Transport (MQTT) as their prevalent communication channel. Also, developers are obliged to figure out the code at whatever p...
Preprint
To perform their daily tasks, developers intensively make use of existing resources by consulting open-source software (OSS) repositories. Such platforms contain rich data sources, e.g., code snippets, documentation, and user discussions, that can be useful for supporting development activities. Over the last decades, several techniques and tools h...
Preprint
Software development activity has reached a high degree of complexity, guided by the heterogeneity of the components, data sources, and tasks. The proliferation of open-source software (OSS) repositories has stressed the need to reuse available software artifacts efficiently. To this aim, it is necessary to explore approaches to mine data from soft...
Article
Full-text available
Conventional wisdom on Model-Driven Engineering suggests that metamodels are crucial elements for modeling environments consisting of graphical editors, transformations, code generators, and analysis tools. Software repositories are commonly used in practice for locating existing artifacts provided that a classification procedure is available. Howe...
Conference Paper
Full-text available
Low-code development platforms (LCDPs) permit developers that do not have strong programming experience to produce complex software systems. Visual environments permit to specify workflows consisting of sequential or parallel executions of services that are directly available in the considered LCDP or are provided by external entities. Specifying w...
Poster
Full-text available
Accompanying poster for the accepted workshop entitled "Democratizing the Development of Recommender System by means of Low-code Platforms" at MODEL' 20 Workshop track
Conference Paper
Full-text available
In recent years, recommender systems have gained an increasingly crucial role in software engineering. Such systems allow developers to exploit a plethora of reusable artifacts, including source code and documentation, which can support the development activities. However, recommender systems are complex tools that are difficult to personalize or f...
Preprint
Full-text available
Background: In the context of software development, GitHub has been at the forefront of platforms to store, analyze and maintain a large number of software repositories. Topics have been introduced by GitHub as an effective method to annotate stored repositories. However, labeling GitHub repositories should be carefully conducted to avoid adverse e...
Preprint
Full-text available
Developing Internet of Things (IoT) systems has to cope with several challenges mainly because of the heterogeneity of the involved sub-systems and components. With the aim of conceiving languages and tools supporting the development of IoT systems, this paper presents the results of the study, which has been conducted to understand the current sta...
Conference Paper
Full-text available
Low-code development platforms (LCDPs) are easy to use visual environments that are being increasingly introduced and promoted by major IT players to permit citizen developers to build their software systems even if they lack a programming background. Understanding and evaluating the LCDP to be employed for the particular problem at hand are diffic...
Article
Full-text available
Open source software (OSS) allows developers to study, change, and improve the code free of charge. There are several high-quality software projects which deliver stable and well-documented products. Most OSS forges typically sustain active user and expert communities which in turn provide decent levels of support both with respect to answering use...
Article
Full-text available
Context – During the development of complex software systems, programmers look for external resources to understand better how to use specific APIs and to get advice related to their current tasks. Stack Overflow provides developers with a broader insight into API usage as well as useful code examples. Given the circumstances, tools and techniques...
Article
Full-text available
The classification of fruits offers many useful applications in daily life, such as automated harvesting or building up stocks for supermarkets. Studies have been proposed to classify fruits from input images, exploiting image processing and machine learning techniques. Though a lot of improvements have been achieved in recent years, many approache...
Article
Conventional wisdom on model transformations in Model-Driven Engineering (MDE) suggests that they are crucial components in modeling environments to achieve superior automation, whether it be refactoring, simulation, or code generation. While their relevance is well-accepted, model transformations are challenging to design, implement, and verify be...
Article
Full-text available
Conventional wisdom on Model-Driven Engineering (MDE) suggests that this software discipline is the key to achieve superior automation, whether it be refactoring, simulation, or code generation. However, the diversity of employed languages and technologies blurs the picture making it difficult to analyze existing MDE-based projects in order to retr...
Article
Full-text available
Background Research on empirical software engineering has increasingly been conducted by analysing and measuring vast amounts of software systems. Hundreds, thousands and even millions of systems have been (and are) considered by researchers, and often within the same study, in order to test theories, demonstrate approaches or run prediction models...