scispace - formally typeset
Search or ask a question

Showing papers by "Giancarlo Succi published in 2018"


Journal ArticleDOI
TL;DR: A methodology for software reliability comparison that extensively applies the GQM approach and software reliability growth models is proposed and thoroughly evaluated on a case of assessment and comparison of three open source mobile operating systems.

44 citations


Proceedings ArticleDOI
27 May 2018
TL;DR: This work is intended to be a framework for Agile contracts for the Italian public sector of critical systems, according to the new contractual law (Codice degli Appalti), and explores the key elements of the Italian procurement law.
Abstract: Although Agile is a well established software development paradigm, major concerns arise when it comes to contracting issues between a software consumer and a software producer. How to contractualize the Agile production of software, especially for security & mission critical organizations, which typically outsource software projects, has been a major concern since the beginning of the ""Agile Era"". In literature, little has been done, from a foundational point of view regarding the formalization of such contracts. Indeed, when the development is outsourced, the management of the contractual life is non–trivial. This happens because the interests of the two parties are typically not aligned. In these situations, software houses strive for the minimization of the effort, while the customer commonly expects high quality artifacts. This structural asymmetry can hardly be overcome with traditional ""Waterfall"" contracts. In this work, we propose a foundational approach to the Law & Economics of Agile contracts. Moreover, we explore the key elements of the Italian procurement law and outline a suitable solution to merge some basic legal constraints with Agile requirements. Finally, a case study is presented, describing how Agile contracting has been concretely implemented in the Italian Defense Acquisition Process. This work is intended to be a framework for Agile contracts for the Italian public sector of critical systems, according to the new contractual law (Codice degli Appalti).

14 citations


Journal ArticleDOI
TL;DR: It is found that architectural patterns are widely used in software projects with the Model–View–Controller being the most common and the majority of the software professionals revealed that patterns were the most essential for completing the projects.
Abstract: Software architecture involves a series of decisions based on many factors in a wide range of software development. Architects face recurring issues in different software architecture design, and to reduce huge cost and risks, software architecture decisions can rely on a set of idiomatic patterns commonly named architectural styles or patterns. Architectural pattern determines the vocabulary of components and connectors that are used in instances of the pattern together with a set of constraints to combine the two. Little contemporary data exists to document actual practices used by software professionals when selecting and incorporating architectural patterns for their projects in industry. Therefore, a comprehensive survey of software professionals was conducted to attempt to discover these practices. This exploratory survey and its quantitative results offer opportunities for further interpretation and comparison. Data from this survey are presented in this paper and include characteristics of projects, practices, organizations, and practitioners related to the usage of architectural patterns. Some of the notable findings include that architectural patterns are widely used in software projects with the Model–View–Controller being the most common. Despite reported difficulties in incorporating architectural patterns, the majority of the software professionals revealed that patterns were the most essential for completing the projects. The most difficult pattern to implement and the most expensive to adopt was the peer-to-peer, while the easiest was the client–server.

13 citations


Proceedings ArticleDOI
26 Oct 2018
TL;DR: Given that the cost of dashboard customization prevents developers from utilizing dashboards, the findings can provide a solid starting point to build precooked developer dashboards that can be readily utilized by software companies.
Abstract: Despite increasing popularity of developer dashboards, the effectiveness of dashboards is still in question. In order to design a dashboard that is effective and useful for developers, it is important to know (a) what information developers need to see in a dashboard, and (b) how developers want to use a dashboard with that necessary information. To answer these questions, we conducted two series of face-to-face individual interviews with developers. In the first step we analyzed answers, build a Goal-Question-Metric model and designed a precooked developer dashboard. Then, during the second separate series of interviews, we validated the GQM and derived feedback on the designed dashboard. Given that the cost of dashboard customization prevents developers from utilizing dashboards, we believe that our findings can provide a solid starting point to build precooked developer dashboards that can be readily utilized by software companies.

12 citations


Proceedings ArticleDOI
09 Apr 2018
TL;DR: A new architecture for non-invasive software measurement systems that address the problems of the existing systems is proposed and the outcome of early experimentation is quite promising and gives the desired additional confidence on its successful distribution.
Abstract: Despite that non-invasive software measurement tools have proven their usefulness in software production, their adoption in software industry is still limited. Reasons for the limited distributions have been studied and analysed recently. In this paper, we propose a new architecture for non-invasive software measurement systems that address the problems of the existing systems. The outcome of our early experimentation is quite promising and gives us the desired additional confidence on its successful distribution.

