-
CrossRec: Supporting Software Developers by Recommending Third-party Libraries
Nguyen, Phuong,
Di Rocco, Juri,
Di Ruscio, Davide,
and Di Penta, Massimiliano
Journal of Systems and Software
2020
-
An automated approach to assess the similarity of GitHub repositories
Nguyen, Phuong T.,
Di Rocco, Juri,
Rubei, Riccardo,
and Di Ruscio, Davide
Software Quality Journal
2020
[Abs]
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 user questions as well as to repairing reported software bugs. Code reuse is an intrinsic feature of OSS, and developing a new system by leveraging existing open source components can reduce development effort, and thus it can be beneficial to at least two phases of the software life cycle, i.e., implementation and maintenance. However, to improve software quality, it is essential to develop a system by learning from well-defined, mature projects. In this sense, the ability to find similar projects that facilitate the undergoing development activities is of high importance. In this paper, we address the issue of mining open source software repositories to detect similar projects, which can be eventually reused by developers. We propose CrossSim as a novel approach to model the OSS ecosystem and to compute similarities among software projects. An evaluation on a dataset collected from GitHub shows that our proposed approach outperforms three well-established baselines.
-
Detecting Java software similarities by using different clustering techniques
Capiluppi, Andrea,
Di Ruscio, Davide,
Di Rocco, Juri,
Nguyen, Phuong T.,
and Ajienka, Nemitari
Information and Software Technology
2020
[Abs]
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. A much less investigated aspect is whether the collected metrics might be context-specific, or whether systems should be better analysed in clusters.
Objective
The objectives of this study are (i) to define a set of clustering techniques that might be used to group similar software systems, and (ii) to evaluate whether a suite of well-known object-oriented metrics is context-specific, and its values differ along the defined clusters.
Method
We group software systems based on three different clustering techniques, and we collect the values of the metrics suite in each cluster. We then test whether clusters are statistically different between each other, using the Kolgomorov-Smirnov (KS) hypothesis testing.
Results
Our results show that, for two of the used techniques, the KS null hypothesis (e.g., the clusters come from the same population) is rejected for most of the metrics chosen: the clusters that we extracted, based on application domains, show statistically different structural properties.
Conclusions
The implications for researchers can be profound: metrics and their interpretation might be more sensitive to context than acknowledged so far, and application domains represent a promising filter to cluster similar systems.
-
Understanding MDE projects: megamodels to the rescue for architecture recovery
Di Rocco, Juri,
Di Ruscio, Davide,
Härtel, Johannes,
Iovino, Ludovico,
Lämmel, Ralf,
and Pierantonio, Alfonso
Software and Systems Modeling
2020
-
TopFilter: An Approach to Recommend Relevant GitHub Topics
Di Rocco, Juri,
Di Ruscio, Davide,
Di Sipio, Claudio,
Nguyen, Phuong,
and Rubei, Riccardo
In Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
2020
[Abs]
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 effects on project popularity and reachability. Aims: We present TopFilter, a novel approach to assist open source software developers in selecting suitable topics for GitHub repositories being created. Method: We built a project-topic matrix and applied a syntactic-based similarity function to recommend missing topics by representing repositories and related topics in a graph. The ten-fold cross-validation methodology has been used to assess the performance of TopFilter by considering different metrics, i.e., success rate, precision, recall, and catalog coverage. Result: The results show that TopFilter recommends good topics depending on different factors, i.e., collaborative filtering settings, considered datasets, and pre-processing activities. Moreover, TopFilter can be combined with a state-of-the-art topic recommender system (i.e., MNB network) to improve the overall prediction performance. Conclusion: Our results confirm that collaborative filtering techniques can successfully be used to provide relevant topics for GitHub repositories. Moreover, TopFilter can gain a significant boost in prediction performances by employing the outcomes obtained by the MNB network as its initial set of topics.
-
TyphonML: A Modeling Environment to Develop Hybrid Polystores
Basciani, Francesco,
Di Rocco, Juri,
Di Ruscio, Davide,
Pierantonio, Alfonso,
and Iovino, Ludovico
In Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings
2020
[Abs]
Designing and deploying a hybrid data persistence architecture that involves a combination of relational and NoSQL databases is a complex, technically challenging, and error-prone task. In this tool paper, we propose TyphonML, a modeling language and supporting environment, which permits modelers to specify data that need to be persisted in hybrid architectures, by abstracting over the specificities of the underlying technologies. The language enables the specification of both conceptual entities and available data layer technologies, and then how the modeled entities have to be mapped to the available database systems. TyphonML models are used to generate microservice-based infrastructures, which permit users to interact with the designed hybrid polystores at the conceptual level. In this tool paper, we show the different components of the TyphonML environment at work through a demonstration scenario.
-
PostFinder: Mining Stack Overflow posts to support software developers
Rubei, Riccardo,
Di Sipio, Claudio,
Nguyen, Phuong T.,
Di Rocco, Juri,
and Di Ruscio, Davide
Information and Software Technology
2020
[Abs]
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 for mining Stack Overflow are highly desirable. Objective – In this paper, we introduce PostFinder, an approach that analyzes the project under development to extract suitable context, and allows developers to retrieve messages from Stack Overflow being relevant to the API function calls that have already been invoked. Method – PostFinder augments posts with additional data to make them more exposed to queries. On the client side, it boosts the context code with various factors to construct a query containing information needed for matching against the stored indexes. Multiple facets of the data available are used to optimize the search process, with the ultimate aim of recommending highly relevant SO posts. Results – The approach has been validated utilizing a user study involving a group of 12 developers to evaluate 500 posts for 50 contexts. Experimental results indicate the suitability of PostFinder to recommend relevant Stack Overflow posts and concurrently show that the tool outperforms a well-established baseline. Conclusions – We conclude that PostFinder can be deployed to assist developers in selecting relevant Stack Overflow posts while they are programming as well as to replace the module for searching posts in a code-to-code search engine.
-
Query-Based Impact Analysis of Metamodel Evolutions
Iovino, Ludovico,
Rutle, Adrian,
Pierantonio, Alfonso,
and Di Rocco, Juri
In 2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)
2019
-
Automated Classification of Metamodel Repositories: A Machine Learning Approach
Nguyen, P. T.,
Di Rocco, J.,
Di Ruscio, D.,
Pierantonio, A.,
and Iovino, L.
In 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS)
2019
-
Focus: A recommender system for mining api function calls and usage patterns
Nguyen, Phuong T,
Di Rocco, Juri,
Di Ruscio, Davide,
Ochoa, Lina,
Degueule, Thomas,
and Di Penta, Massimiliano
In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
2019
-
Building Information Systems Using Collaborative-Filtering Recommendation Techniques
Nguyen, Phuong T.,
Di Rocco, Juri,
and Di Ruscio, Davide
In Advanced Information Systems Engineering Workshops
2019
[Abs]
IoT-technologies allow for the connection of miscellaneous devices, thereby creating a platform that sustains rich data sources. Given the circumstances, it is essential to have decent machinery in order to exploit the existing infrastructure and provide users with personalized services. Among others, recommender systems have been widely used to suggest users additional items that best match their needs and expectation. The use of recommender systems has gained considerable momentum in recent years. Nevertheless, the selection of a proper recommendation technique depends much on the input data as well as the domain of applications. In this work, we present an evaluation of two well-known collaborative-filtering (CF) techniques to build an information system for managing and recommending books in the IoT context. To validate the performance, we conduct a series of experiments on two considerably large datasets. The experimental results lead us to some interesting conclusions. In contrast to many existing studies which state that the item-based CF technique outperforms the user-based CF technique, we found out that there is no distinct winner between them. Furthermore, we confirm that the performance of a CF recommender system may be good with regards to some quality metrics, but not to some others.
-
Enabling Heterogeneous Recommendations in OSS Development: What’s Done and What’s next in CROSSMINER
Nguyen, Phuong T.,
Di Rocco, Juri,
and Di Ruscio, Davide
In Proceedings of the Evaluation and Assessment on Software Engineering
2019
-
Automated Reuse of Model Transformations through Typing Requirements Models
Lara, Juan De,
Guerra, Esther,
Di Ruscio, Davide,
Di Rocco, Juri,
Cuadrado, Jesús S´nchez,
Iovino, Ludovico,
and Pierantonio, Alfonso
ACM Trans. Softw. Eng. Methodol.
2019
-
A tool-supported approach for assessing the quality of modeling artifacts
Basciani, Francesco,
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
Journal of Computer Languages
2019
-
Systematic recovery of MDE technology usage
Di Rocco, Juri,
Di Ruscio, Davide,
Härtel, Johannes,
Iovino, Ludovico,
Lämmel, Ralf,
and Pierantonio, Alfonso
In International Conference on Theory and Practice of Model Transformations
2018
-
Resilience in Sirius Editors: Understanding the Impact of Metamodel Changes.
Di Rocco, Juri,
Di Ruscio, Davide,
Narayanankutty, Hrishikesh,
and Pierantonio, Alfonso
In MODELS Workshops
2018
-
CrossSim: Exploiting Mutual Relationships to Detect Similar OSS Projects
Nguyen, P. T.,
Di Rocco, J.,
Rubei, R.,
and Di Ruscio, D.
In 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)
2018
-
Knowledge-aware Recommender System for Software Development.
Nguyen, Phuong T,
Di Rocco, Juri,
and Di Ruscio, Davide
In KaRS@ RecSys
2018
-
Mining Software Repositories to Support OSS Developers: A Recommender Systems Approach.
Nguyen, Phuong T,
Di Rocco, Juri,
and Di Ruscio, Davide
In IIR
2018
-
Systematic Recovery of MDE Technology Usage
Di Rocco, Juri,
Di Ruscio, Davide,
Härtel, Johannes,
Iovino, Ludovico,
Lämmel, Ralf,
and Pierantonio, Alfonso
In Theory and Practice of Model Transformation
2018
[Abs]
MDE projects may use various MDE technologies (e.g., for model transformation, model comparison, or model/code generation) and thus, contain various MDE artifacts (such as models, metamodels, and model transformations). The details of using the MDE technologies and the relationships between the MDE artifacts are typically not accessible at a higher level of abstraction, which makes it hard to understand, build, and test the MDE projects and thus, to reuse the contained MDE artifacts. In this paper, we present a megamodel-based reverse engineering methodology and an infrastructure MDEprofiler for recovering details of using MDE technologies in MDE projects and modeling these details at a higher level of abstraction. We exemplify the approach for MDE projects that use ATL-based model transformations.
-
Exploring model repositories by means of megamodel-aware search operators.
Basciani, Francesco,
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
In MODELS Workshops
2018
-
Developer-Centric Knowledge Mining from Large Open-Source Software Repositories (CROSSMINER)
Bagnato, Alessandra,
Barmpis, Konstantinos,
Bessis, Nik,
Cabrera-Diego, Luis Adrián,
Di Rocco, Juri,
Di Ruscio, Davide,
Gergely, Tamás,
Hansen, Scott,
Kolovos, Dimitris,
Krief, Philippe,
Korkontzelos, Ioannis,
Laurière, Stéphane,
Fuente, Jose Manrique,
Maló, Pedro,
Paige, Richard F.,
Spinellis, Diomidis,
Thomas, Cedric,
and Vinju, Jurgen
In Software Technologies: Applications and Foundations
2018
[Abs]
Deciding if an OSS project meets the required standards for adoption is hard, and keeping up-to-date with a rapidly evolving project is even harder. Making decisions about quality and adoption involves analysing code, documentation, online discussions, and issue trackers. There is too much information to process manually and it is common that uninformed decisions have to be made with detrimental effects. CROSSMINER aims to remedy this by automatically extracting the required knowledge and injecting it into the developers’ Integrated Development Environments (IDE), at the time they need it to make design decisions. This allows them to reduce their effort in knowledge acquisition and to increase the quality of their code. CROSSMINER uniquely combines advanced software project analyses with online IDE monitoring. Developers will be monitored to infer which information is timely, based on readily available knowledge stored earlier by a set of advanced offline deep analyses of related OSS projects.
-
Reusing Model Transformations Through Typing Requirements Models
Lara, Juan,
Di Rocco, Juri,
Di Ruscio, Davide,
Guerra, Esther,
Iovino, Ludovico,
Pierantonio, Alfonso,
and Cuadrado, Jesús Sánchez
In Fundamental Approaches to Software Engineering
2017
[Abs]
Model transformations are key elements of Model-Driven Engineering (MDE), where they are used to automate the manipulation of models. However, they are typed with respect to concrete source and target meta-models and hence their reuse for other (even similar) meta-models becomes challenging.
-
MDE adoption—a three-legged chair
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
Lämmel, Ralf,
and Pierantonio, A
In Proceedings of the Workshop on Grand Challenges in Modeling at STAF
2017
-
Consistency Recovery in Interactive Modeling.
Di Rocco, Juri,
Di Ruscio, Davide,
Heinz, Marcel,
Iovino, Ludovico,
Lämmel, Ralf,
and Pierantonio, Alfonso
In MODELS (Satellite Events)
2017
-
Automated Clustering of Metamodel Repositories
Basciani, Francesco,
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
In International Conference on Advanced Information Systems Engineering
2016
[Abs]
Over the last years, several model repositories have been proposed in response to the need of the MDE community for advanced systems supporting the reuse of modeling artifacts. Modelers can interact with MDE repositories with different intents ranging from merely repository browsing, to searching specific artifacts satisfying precise requirements. The organization and browsing facilities provided by current repositories is limited since they do not produce structured overviews of the contained artifacts, and the ategorization mechanisms (if any) are based on manual activities. When dealing with large numbers of modeling artifacts, such limitations increase the effort for managing and reusing artifacts stored in model repositories. By focusing on metamodel repositories, in this paper we propose the application of clustering techniques to automatically organize stored metamodels and to provide users with overviews of the application domains covered by the available metamodels. The approach has been implemented in the MDEForge repository.
-
Using ATL Transformation Services in the MDEForge Collaborative Modeling Platform
Di Rocco, Juri,
Di Ruscio, Davide,
Pierantonio, Alfonso,
Cuadrado, Jesús Sánchez,
Lara, Juan,
and Guerra, Esther
In Theory and Practice of Model Transformations
2016
[Abs]
In the last years, the increasing complexity of Model-Driven Engineering (MDE) tools and techniques has led to higher demands in terms of computation, interoperability, and configuration management. Harnessing the software-as-a-service (SaaS) paradigm and shifting applications from local, mono-core implementations to cloud-based architectures is key to enhance scalability and flexibility. To this end, we propose MDEForge: an extensible, collaborative modeling platform that provides remote model management facilities and prevents the user from focussing on time-consuming, and less creative procedures. This demo paper illustrates the extensibility of MDEForge by integrating ATL services for the remote execution, automated testing, and static analysis of ATL transformations. The usefulness of their employment under the SaaS paradigm is demonstrated with a case-study showing a wide range of new application possibilities.
-
A Customizable Approach for the Automated Quality Assessment of Modelling Artifacts
Basciani, F.,
Di Rocco, J.,
Di Ruscio, D.,
Iovino, L.,
and Pierantonio, A.
In 2016 10th International Conference on the Quality of Information and Communications Technology (QUATIC)
2016
-
Semantic-based Model Matching with EMFCompare.
Addazi, Lorenzo,
Cicchetti, Antonio,
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
In ME@ MODELS
2016
-
Collaborative Repositories in Model-Driven Engineering [Software Technology]
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
IEEE Software
2015
-
Supporting Users to Manage Breaking and Unresolvable Changes in Coupled Evolution
Di Rocco, Juri,
Di Ruscio, Davide,
Pierantonio, Alfonso,
and Iovino, Ludovico
In Proceedings of the Workshop on Domain-Specific Modeling
2015
-
Mining Correlations of ATL Model Transformation and Metamodel Metrics
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
In 2015 IEEE/ACM 7th International Workshop on Modeling in Software Engineering
2015
-
A Tool for Clustering Metamodel Repositories.
Basciani, Francesco,
Di Rocco, Juri,
Di Ruscio, Davide,
Pierantonio, Alfonso,
and Iovino, Ludovico
In P&D@ MoDELS
2015
-
OSSMETER: Automated Measurement and Analysis of Open Source Software.
Almeida, Bruno,
Ananiadou, Sophia,
Bagnato, Alessandra,
Barbero, Alberto Berreteaga,
Di Rocco, Juri,
Di Ruscio, Davide,
Kolovos, Dimitrios S,
Korkontzelos, Ioannis,
Hansen, Scott,
Maló, Pedro,
and others,
In STAF Projects Showcase
2015
-
Mining metrics for understanding metamodel characteristics
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
In Proceedings of the 6th International Workshop on Modeling in Software Engineering
2014
-
Models of OSS Project Meta-Information: A Dataset of Three Forges
Williams, James R.,
Di Ruscio, Davide,
Matragkas, Nicholas,
Di Rocco, Juri,
and Kolovos, Dimitris S.
In Proceedings of the 11th Working Conference on Mining Software Repositories
2014
-
Dealing with the Coupled Evolution of Metamodels and Model-to-text Transformations.
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
In ME@ MoDELS
2014
-
MDEForge: an Extensible Web-Based Modeling Platform.
Basciani, Francesco,
Di Rocco, Juri,
Di Ruscio, Davide,
Di Salle, Amleto,
Iovino, Ludovico,
and Pierantonio, Alfonso
In CloudMDE@ MoDELS
2014
-
Describing the Correlations between Metamodels and Transformations Aspects.
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
In SATToSE
2014
-
Qualifying Chains of Transformation with Coverage-based Evaluation Criteria.
Basciani, Francesco,
Di Rocco, Juri,
Di Ruscio, Davide,
Iovino, Ludovico,
and Pierantonio, Alfonso
In SATToSE
2014