Rocco Oliveto

Rocco Oliveto
Università degli Studi del Molise | Università del Molise · Department of Biosciences and Territory

PhD

About

225
Publications
63,135
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
10,138
Citations
Introduction
I'm a Full Professor at the University of Molise (Italy), where I'm also the Rector's Delegate for placement, internship and technology transfer. Since October 2020 I'm the Deputy Director of the Department of Biosciences and Territory. I'm the founder of the Software Engineering and Knowledge Engineering (STAKE) Lab of the University of Molise. Since 2018 I' the CEO of Datasound srl, a spin-off of the University of Molise.
Additional affiliations
February 2015 - present
Università degli Studi del Molise
Position
  • Professor (Associate)
December 2010 - January 2015
Università degli Studi del Molise
Position
  • Professor (Assistant)
November 2007 - December 2010
Università degli Studi di Salerno
Position
  • Research Associate
Education
October 2004 - March 2008
Università degli Studi di Salerno
Field of study
  • Computer Science
September 1999 - July 2004
Università degli Studi di Salerno
Field of study
  • Computer Science

Publications

Publications (225)
Preprint
Full-text available
Deep learning (DL) techniques have been used to support several code-related tasks such as code summarization and bug-fixing. In particular, pre-trained transformer models are on the rise, also thanks to the excellent results they achieved in Natural Language Processing (NLP) tasks. The basic idea behind these models is to first pre-train them on a...
Chapter
Congestive heart failure (CHF) is a chronic heart disease that causes debilitating symptoms and leads to higher mortality and morbidity. In this paper, we present HARPER, a novel automatic detector of CHF episodes able to distinguish between Normal Sinus Rhythm (NSR), CHF, and no-CHF. The main advantages of HARPER are its reliability and its capabi...
Article
Refactoring aims at improving the maintainability of source code without modifying its external behavior. Previous works proposed approaches to recommend refactoring solutions to software developers. The generation of the recommended solutions is guided by metrics acting as proxy for maintainability (e.g., number of code smells removed by the recom...
Preprint
Context. The game industry is increasingly growing in recent years. Every day, millions of people play video games, not only as a hobby, but also for professional competitions (e.g., e-sports or speed-running) or for making business by entertaining others (e.g., streamers). The latter daily produce a large amount of gameplay videos in which they al...
Preprint
Different from what happens for most types of software systems, testing video games has largely remained a manual activity performed by human testers. This is mostly due to the continuous and intelligent user interaction video games require. Recently, reinforcement learning (RL) has been exploited to partially automate functional testing. RL enable...
Article
Full-text available
Active rehabilitation is an exercise-based program designed to improve the level of function of people with motor disabilities. The effectiveness of such programs is strongly influenced by the correctness of the exercise execution. An exercise done incorrectly could even lead to a worsening of the health status. For this reason, specialists are req...
Article
Background and Objective. Equipments generally used for entertainment, such as Microsoft Kinect, have been widely used for postural control as well. Such systems—compared to professional motion tracking systems—allow to obtain non-invasive and low-cost tracking. This makes them particularly suitable for the implementation of home rehabilitation sys...
Article
Search-based techniques have been successfully used to automate test case generation. Such approaches allocate a fixed search budget to generate test cases aiming at maximizing code coverage. The search budget plays a crucial role; due to the hugeness of the search space, the higher the assigned budget, the higher the expected coverage. Code compon...
Article
Full-text available
Wearable devices as medical technologies are becoming an integral part of our lives. Many research studies are dedicated to these devices and are mainly focused on providing personal analytics, measuring physical status, and acquiring physiological signals and parameters. These continuously evolving technologies play an important role in telemedici...
Chapter
Atrial fibrillation (AF) is the most common type of heart arrhythmia. AF is highly associated with other cardiovascular diseases, such as heart failure, coronary artery disease and can lead to stroke. Unfortunately, in some cases people with atrial fibrillation have no explicit symptoms and are unaware of their condition until it is discovered duri...
Conference Paper
The number of connected medical devices that are able to acquire, analyze, or transmit health data is continuously increasing. This has allowed the rise of Internet of Medical Things (IoMT). IoMT-systems often need to process a massive amount of data. On the one hand, the colossal amount of data available allows the adoption of machine learning tec...
Preprint
Full-text available
The SZZ algorithm for identifying bug-inducing changes has been widely used to evaluate defect prediction techniques and to empirically investigate when, how, and by whom bugs are introduced. Over the years, researchers have proposed several heuristics to improve the SZZ accuracy, providing various implementations of SZZ. However, fairly evaluating...
Preprint
Full-text available
Deep learning (DL) techniques are gaining more and more attention in the software engineering community. They have been used to support several code-related tasks, such as automatic bug fixing and code comments generation. Recent studies in the Natural Language Processing (NLP) field have shown that the Text-To-Text Transfer Transformer (T5) archit...
Preprint
Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing their findings, we present a large-scale study quantitatively and qualitatively investigating why developers pe...
Article
Full-text available
Android fragmentation is a well-known issue referring to the adoption of different versions in the multitude of devices supporting such an operating system. Each Android version features a set of APIs provided to developers. These APIs are subject to changes and may cause compatibility issues. To support app developers, approaches have been propose...
Article
Full-text available
Code reading is one of the most frequent activities in software maintenance. Such an activity aims at acquiring information from the code and, thus, it is a prerequisite for program comprehension: developers need to read the source code they are going to modify before implementing changes. As the code changes, so does its readability; however, it i...
Article
Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing their findings, we present a large-scale study quantitatively and qualitatively investigating why developers pe...
Conference Paper
Full-text available
Heart Rate (HR) is one of the mostly used elec-trocardiogram (ECG) feature in many automatic detectors of anomalies. This paper deals with a preliminary study on a novel approach which, through the combination of Machine Learning (ML) and Compressed Sensing (CS), aims at retrieving vital information from a digital compressed single-lead electrocard...
Conference Paper
Full-text available
In the last few years wearable devices are becoming always more important. Their usefulness mainly lies in the continuous monitoring of vital parameters and signals, such as electrocardiogram. However, such a monitoring results in an enormous amount of data which cannot be precisely analyzed manually. This recalls the need of approaches and tools f...
Conference Paper
Full-text available
Software vulnerabilities are particularly dangerous bugs that may allow an attacker to violate the confidentiality, integrity or availability constraints of a software system. Fixing vulnerabilities soon is of primary importance; besides, it is crucial to release complete patches that do not leave any corner case not covered. In this paper we study...
Preprint
Full-text available
This paper deals with a description of an innovative Internet of Medical Things (IoMT) system for implementing personalized health services. The proposed IoMT system has the following advantages respect to the state-of-the-art systems available in literature: (i) it fuses the data provided by several sensors, inertial measurement unit, the bio-impe...
Article
Understanding software is an inherent requirement for many maintenance and evolution tasks. Without a thorough understanding of the code, developers would not be able to fix bugs or add new features timely. Measuring code understandability might be useful to guide developers in writing better code, and could also help in estimating the effort requi...
Article
Online code clones are code fragments that are copied from software projects or online sources to Stack Overflow as examples. Due to an absence of a checking mechanism after the code has been copied to Stack Overflow, they can become toxic code snippets, e.g., they suffer from being outdated or violating the original software license. We present a...
Article
Full-text available
Code smells are poor implementation choices applied by developers during software evolution that often lead to critical flaws or failure. Much in the same way, community smells reflect the presence of organizational and socio-technical issues within a software community that may lead to additional project costs. Recent empirical studies provide evi...
Article
The number of mobile devices sold worldwide has exponentially increased in recent years, surpassing that of personal computers in 2011. Such devices daily download and run millions of apps that take advantage of modern hardware features (e.g., multi-core processors, large Organic Light-Emitting Diode—OLED—screens, etc.) to offer exciting user exper...
Poster
Full-text available
The project “Higher Education Innovation in Plant Diversity: flexible learning paths for emerging labour market” HEIPLADI relays on constructive cooperation and integration of expertise between Botanic Gardens, Germplasm Banks, Herbarium and Higher Education Institutes from University of Molise (Italy), University of Cagliari (Italy), University of...
Article
Full-text available
The use of database technologies as a tool for implementing data for quantitative ecological studies and biodiversity conservation planning has recently attracted the attention of the biological community. Despite the fact that the number of biodiversity data sets is quickly rising, online databases of small mammals are still scarce, especially for...
Conference Paper
Full-text available
Automatically generating test cases plays an important role to reduce the time spent by developers during the testing phase. In last years, several approaches have been proposed to tackle such a problem: amongst others, search-based techniques have been shown to be particularly promising. In this paper we describe Ocelot, a search-based tool for th...
Preprint
Full-text available
We performed two online surveys of Stack Overflow answerers and visitors to assess their awareness to outdated code and software licenses in Stack Overflow answerers. The answerer survey targeted 607 highly reputed Stack Overflow users and received a high response rate of 33%. Our findings are as follows. Although most of the code snippets in the a...
Preprint
Full-text available
Online code clones are code fragments that are copied from software projects or online sources to Stack Overflow as examples. Due to an absence of a checking mechanism after the code has been copied to Stack Overflow, they can become toxic code snippets, i.e., they suffer from being outdated or violating the original software license. We present a...
Article
Full-text available
Code smells are symptoms of poor design and implementation choices that may hinder code comprehensibility and maintainability. Despite the effort devoted by the research community in studying code smells, the extent to which code smells in software systems affect software maintainability remains still unclear. In this paper we present a large scale...
Article
Unreadable code could compromise program comprehension, and it could cause the introduction of bugs. Code consists of mostly natural language text, both in identifiers and comments, and it is a particular form of text. Nevertheless, the models proposed to estimate code readability take into account only structural aspects and visual nuances of sour...
Conference Paper
Full-text available
Software testing is one of the most crucial tasks in the typical development process. Developers are usually required to write unit test cases for the code they implement. Since this is a time-consuming task, in last years many approaches and tools for automatic test case generation - such as EvoSuite - have been introduced. Nevertheless, developer...
Conference Paper
Code smells, i.e., symptoms of poor design and implementation choices applied by programmers during the development of a software project [2], represent an important factor contributing to technical debt [3]. The research community spent a lot of effort studying the extent to which code smells tend to remain in a software project for long periods o...
Conference Paper
Code smells reflect sub-optimal patterns of code that often lead to critical software flaws or failure. In the same way, community smells reflect sub-optimal organisational and socio-technical patterns in the organisational structure of the software community. To understand the relation between the community smells and code smells we start by surve...
Conference Paper
Sentiment analysis has been applied to various software engineering (SE) tasks, such as evaluating app reviews or analyzing developers' emotions in commit messages. Studies indicate that sentiment analysis tools provide unreliable results when used out-of-the-box, since they are not designed to process SE datasets. The silver bullet for a successfu...
Conference Paper
Code smells were defined as symptoms of poor design choices applied by programmers during the development of a software project [2]. They might hinder the comprehensibility and maintainability of software systems [5]. Similarly to some previous work [3, 4, 6, 7] in this paper we investigate the relationship between the presence of code smells and t...
Article
Context. Code smells are suboptimal design or implementation choices made by programmers during the development of a software system that possibly lead to low code maintainability and higher maintenance costs. Objective. Previous research mainly studied the characteristics of code smell instances affecting a source code file, while only few studies...
Article
Software development video tutorials have seen a steep increase in popularity in recent years. Their main advantage is that they thoroughly illustrate how certain technologies, programming languages, etc. are to be used. However, they come with a caveat: there is currently little support for searching and browsing their content. This makes it diffi...
Article
Code smells are symptoms of poor design choices. Previous studies assessed the impact of smells on bug-proneness of classes. In this paper, we build a specialized bug prediction model for smelly classes. We evaluate the contribution of a measure of the severity of code smells by adding it to existing models based on both product and process metrics...
Article
Full-text available
In recent software development and distribution scenarios, app stores are playing a major role, especially for mobile apps. On one hand, app stores allow continuous releases of app updates. On the other hand, they have become the premier point of interaction between app providers and users. After installing/updating apps, users can post reviews and...
Article
The market for mobile apps is getting bigger and bigger, and it is expected to be worth over 100 Billion dollars in 2020. To have a chance to succeed in such a competitive environment, developers need to build and maintain high-quality apps, continuously astonishing their users with the coolest new features. Mobile app marketplaces allow users to r...
Article
Code smells are symptoms of poor design or implementation choices that have a negative effect on several aspects of software maintenance and evolution, such as program comprehension or change- and fault-proneness. This is why researchers have spent a lot of effort on devising methods that help developers to automatically detect them in source code....
Chapter
In the last years social media are increasing their importance in the context of digital freelancing by letting companies offer projects to external professionals through the Web. However, the available platforms for digital freelancing are still far from supporting the ecosystem of companies and professionals during the implementation of complex p...
Article
Full-text available
In the last decades, the research community has devoted a lot of effort in the definition of approaches able to predict the defect proneness of source code files. Such approaches exploit several predictors (e.g., product or process metrics) and use machine learning classifiers to predict classes into buggy or not buggy, or provide the likelihood th...
Article
Context: Since the mid-2000s, numerous recommendation systems based on text retrieval (TR) have been proposed to support software engineering (SE) tasks such as concept location, traceability link recovery, code reuse, impact analysis, and so on. The success of TR-based solutions highly depends on the query submitted, which is either formulated by...
Conference Paper
Previous research demonstrated how code smells (i.e., symptoms of the presence of poor design or implementation choices) threat software maintainability. Moreover, some studies showed that their interaction has a stronger negative impact on the ability of developers to comprehend and enhance the source code when compared to cases when a single code...