10 citations


Proceedings ArticleDOI
27 May 2018
TL;DR: A new generation tool is deployed, portable multichannel EEG, to obtain direct physical insight into the mental processes of working software developers engaged in their standard activities and demonstrates the feasibility of this approach and obtained a glimpse of its potential power to distinguish physical brain activity of developers working with different methodologies.
Abstract: Software is mostly, if not entirely, a knowledge artifact. Software best practices are often thought to work because they induce more productive behaviour in software developers. In this paper we deployed a new generation tool, portable multichannel EEG, to obtain direct physical insight into the mental processes of working software developers engaged in their standard activities. We have demonstrated the feasibility of this approach and obtained a glimpse of its potential power to distinguish physical brain activity of developers working with different methodologies.

9 citations


Proceedings ArticleDOI
27 May 2018
TL;DR: To determine if it is possible to develop a "generic" useful and effective dashboard and, if so, its structure, 67 software engineers from 44 different companies were interviewed and their answers made them confident in the possibility of building such dashboard.
Abstract: Designing an effective and useful dashboard is expensive and it would be important to determine if it is possible to elaborate a "generic" useful and effective dashboard, usable in a variety of circumstances. To determine if it is possible to develop such dashboard and, if so, its structure we interviewed 67 software engineers from 44 different companies. Their answers made us confident in the possibility of building such dashboard.

9 citations


Proceedings ArticleDOI
01 Jan 2018
TL;DR: In this article, the authors identify the best operating conditions for software developed under stressful conditions collecting data through questionnaires, non-invasive software measurement tools that can collect measurable data about software engineers and the software they develop, without intervening their activities, and biophysical sensors and then try to recreate also in different processes or key development practices such conditions.
Abstract: The software is often produced under significant time constraints. Our idea is to understand the effects of various software development practices on the performance of developers working in stressful environments, and identify the best operating conditions for software developed under stressful conditions collecting data through questionnaires, non-invasive software measurement tools that can collect measurable data about software engineers and the software they develop, without intervening their activities, and biophysical sensors and then try to recreated also in different processes or key development practices such conditions.

4 citations


Proceedings Article
01 May 2018
TL;DR: In this paper, the authors interviewed 67 software engineers from 44 different companies to determine if it is possible to develop a generic useful and effective dashboard, usable in a variety of circumstances.
Abstract: Designing an effective and useful dashboard is expensive and it would be important to determine if it is possible to elaborate a "generic" useful and effective dashboard, usable in a variety of circumstances. To determine if it is possible to develop such dashboard and, if so, its structure we interviewed 67 software engineers from 44 different companies. Their answers made us confident in the possibility of building such dashboard.

2 citations


Book ChapterDOI
07 Jun 2018
TL;DR: This study was able to gather a substantial quantity of detailed responses from a group of individuals and companies that are broadly quite similar to those found in several of the major world centers of technological innovation.
Abstract: In this study we were able to gather a substantial quantity of detailed responses from a group of individuals and companies that are broadly quite similar to those found in several of the major world centers of technological innovation. As such, our analysis of the results provides some tantalizing hints to organizational and methodological challenges and practices of a broad range of groups.

2 citations


Journal ArticleDOI
TL;DR: This paper provides the comparison of WLAN based positioning methods that can operate with a single AP and suggests methods that require fewer reference signals for positioning.
Abstract: WLAN has lately been applied to the problem of mobility tracking and behavior analysis. To further the development of the studies in this direction the positioning system that can perform on the network side with minimal human participation is needed. One of the current limitations is the requirement on the number of reference signal available. Thus, methods that require fewer reference signals for positioning are needed. This paper provides the comparison of WLAN based positioning methods that can operate with a single AP.

