Daniel Russo
University of Bologna
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Daniel Russo.
international conference on software engineering | 2016
Marcello Missiroli; Daniel Russo; Paolo Ciancarini
Context: Empirical investigations regarding using Agile programming methodologies in high schools are scarce in the literature. Objective: This paper evaluates (i) the performance, (ii) the code quality, and (iii) the satisfaction of both students and teachers in using Agile practices in education. Method: this study includes an experiment, administered in a laboratory controlled setting to measure students’ per- formances and a case study to value the code quality im- provements. Questionnaires were also used to evaluate qual- itative aspects of Agile practices. Results: groups of students with mixed skills performed significantly better than groups with the same skill level. Moreover, there was also a general increase in code quality along with satisfaction. Conclusions: Agile methodologies are useful in the High School education of young software developers.
acm symposium on applied computing | 2016
Paolo Ciancarini; Daniel Russo; Alberto Sillitti; Giancarlo Succi
Even if reverse engineering is a well known and deeply investigated activity in software engineering, little research has been performed from an Intellectual Propriety Rights (IPRs) perspective. In this paper, we analyze some cases of reverse engineering in a IPR perspective; in particular, we survey the behavior of the major European court about reverse engineering. Apparently, legal fora have little attention for copyright infringements regarding reverse engineering. The major contribution of this work is an analysis case by case of the European Court of Justice (ECJ). The ECJ looks very permissive regarding reverse engineering, since principles, or ideas, are not copyrightable by themselves. In particular we discuss the impact of a recent and relevant ECJ ruling.
international conference on software engineering | 2016
Paolo Ciancarini; Daniel Russo; Alberto Sillitti; Giancarlo Succi
Software Cloning is the typical example where an interdisciplinary approach may bring additional elements into the communitys discussion. In fact, little research has been done in its analysis from an Intellectual Propriety Rights (IPRs) perspective, even if it is a widely studied aspect of software engineering. An interdisciplinary approach is crucial to better understand the legal implications of software in the IPR context. Interestingly, the academic community of software and systems deals much more with such IPR issues than courts themselves. In this paper, we analyze some recent legal decisions in using software clones from a software engineering perspective. In particular, we survey the behavior of some major courts about cloning issues. As a major outcome of our research, it seems that legal fora do not have major concerns regarding copyright infringements in software cloning. The major contribution of this work is a case by case analysis of more than one hundred judgments by the US courts and the European Court of Justice. We compare the US and European courts case laws and discuss the impact of a recent European ruling. The US and EU contexts are quite different, since in the US software is patentable while in the EU it is not. Hence, European courts look more permissive regarding cloning, since “principles,” or “ideas,” are not copyrightable by themselves.
international conference on big data | 2016
Paolo Ciancarini; Francesco Poggi; Daniel Russo
Open Data (OD) is one of the most discussed issue of Big Data which raised the joint interest of public institutions, citizens and private companies since 2009. However, the massive amount of freely available data has not yet brought the expected effects: as of today, there is no application that has fully exploited the potential provided by large and distributed information sources in a non-trivial way, nor any service has substantially changed for the better the lives of people. The era of a new generation applications based on OD is far to come. In this context, we observe that OD quality is one of the major threats to achieving the goals of the OD movement. The starting point of this case study is the quality of the OD released by the five Constitutional offices of Italy. Our exploratory case study aims to assess the quality of such releases and the real implementations of OD. The outcome suggests the need of a drastic improvement in OD quality. Finally we highlight some key quality principles for OD, and propose a roadmap for further research.
Archive | 2016
Daniel Russo
Even though the use of Open Source Software (OSS) might seem paradoxical in Defense environments, this has been proven to be wrong. The use of OSS does not harm security; on the contrary, it enhances it. Even with some drawbacks, OSS is highly reliable and maintained by a huge software community, thus decreasing implementation costs and increasing reliability. Moreover, it allows military software engineers to move away from proprietary applications and single-vendor contracts. Furthermore, it decreases the cost of long-term development and lifecycle management, besides avoiding vendor’s lock in. Nevertheless, deploying OSS deserves an appropriate organization of its life cycle and maintenance, which has a relevant impact on the project’s budget that cannot be overseen. In this paper, we will describe some of the major trends in OSS in Defense environments. The community for OSS has a pivotal role, since it is the core development unit. With Agile and the newest DevOps methodologies, government officials could leverage OSS capabilities, decreasing the Design (or Technical) Debt. Software for Defense purposes could perform better, increase the number of the releases, enhance coordination through the different IT Departments (and the community), and increase release automation, decreasing the probability of errors.
international conference on software engineering | 2017
Daniel Russo; Paolo Ciancarini; Tommaso Falasconi; Massimo Tomasi
This paper reports on a Delphi-like study about the Italian banking IT sectors greatest concerns. A new research framework was developed to pursue this vertical study: domain and country specific, using a Mixed Methods approach. Data collection was drawn in four phases starting with a high level randomly stratified panel of 13 senior managers and then a target-panel of 124 carefully selected and well-informed domain experts. We have identified and dealt with 15 concerns about the present situation, they were discussed in a framework inspired by the ISO 25010 standard. After having mapped the concerns within the ISO standard, we identified the emergence of a new meta quality dimension which impacts both on software quality and architectural description. Our inductive outcome lets this meta dimension emerge connecting both ISO 25010 and ISO 42010 standards.
2017 IEEE/ACM 1st International Workshop on Software Engineering Curricula for Millennials (SECM) | 2017
Marcello Missiroli; Daniel Russo; Paolo Ciancarini
Context: Comparative study of software development methodologies in millenials high school students. Objective: This paper compares the performance and satisfaction of both students and teachers in using two development strategies in a K-12 Computer Science teaching practice. Method: This study includes an experiment, administered in a laboratory controlled setting to measure students performances. Results: Scrum produces less usable software with better working features compared to Waterfall, it is also more appreciated by students. Teachers are more experienced with Waterfall, which also offers more control on the development process. Conclusions: From an educational perspective, the two methods are equivalent. Since we noted an overall positive effect on the learning environment, we recommend that at least one method be taught in practice.
Procedia Computer Science | 2016
Daniel Russo; Paolo Ciancarini
Abstract The disruptive nature of the antifragile approach for open and complex systems is of greatest importance and needs to be systematized, especially for software systems. In fact, antifragile software design is becoming a research issue in the software engineering community. We got inspired by the Agile Manifesto which set an important reference point to the software community, addressing primarily innovation in the software development process. We propose a similar approach to Antifragility, namely we would like to define the principles ruling the building up of software systems which exploit faults and errors to become better and stronger. This Manifesto does not want to be a fixed and complete set of principles. It is an open contribution to the discussion which needs to be improved and re-elaborated. All rights related to the Manifesto are free, open and belong to the community. This work represents our suggestions urging the community to start elaborating antifragile principles to lead their implementation in real organizations.
international conference on software engineering | 2016
Daniel Russo; Vincenzo Lomonaco; Paolo Ciancarini
Complex and ephemeral software requirements, short time-to-market plans and fast changing information technologies have a deep impact on the design of software architectures, especially in Agile/DevOps projects where micro-services are integrated rapidly and incrementally. In this context, the ability to analyze new software requirements and understand very quickly and effectively their impact on the software architecture design becomes quite crucial. In this work we propose a novel and flexible approach for applying machine learning techniques to assist and speed-up the continuous development process, specifically within the mission-critical domain, where requirements are quite difficult to manage. More specifically, we introduce an Intelligent Software Assistant, designed as an open and plug-in based architecture powered by Machine Learning techniques and present a possible instantiation of this architecture in order to prove the viability of our solution.
Procedia Computer Science | 2017
Daniel Russo; Paolo Ciancarini
Abstract: Antifragility is a rising issue in Software Engineering. Due to pervasiveness of software in a growing number of mission critical applications, traditional resilience and recovery systems may not be sufficient. Software has taken over many functionalities which are of vital interest in today and future world. We relay a lot on software applications which may be faulty and cause immense damages. To cope with this scenario, claiming to develop better software is not enough, since unexpected events a.k.a. Black Swans, may disrupt and overcome our system. The purpose of this paper is to propose a new architectural design that responds to the need to build antifragile systems for contemporary complex scenarios. We suggest a system which enhances its strength through experience and errors. It is a self adaptive system architecture improving when facing errors. The most relevant aspect of this approach is that architectures are not only resilient, they extract the intrinsic value of faults. This paper suggests that a fine grained architecture is the key issue to build antifragile systems.