Proceedings ArticleDOI
27 May 2018
TL;DR: Analyzing industrial bug-injecting development sessions from several points of view provides insights into the complete lifetime of bugs from injection to the fix and implications for bug prediction.
Abstract: Even experienced developers rigorously testing their code and using state of the art tools and practices, inject every now and then bugs into the code. There is a huge amount of literature about the characterization of such bugs including the effectiveness of the reports and the fixes, the time required to fix them, etc. Existing works have already identified several factors considered to influence directly the bug injection. However, there is no support for the claims made so far using data coming from industrial, bug-injecting development sessions. This paper aims at filling this gap by analyzing industrial bug-injecting development sessions from several points of view. It investigates 49 bug-injecting development sessions evaluating and discussing three alleged, developers-centered main causes of bug injection: expertise, knowledge of code, and distraction. Additionally, the paper provides insights into the complete lifetime of bugs from injection to the fix and discusses implications for bug prediction.


Posted Content
TL;DR: The idea is to understand the effects of various software development practices on the performance of developers working in stressful environments, and identify the best operating conditions for software developed under stressful conditions by collecting data through questionnaires, non-invasive software measurement tools, and biophysical sensors.
Abstract: The software is often produced under significant time constraints. Our idea is to understand the effects of various software development practices on the performance of developers working in stressful environments, and identify the best operating conditions for software developed under stressful conditions collecting data through questionnaires, non-invasive software measurement tools that can collect measurable data about software engineers and the software they develop, without intervening their activities, and biophysical sensors and then try to recreated also in different processes or key development practices such conditions.

Proceedings Article
20 Sep 2018
TL;DR: The conditions that have to be fulfilled to extend Android's capabilities to access TETRA networks from a general-purpose mobile device are explored, and a path for a future development aimed to accomplish it is set.
Abstract: Mobile systems have evolved to a level in which they have to carry out their operations in environments demanding high availability and short response time. An excellent radio transmission protocol is necessary to provide the means to satisfy such requirements. TETRA standard offers a large number of features designed for safety and emergency use; however, to access a TETRA network it is compulsory the use of a standard-specific device. In this paper we explore the conditions that have to be fulfilled to extend Android's capabilities to access TETRA networks from a general-purpose mobile device, and set a path for a future development aimed to accomplish it.

Book ChapterDOI
07 Jun 2018
TL;DR: The typical practices of IT recruiting in Russia is discussed, its baseline is described from the point of view of its practitioners and mechanisms to improve are identified, also partially automating it.
Abstract: Software is mostly a “people” business: the single and most important asset of a software company is its developers. Finding an appropriate software developer is a problem that has created the whole area (and business) of IT recruiting, which is mostly an “art” involving a set of practical techniques and approaches. This paper discusses the typical practices of IT recruiting in Russia. Our aim is to describe its baseline from the point of view of its practitioners and to study ways to improve it. To achieve this aim we conducted a survey among more than 70 professional recruiters, we analysed the results, and we have identified mechanisms to improve it, also partially automating it. The results of our research appear to be applicable and beneficial for professionals and researchers living in several other parts of the world, given the evident similarity of the market structure.

Book ChapterDOI
07 Jun 2018
TL;DR: An open-source software metric tool that can generate code metrics and process metrics for a given Java software project in a Git repository is introduced that finds that the two datasets are not identical with each other, despite the fact that the metric values obtained conform to the definitions of their corresponding metrics.
Abstract: The number of research papers on defect prediction has sharply increased for the last decade or so. One of the main driving forces behind it has been the publicly available datasets for defect prediction such as the PROMISE repository. These publicly available datasets make it possible for numerous researchers to conduct various experiments on defect prediction without having to collect data themselves. However, there are potential problems that have been ignored. First, there is a potential risk that the knowledge accumulated in the research community is, over time, likely to overfit to the datasets that are repeatedly used in numerous studies. Second, as software development practices commonly employed in the field evolve over time, these changes may potentially affect the relation between defect-proneness and software metrics, which would not be reflected in the existing datasets. In fact, these potential risks can be addressed to a significant degree, if new datasets can be prepared easily. As a step toward that goal, we introduce an open-source software metric tool, SMD (Software Metric tool for Defect prediction) that can generate code metrics and process metrics for a given Java software project in a Git repository. In our case study where we compare existing datasets with the datasets re-generated from the same software projects using our tool, we found that the two datasets are not identical with each other, despite the fact that the metric values we obtained conform to the definitions of their corresponding metrics. We learned that there are subtle factors to consider when generating and using metrics for defect prediction.