Data collected from software applications such as issue management systems or version control sys... more Data collected from software applications such as issue management systems or version control systems are abstract and require their thorough and comprehensive analysis. Automated issue generation is an understudied area in automated software development despite its effectiveness, safety, and satisfaction which increases developer productivity. Analysis of software data from automated issue generation provides information which could be used by relevant tools or monitored as any other feature in the development process. In this paper, we systematically apply a suite of methods, including clustering algorithms, cluster validity indexes, and information granularity, to generate explainable prototypes using software data from generated GitHub Issues. Among other approaches of data analytics, we employ the principle of justifiable granularity and a method of optimal information allocation. These methods are applied to two dimensional synthetic Gaussian data to illustrate the performance of the methods. The study provides the experimental results using the methods applied to real industrial data coming from the 0pdd software. The resultant groups provide some insights into structure for organising puzzles with similar characteristics.
Proceedings of the 2021 7th International Conference on Education and Training Technologies., 2021
This work implements multiple language acquisition hypotheses in the form of software. The Input ... more This work implements multiple language acquisition hypotheses in the form of software. The Input Hypotheses by Krashen [19] are applied in the form of a Google Chrome browser extension. The language acquisition hypotheses are explored and used to extract functional requirements to create a new language learning tool. The resulting tool presents such features as personalized learning, translating phrases in context in-place inside web pages, and supporting more than 100 languages.
Ample research has been carried out in the area of collusion, plagiarism and e-learning. Collusio... more Ample research has been carried out in the area of collusion, plagiarism and e-learning. Collusion is a form of active cheating where two or more parties secretly or illegally corporate. Collusion is at the root of common knowledge plagiarism. While plagiarism requires two or more entities to compare, collusion can be determined in isolation. It is also possible that collusion do not lead to positive plagiarism checks. It is therefore the aims of this preliminary study to: (i) identify the factors responsible for collusion in e-learning (ii) determine the prominent factor that is representative of collusion and (iii) through user behaviour including, but not limited to, application switching time, determine collusion. We claim that user computer activities and application processes can help understand user behaviour during assessment task. It is on this premise that we develop a machine learning model to predict collusion through user behaviour during assessment task.
The preliminary task of a project consists of the definition of the scenarios that will guide fur... more The preliminary task of a project consists of the definition of the scenarios that will guide further development work and validate the results. In this paper, we present an approach for the systematic generation of validation scenarios using a specifically developed taxonomy and combinatorial testing. We applied this approach to our research project for the development of the energy-efficiency evaluation framework named Innometrics. We described in detail all steps for taxonomy creation, generation of abstract validation scenarios, and identification of relevant industrial and academic case studies. We created the taxonomy of the target computer systems and then elaborated test cases using combinatorial testing. The classification criteria were the type of the system, its purpose, enabling hardware components and connectivity technologies, basic design patterns, programming language, and development lifecycle. The combinatorial testing results in 13 cases for one-way test coverage, which was considered enough to create a comprehensive test suite. We defined the case study for each particular scenario. These case studies represent the real industrial, educational, and open-source software development projects that will be used in further work on the Innometrics project.
The purpose of this research is to elaborate relative set of scenarios for validation of developi... more The purpose of this research is to elaborate relative set of scenarios for validation of developing framework for energy efficiency assessment of the software systems based on variety of approaches, including statistics, data mining and computational intelligence. The technical tasks of the project cannot be conducted without considering specific contexts. For these reasons, the preliminary task consists of the definition of a set of scenarios that will constitute the framework for guiding the work. The combinatorial testing approach was applied to the issue of scenario generation. For this purpose the mobile application taxonomy was developed based on literature analysis. ACTS tool was used to perform automated combinatorial testing. 13 scenarios were generated based on selected parameters of mobile applications classification. The resulted set provide a reliable coverage of defined parameters so it should be considered as representative. The scenarios obtained at this step should be considered as a blueprint for selecting case studies in industrial or academic software developing projects. The idea of applying the combinatorial testing approach to scenario generation issue can be applied in vary number of research projects related to software engineering area.
Increasing amount of data the organizations worldwide have at their disposal lead to the need to ... more Increasing amount of data the organizations worldwide have at their disposal lead to the need to structure, organize and present the information obtained from it. That is because, in today's rapid-changing business environment, managers and executives need to be able to gain crucial insights about the ongoing project in as little time as possible. Recently, energy efficiency has become a greater field of research, and companies started concentrating on monitoring energy-related metrics. In addition, many of them have built their own internal tools (dash-boards) to do just this. However, one of the major drawbacks of building specialized tools is the lack of adaptability. That is, they are often tailored to only one person (e.g. CEO), or a small group of them (e.g. board of directors, managers). Furthermore, the combination of metrics that is displayed to them does not change over time. This is a problem because most likely there exists a better metric combination that would allow users to get the crucial insights faster. To fill this gap, our ongoing research focuses on making the dashboards adaptable to multiple roles within the organization while optimizing for a certain goal. In some scenarios the dashboard's goal may be to detect defects, in others it may be to generate the most profit. As our primary research interest is to amplify energy efficiency, we have chosen that to be our dashboard's goal. Our previous work suggests that in order to handle compound metrics at scale it is needed to represent the dashboard as a complex system. This paper presents the design and the architecture of our proposed solution syn-ergizing the notions from complexity theory, software architecture and user experience (UX) design.
Business decisions are often made based on metrics gathered from software engineering processes. ... more Business decisions are often made based on metrics gathered from software engineering processes. There are two questions that are important to answer. First-if the accuracy of the metrics had been known, would the same business decision have been made? The Efron Bootstrap is a computer intensive approach to determine accuracy of metrics from small data sets. Reference has been made in the literature of several applications of Efron Bootstrap's Statistical Approach to determine the accuracy of metrics in the context of Software Engineering. However, there is extremely limited reference to whether the Efron Bootstrap actually provides an accurate determination of the errors associated with various common software metrics. We have found accurate Efron Bootstrap estimates for mean and median 90%confidence ranges, gross under estimates for variance errors and consistent overestimates of errors for skewness and kurtosis. The accuracy of estimates of correlation error ranges depends on the data set being analyzed.
This paper reports on an observational analysis of how the current COVID-19 pandemic and the cons... more This paper reports on an observational analysis of how the current COVID-19 pandemic and the consequent move to home-based online work have affected the development of software. 50 software engineers and developers, mostly in their twenties, all with a university degree and working for 35 different companies, in the Russian IT city of Innopolis, have been surveyed. Their personal perception of the variation of productivity due to the move to online work was recorded, together with the tools that they employed and the processes that were in place before and during the quarantine. This observational nature of the results evidences some reduction in the perceived productivity, especially concentrated in people without previous experience of remote work and without a suitable development environment available at home; moreover, such reduction tends to affect more agile processes rather than non structured processes, and appears to be mitigated by the adoption of suitable communication mechanisms and tools.
Software systems are the enabling technology for the development of sustainable systems. However,... more Software systems are the enabling technology for the development of sustainable systems. However, such devices consume power both from the client side and from the server side. This scenario poses to software engineering a new challenge that concerns the development of software for sustainable systems i.e. systems that explicitly characterize the resources under control, that dynamically evolve to maintain an acceptable consumption of resources making the best possible trade-off with user needs and that are opportunistic and proactive in taking actions that can optimize future resource consumption based on context and past experiences. This paper outlines a research agenda in this area.
Nel lavoro si presenta uno strumento, DIEL (Dynamic Interactive E- Learning system), uno spazio v... more Nel lavoro si presenta uno strumento, DIEL (Dynamic Interactive E- Learning system), uno spazio virtuale di apprendimento concepito per permettere a studenti e docenti di utilizzare modelli di interazione sincroni ed asincroni, e di potersi concentrare appieno sugli aspetti legati all'apprendimento supportati da una tecnologia duttile e flessibile alle esigenze didattiche. Verrà inoltre presentato un caso di studio per meglio
XP/Agile education and training remains a challenge from the perspective of determining relevant ... more XP/Agile education and training remains a challenge from the perspective of determining relevant content; identifying effective methods for delivery; and maintaining the focus and motivation of students. This panel brings together academic and industry professionals to share their perspectives and experiences.
Welcome to the first international workshop on Beyond Code: No Code (BCNC). We are happy to be pa... more Welcome to the first international workshop on Beyond Code: No Code (BCNC). We are happy to be part of the no-code movement and we hope to shed some light on the applications of no-code in the field of software engineering. We aim to promote academic research into this topic and help shape the future of no-code tools. This workshop is hosted at the SPLASH 2021 conference, 17-22 October 2021, Chicago, Illinois, USA.
This open access book provides information how to choose and collect the appropriate metrics for ... more This open access book provides information how to choose and collect the appropriate metrics for a software project in an organization. There are several kinds of metrics, based on the analysis of source code and developed for different programming paradigms such as structured programming and object-oriented programming (OOP). This way, the book follows three main objectives: (i) to identify existing and easily-collectible measures, if possible in the early phases of software development, for predicting and modeling both the traditional attributes of software systems and attributes specifically related to their efficient use of resources, and to create new metrics for such purposes; (ii) to describe ways to collect these measures during the entire lifecycle of a system, using minimally-invasive monitoring of design-time processes, and consolidate them into conceptual frameworks able to support model building by using a variety of approaches, including statistics, data mining and computational intelligence; and (iii) to present models and tools to support design time evolution of systems based on design-time measures and to empirically validate them. The book provides researchers and advanced professionals with methods for understanding the full implications of alternative choices and their relative attractiveness in terms of enhancing system resilience. It also explores the simultaneous use of multiple models that reflect different system interpretations or stakeholder perspectives.
This open access book describes the development of Innopolis, a young Russian university establis... more This open access book describes the development of Innopolis, a young Russian university established in 2012 to focus on teaching excellence in computer science, engineering, and robotics. It reports on the problems that were faced in the first decade of its development, and the adopted solutions. It shows how the key aspects for the development of the faculty, the curricula, the university structure, and the challenge of internationalization have been successfully addressed by the university management and professors, and how the solutions are scalable for other newly founded research organizations. The book is divided in five parts: “The Beginning” describes the very early days in general, from the foundation and start-up of the university with the related processes. “The People” reports on the initial hiring of the faculty members, the selection of students, and the curriculum development. “The Activities” provide information about the creation of the single research institutions and labs, and their relation to industry. “The Future” gives an outlook on the planned internationalization and faculty strategy. Eventually, “A Visual Journey” shows a selection of photographs illustrating highlights of the whole process and the current achievements. The processes and the components described built the basis for the development of Innopolis, and many of them still have a big impact on its present and its future. The fewer mistakes are made at the beginning, the higher the probability to fully achieve the initial goals.
Il libro, rivolto principalmente ai manager della Pubblica Amministrazione (PA), affronta tutte l... more Il libro, rivolto principalmente ai manager della Pubblica Amministrazione (PA), affronta tutte le principali problematiche connesse allo sviluppo software nel contesto della PA, con particolare attenzione per le Forze Armate. In questo settore assumono particolare rilevanza gli aspetti contrattualistici, la qualità del servizio a lungo termine (si pensi al service level agreement), le dipendenze in termini di infrastruttura tecnologica (con maggiori rigidità rispetto al settore privato) e gli obblighi di riuso delle soluzioni per economizzare. Prendendo avvio da un'attenta analisi degli aspetti contrattualistici, gli autori seguono un percorso che copre successivamente tutte le fasi del processo di sviluppo software. Processo di sviluppo che viene presentato tenendo conto delle caratteristiche distintive e delle specificità di applicazione che gli ambienti della Pubblica Amministrazione richiedono. Si presentano quindi modelli di sviluppo pianificati e agili, facilmente adattabili al contesto di riferimento, con particolare attenzione per lo sviluppo di componenti open source, architetturali e di sicurezza. Nella parte finale vengono proposti casi di studio concreti che contribuiscono a fornire ulteriori spunti di riflessione e approfondimento.
This book illustrates how goal-oriented, automated measurement can be used to create Lean organiz... more This book illustrates how goal-oriented, automated measurement can be used to create Lean organizations and to facilitate the development of Lean software, while also demonstrating the practical implementation of Lean software development by combining tried and trusted tools.
In order to be successful, a Lean orientation of software development has to go hand in hand with a company’s overall business strategy. To achieve this, two interrelated aspects require special attention: measurement and experience management. In this book, Janes and Succi provide the necessary knowledge to establish “Lean software company thinking,” while also exploiting the latest approaches to software measurement. A comprehensive, company-wide measurement approach is exactly what companies need in order to align their activities to the demands of their stakeholders, to their business strategy, etc. With the automatic, non-invasive measurement approach proposed in this book, even small and medium-sized enterprises that do not have the resources to introduce heavyweight processes will be able to make their software development processes considerably more Lean.
The book is divided into three parts. Part I, “Motivation for Lean Software Development,” explains just what “Lean Production” means, why it can be advantageous to apply Lean concepts to software engineering, and which existing approaches are best suited to achieving this. Part II, “The Pillars of Lean Software Development,” presents the tools needed to achieve Lean software development: Non-invasive Measurement, the Goal Question Metric approach, and the Experience Factory. Finally, Part III, “Lean Software Development in Action,” shows how different tools can be combined to enable Lean Thinking in software development.
The book primarily addresses the needs of all those working in the field of software engineering who want to understand how to establish an efficient and effective software development process. This group includes developers, managers, and students pursuing an M.Sc. degree in software engineering.
Data collected from software applications such as issue management systems or version control sys... more Data collected from software applications such as issue management systems or version control systems are abstract and require their thorough and comprehensive analysis. Automated issue generation is an understudied area in automated software development despite its effectiveness, safety, and satisfaction which increases developer productivity. Analysis of software data from automated issue generation provides information which could be used by relevant tools or monitored as any other feature in the development process. In this paper, we systematically apply a suite of methods, including clustering algorithms, cluster validity indexes, and information granularity, to generate explainable prototypes using software data from generated GitHub Issues. Among other approaches of data analytics, we employ the principle of justifiable granularity and a method of optimal information allocation. These methods are applied to two dimensional synthetic Gaussian data to illustrate the performance of the methods. The study provides the experimental results using the methods applied to real industrial data coming from the 0pdd software. The resultant groups provide some insights into structure for organising puzzles with similar characteristics.
Proceedings of the 2021 7th International Conference on Education and Training Technologies., 2021
This work implements multiple language acquisition hypotheses in the form of software. The Input ... more This work implements multiple language acquisition hypotheses in the form of software. The Input Hypotheses by Krashen [19] are applied in the form of a Google Chrome browser extension. The language acquisition hypotheses are explored and used to extract functional requirements to create a new language learning tool. The resulting tool presents such features as personalized learning, translating phrases in context in-place inside web pages, and supporting more than 100 languages.
Ample research has been carried out in the area of collusion, plagiarism and e-learning. Collusio... more Ample research has been carried out in the area of collusion, plagiarism and e-learning. Collusion is a form of active cheating where two or more parties secretly or illegally corporate. Collusion is at the root of common knowledge plagiarism. While plagiarism requires two or more entities to compare, collusion can be determined in isolation. It is also possible that collusion do not lead to positive plagiarism checks. It is therefore the aims of this preliminary study to: (i) identify the factors responsible for collusion in e-learning (ii) determine the prominent factor that is representative of collusion and (iii) through user behaviour including, but not limited to, application switching time, determine collusion. We claim that user computer activities and application processes can help understand user behaviour during assessment task. It is on this premise that we develop a machine learning model to predict collusion through user behaviour during assessment task.
The preliminary task of a project consists of the definition of the scenarios that will guide fur... more The preliminary task of a project consists of the definition of the scenarios that will guide further development work and validate the results. In this paper, we present an approach for the systematic generation of validation scenarios using a specifically developed taxonomy and combinatorial testing. We applied this approach to our research project for the development of the energy-efficiency evaluation framework named Innometrics. We described in detail all steps for taxonomy creation, generation of abstract validation scenarios, and identification of relevant industrial and academic case studies. We created the taxonomy of the target computer systems and then elaborated test cases using combinatorial testing. The classification criteria were the type of the system, its purpose, enabling hardware components and connectivity technologies, basic design patterns, programming language, and development lifecycle. The combinatorial testing results in 13 cases for one-way test coverage, which was considered enough to create a comprehensive test suite. We defined the case study for each particular scenario. These case studies represent the real industrial, educational, and open-source software development projects that will be used in further work on the Innometrics project.
The purpose of this research is to elaborate relative set of scenarios for validation of developi... more The purpose of this research is to elaborate relative set of scenarios for validation of developing framework for energy efficiency assessment of the software systems based on variety of approaches, including statistics, data mining and computational intelligence. The technical tasks of the project cannot be conducted without considering specific contexts. For these reasons, the preliminary task consists of the definition of a set of scenarios that will constitute the framework for guiding the work. The combinatorial testing approach was applied to the issue of scenario generation. For this purpose the mobile application taxonomy was developed based on literature analysis. ACTS tool was used to perform automated combinatorial testing. 13 scenarios were generated based on selected parameters of mobile applications classification. The resulted set provide a reliable coverage of defined parameters so it should be considered as representative. The scenarios obtained at this step should be considered as a blueprint for selecting case studies in industrial or academic software developing projects. The idea of applying the combinatorial testing approach to scenario generation issue can be applied in vary number of research projects related to software engineering area.
Increasing amount of data the organizations worldwide have at their disposal lead to the need to ... more Increasing amount of data the organizations worldwide have at their disposal lead to the need to structure, organize and present the information obtained from it. That is because, in today's rapid-changing business environment, managers and executives need to be able to gain crucial insights about the ongoing project in as little time as possible. Recently, energy efficiency has become a greater field of research, and companies started concentrating on monitoring energy-related metrics. In addition, many of them have built their own internal tools (dash-boards) to do just this. However, one of the major drawbacks of building specialized tools is the lack of adaptability. That is, they are often tailored to only one person (e.g. CEO), or a small group of them (e.g. board of directors, managers). Furthermore, the combination of metrics that is displayed to them does not change over time. This is a problem because most likely there exists a better metric combination that would allow users to get the crucial insights faster. To fill this gap, our ongoing research focuses on making the dashboards adaptable to multiple roles within the organization while optimizing for a certain goal. In some scenarios the dashboard's goal may be to detect defects, in others it may be to generate the most profit. As our primary research interest is to amplify energy efficiency, we have chosen that to be our dashboard's goal. Our previous work suggests that in order to handle compound metrics at scale it is needed to represent the dashboard as a complex system. This paper presents the design and the architecture of our proposed solution syn-ergizing the notions from complexity theory, software architecture and user experience (UX) design.
Business decisions are often made based on metrics gathered from software engineering processes. ... more Business decisions are often made based on metrics gathered from software engineering processes. There are two questions that are important to answer. First-if the accuracy of the metrics had been known, would the same business decision have been made? The Efron Bootstrap is a computer intensive approach to determine accuracy of metrics from small data sets. Reference has been made in the literature of several applications of Efron Bootstrap's Statistical Approach to determine the accuracy of metrics in the context of Software Engineering. However, there is extremely limited reference to whether the Efron Bootstrap actually provides an accurate determination of the errors associated with various common software metrics. We have found accurate Efron Bootstrap estimates for mean and median 90%confidence ranges, gross under estimates for variance errors and consistent overestimates of errors for skewness and kurtosis. The accuracy of estimates of correlation error ranges depends on the data set being analyzed.
This paper reports on an observational analysis of how the current COVID-19 pandemic and the cons... more This paper reports on an observational analysis of how the current COVID-19 pandemic and the consequent move to home-based online work have affected the development of software. 50 software engineers and developers, mostly in their twenties, all with a university degree and working for 35 different companies, in the Russian IT city of Innopolis, have been surveyed. Their personal perception of the variation of productivity due to the move to online work was recorded, together with the tools that they employed and the processes that were in place before and during the quarantine. This observational nature of the results evidences some reduction in the perceived productivity, especially concentrated in people without previous experience of remote work and without a suitable development environment available at home; moreover, such reduction tends to affect more agile processes rather than non structured processes, and appears to be mitigated by the adoption of suitable communication mechanisms and tools.
Software systems are the enabling technology for the development of sustainable systems. However,... more Software systems are the enabling technology for the development of sustainable systems. However, such devices consume power both from the client side and from the server side. This scenario poses to software engineering a new challenge that concerns the development of software for sustainable systems i.e. systems that explicitly characterize the resources under control, that dynamically evolve to maintain an acceptable consumption of resources making the best possible trade-off with user needs and that are opportunistic and proactive in taking actions that can optimize future resource consumption based on context and past experiences. This paper outlines a research agenda in this area.
Nel lavoro si presenta uno strumento, DIEL (Dynamic Interactive E- Learning system), uno spazio v... more Nel lavoro si presenta uno strumento, DIEL (Dynamic Interactive E- Learning system), uno spazio virtuale di apprendimento concepito per permettere a studenti e docenti di utilizzare modelli di interazione sincroni ed asincroni, e di potersi concentrare appieno sugli aspetti legati all'apprendimento supportati da una tecnologia duttile e flessibile alle esigenze didattiche. Verrà inoltre presentato un caso di studio per meglio
XP/Agile education and training remains a challenge from the perspective of determining relevant ... more XP/Agile education and training remains a challenge from the perspective of determining relevant content; identifying effective methods for delivery; and maintaining the focus and motivation of students. This panel brings together academic and industry professionals to share their perspectives and experiences.
Welcome to the first international workshop on Beyond Code: No Code (BCNC). We are happy to be pa... more Welcome to the first international workshop on Beyond Code: No Code (BCNC). We are happy to be part of the no-code movement and we hope to shed some light on the applications of no-code in the field of software engineering. We aim to promote academic research into this topic and help shape the future of no-code tools. This workshop is hosted at the SPLASH 2021 conference, 17-22 October 2021, Chicago, Illinois, USA.
This open access book provides information how to choose and collect the appropriate metrics for ... more This open access book provides information how to choose and collect the appropriate metrics for a software project in an organization. There are several kinds of metrics, based on the analysis of source code and developed for different programming paradigms such as structured programming and object-oriented programming (OOP). This way, the book follows three main objectives: (i) to identify existing and easily-collectible measures, if possible in the early phases of software development, for predicting and modeling both the traditional attributes of software systems and attributes specifically related to their efficient use of resources, and to create new metrics for such purposes; (ii) to describe ways to collect these measures during the entire lifecycle of a system, using minimally-invasive monitoring of design-time processes, and consolidate them into conceptual frameworks able to support model building by using a variety of approaches, including statistics, data mining and computational intelligence; and (iii) to present models and tools to support design time evolution of systems based on design-time measures and to empirically validate them. The book provides researchers and advanced professionals with methods for understanding the full implications of alternative choices and their relative attractiveness in terms of enhancing system resilience. It also explores the simultaneous use of multiple models that reflect different system interpretations or stakeholder perspectives.
This open access book describes the development of Innopolis, a young Russian university establis... more This open access book describes the development of Innopolis, a young Russian university established in 2012 to focus on teaching excellence in computer science, engineering, and robotics. It reports on the problems that were faced in the first decade of its development, and the adopted solutions. It shows how the key aspects for the development of the faculty, the curricula, the university structure, and the challenge of internationalization have been successfully addressed by the university management and professors, and how the solutions are scalable for other newly founded research organizations. The book is divided in five parts: “The Beginning” describes the very early days in general, from the foundation and start-up of the university with the related processes. “The People” reports on the initial hiring of the faculty members, the selection of students, and the curriculum development. “The Activities” provide information about the creation of the single research institutions and labs, and their relation to industry. “The Future” gives an outlook on the planned internationalization and faculty strategy. Eventually, “A Visual Journey” shows a selection of photographs illustrating highlights of the whole process and the current achievements. The processes and the components described built the basis for the development of Innopolis, and many of them still have a big impact on its present and its future. The fewer mistakes are made at the beginning, the higher the probability to fully achieve the initial goals.
Il libro, rivolto principalmente ai manager della Pubblica Amministrazione (PA), affronta tutte l... more Il libro, rivolto principalmente ai manager della Pubblica Amministrazione (PA), affronta tutte le principali problematiche connesse allo sviluppo software nel contesto della PA, con particolare attenzione per le Forze Armate. In questo settore assumono particolare rilevanza gli aspetti contrattualistici, la qualità del servizio a lungo termine (si pensi al service level agreement), le dipendenze in termini di infrastruttura tecnologica (con maggiori rigidità rispetto al settore privato) e gli obblighi di riuso delle soluzioni per economizzare. Prendendo avvio da un'attenta analisi degli aspetti contrattualistici, gli autori seguono un percorso che copre successivamente tutte le fasi del processo di sviluppo software. Processo di sviluppo che viene presentato tenendo conto delle caratteristiche distintive e delle specificità di applicazione che gli ambienti della Pubblica Amministrazione richiedono. Si presentano quindi modelli di sviluppo pianificati e agili, facilmente adattabili al contesto di riferimento, con particolare attenzione per lo sviluppo di componenti open source, architetturali e di sicurezza. Nella parte finale vengono proposti casi di studio concreti che contribuiscono a fornire ulteriori spunti di riflessione e approfondimento.
This book illustrates how goal-oriented, automated measurement can be used to create Lean organiz... more This book illustrates how goal-oriented, automated measurement can be used to create Lean organizations and to facilitate the development of Lean software, while also demonstrating the practical implementation of Lean software development by combining tried and trusted tools.
In order to be successful, a Lean orientation of software development has to go hand in hand with a company’s overall business strategy. To achieve this, two interrelated aspects require special attention: measurement and experience management. In this book, Janes and Succi provide the necessary knowledge to establish “Lean software company thinking,” while also exploiting the latest approaches to software measurement. A comprehensive, company-wide measurement approach is exactly what companies need in order to align their activities to the demands of their stakeholders, to their business strategy, etc. With the automatic, non-invasive measurement approach proposed in this book, even small and medium-sized enterprises that do not have the resources to introduce heavyweight processes will be able to make their software development processes considerably more Lean.
The book is divided into three parts. Part I, “Motivation for Lean Software Development,” explains just what “Lean Production” means, why it can be advantageous to apply Lean concepts to software engineering, and which existing approaches are best suited to achieving this. Part II, “The Pillars of Lean Software Development,” presents the tools needed to achieve Lean software development: Non-invasive Measurement, the Goal Question Metric approach, and the Experience Factory. Finally, Part III, “Lean Software Development in Action,” shows how different tools can be combined to enable Lean Thinking in software development.
The book primarily addresses the needs of all those working in the field of software engineering who want to understand how to establish an efficient and effective software development process. This group includes developers, managers, and students pursuing an M.Sc. degree in software engineering.
Software product lines aim at achieving scope economies through synergetic development of softwar... more Software product lines aim at achieving scope economies through synergetic development of software products. Diverse benefits like cost reduction, decreased time-tomarket, and quality improvement can be expected from reuse of domain-specific software assets. But also nontechnical benefits can be expected as result of network externalities, product branding, and sharing organizational costs.
Strategic Software Production With Domain-Oriented Reuse is the first-ever book that presents a s... more Strategic Software Production With Domain-Oriented Reuse is the first-ever book that presents a systematic approach to creating and positioning reusable software components and products. It is a resource that guides readers through all phases of domain analysis and engineering, showing how commonality and variability analysis are used in studying the market, coordinating with competitors, engineering new products, and minimizing risks.
Government agencies and public organizations often consider adopting open source software (OSS) f... more Government agencies and public organizations often consider adopting open source software (OSS) for reasons of transparency, cost, citizen access, and greater efficiency in communication and delivering services. Adopting Open Source Software offers five richly detailed real-world case studies of OSS adoption by public organizations. The authors analyze the cases and develop an overarching, conceptual framework to clarify the various enablers and inhibitors of OSS adoption in the public sector.
This volume is a collection of research papers in the area of the implementation of logic program... more This volume is a collection of research papers in the area of the implementation of logic programming systems. It will be of immediate interest to practitioners who seek an understanding of how to efficiently manage memory, generate fast code, perform sophisticated static analyses, and design high-performance runtime features. A major theme throughout the book is how to effectively leverage host implementation systems and technologies to implement target systems.
Abstract After a careful analysis of the development process in Engisud, in this document XPAME, ... more Abstract After a careful analysis of the development process in Engisud, in this document XPAME, an XP-based Agile methodology for Engisud, is proposed. XPAME has been thought to meet the several critical issues gathered from interviews of the main representatives of functional, technical and development areas of Engisud.
This book constitutes the refereed proceedings of the 4th International Conference on Extreme Pro... more This book constitutes the refereed proceedings of the 4th International Conference on Extreme Programming and Agile Processes in Software Engineering, XP 2003, held in Genova, Italy in May 2003. The 33 revised full papers presented together with experience reports, research reports, abstracts from an educational symposium and a PhD symposium, as well as panel statements were carefully reviewed and selected for inclusion in the book.
Abstract The analysis of commonalities and differences between agile technology and open source s... more Abstract The analysis of commonalities and differences between agile technology and open source software development is needed to understand how advancement approaches have evolved and whether they produce concrete benefits in terms of software quality and customer satisfaction. Agile Technologies in Open Source Development explores the overlap between open source and agile technologies, providing valuable strategies for advancement in software.
Introduction: Modern Code Review (MCR) is a multistage process where developers evaluate source c... more Introduction: Modern Code Review (MCR) is a multistage process where developers evaluate source code written by others to enhance the software quality. Despite the numerous studies conducted on the effects of MCR on software quality, the non-technical issues in the MCR process have not been extensively studied. This study aims to investigate the social problems in the MCR process and to find possible ways to prevent them and improve the overall quality of the MCR process.Methodology: To achieve the research objectives, we applied the grounded theory research shaped by GQM approach to collect data on the attitudes of developers from different teams toward MCR. We conducted interviews with 25 software developers from 13 companies to obtain the information necessary to investigate how social interactions affect the code reviewing process.Results: Our findings show that interpersonal relationships within the team can have significant consequences on the MCR process. We also received a list of possible strategies to overcome these problems.Discussion: Our study provides a new perspective on the non-technical issues in the MCR process, which has not been extensively studied before. The findings of this study can help software development teams to address the social problems in the MCR process and improve the overall quality of their software products.Conclusion: This study provides valuable insights into the non-technical issues in the MCR process and the possible ways to prevent them. The findings of this study can help software development teams to improve the MCR process and the quality of their software products. Future research could explore the effectiveness of the identified strategies in addressing the social problems in the MCR process.
Over the past 20 years agile methodologies revolutionized Information
Technology, oering tremendo... more Over the past 20 years agile methodologies revolutionized Information Technology, oering tremendous opportunities for the development of Software Engineering as an independent discipline. More specifically, agile methodologies contributed to enhancing the eectiveness and the speed of the production process as well as to improving the productivity and motivations of software developers organized in high performing teams. The agile philosophy can be and has been applied in dierent contexts and across several domains. This work analyses the relationship between Agile methodologies used by software engineers and the practices pursued by musicians in their daily lives. Our findings suggests that collaborative, strongly planned software development life cycle models (such as Waterfall, V-model, iterative, and Spiral) are not adequate models to describe the daily practices of musical composers. This is because their work requires a lot of flexibility, which such models intrinsically lack, because they are oriented to ensuring some form of monitorable progress. Interestingly, our findings also show that nine out of 12 Agile Principles are consciously or unconsciously followed by musicians in their practices. This suggests that there are some deep connections between these two prima facie dierent fields, which are both very creative. Even though our findings await replication, possibly with larger statistical samples, they contribute to open up a new strand of research in the field.
Task prioritization is one of the most researched areas in software development. Given the huge n... more Task prioritization is one of the most researched areas in software development. Given the huge number of papers written on the topic, it might be challenging for IT practitioners-software developers, and IT project managers-to find the most appropriate tools or methods developed to date to deal with this important issue. The main goal of this work is therefore to review the current state of research and practice on task prioritization in the Software Engineering domain and to individuate the most effective ranking tools and techniques used in the industry. For this purpose, we conducted a systematic literature review guided and inspired by the Preferred Reporting Items for Systematic Reviews and Meta-Analyses, otherwise known as the PRISMA statement. Based on our analysis, we can make a number of important observations for the field. Firstly, we found that most of the task prioritization approaches developed to date involve a specific type of prioritization strategy-bug prioritization. Secondly, the most recent works we review investigate task prioritization in terms of "pull request prioritization" and "issue prioritization," (and we speculate that the number of such works will significantly increase due to the explosion of version control and issue management software systems). Thirdly, we remark that the most frequently used metrics for measuring the quality of a prioritization model are f-score, precision, recall, and accuracy.
This paper presents action research to analyze an approach for assessment of the alleged agile tr... more This paper presents action research to analyze an approach for assessment of the alleged agile transformation. This approach was implemented at AK Bars Digital Technologies, an IT spin-off of one of the largest banks in Russia using the Scaled Agile Framework. The approach is based on the Goal-Question-Metric approach, non-invasive measurement collection, and systemic analysis. It uses data from several different sources, including interviews, code repositories, user ratings in the play stores, and templates for agile assessment. The effectiveness of the approach is subjectively validated by the adoption of the proposed recommendations by the banks' senior management. Details are provided on the approach, the required effort from the side of both those assessing and of the people being assessed and the results. The final part of the paper is devoted to the discussion of its generalizability and the plan for future experimentation and refinement.
This paper presents action research to analyze an approach for assessment of the alleged agile tr... more This paper presents action research to analyze an approach for assessment of the alleged agile transformation. This approach was implemented at AK Bars Digital Technologies, an IT spin-off of one of the largest banks in Russia using the Scaled Agile Framework. The approach is based on the Goal-Question-Metric approach, non-invasive measurement collection, and systemic analysis. It uses data from several different sources, including interviews, code repositories, user ratings in the play stores, and templates for agile assessment. The effectiveness of the approach is subjectively validated by the adoption of the proposed recommendations by the banks' senior management. Details are provided on the approach, the required effort from the side of both those assessing and of the people being assessed and the results. The final part of the paper is devoted to the discussion of its generalizability and the plan for future experimentation and refinement.
Software repositories contain a wealth of information about the aspects related to software devel... more Software repositories contain a wealth of information about the aspects related to software development process. For this reason, many studies analyze software repositories using methods of data analytics with a focus on clustering. Software repository clustering has been applied in studying software ecosystems such as GitHub, defect and technical debt prediction, software remodularization. Although some interesting insights have been reported, the considered studies exhibited some limitations. The limitations are associated with the use of individual clustering methods and manifesting in the shortcomings of the obtained results. In this study, to alleviate the existing limitations we engage multiple cluster validity indices applied to multiple clustering methods and carry out consensus clustering. To our knowledge, this study is the first to apply the consensus clustering approach to analyze software repositories and one of the few to apply the consensus clustering to software metrics. Intensive experimental studies are reported for software repository metrics data consisting of a number of software repositories each described by software metrics. We revealed seven clusters of software repositories and relate them to developers’ activity. It is advocated that the proposed clustering environment could be useful for facilitating the decision making process for business investors and open-source community with the help of the Gartner’s hype cycle.
The coronavirus D-19 (Covid-19) pandemic has shaken almost every country in the world: as we stan... more The coronavirus D-19 (Covid-19) pandemic has shaken almost every country in the world: as we stand, 6,3 million deaths from the infection have already been recorded, 167,000 and 380,000 of which are in Italy and the Russian Federation, respectively. In the first wave of the pandemic, Italy suffered an abnormally high death toll. A detailed analysis of available epidemiological data suggests that that rate was shockingly high in the Northern regions and in Lombardy, in particular, whilst in the southern region the situation was less dire. This inexplicably high mortality rate in conditions of a very well-developed health care system such as the one in Lombardy recognized as one of the best in Italy certainly cries for a convincing explanation. In 1976, the small city of Seveso, Lombardy, experienced a release of dioxin into the atmosphere after a massive technogenic accident. The immediate effects of the industrial disaster did not become apparent until a surge in the number of tumors in the affected population in the subsequent years. In this paper, we endeavor to prove our hypothesis that the release of dioxin was a negative cofactor that contributed to a worsening of the clinical course of COVID-19 in Lombardy.
We are currently witnessing the rise of a new economy-the API economy-in which businesses are abl... more We are currently witnessing the rise of a new economy-the API economy-in which businesses are able to gain significant business value by exposing (parts of) their business assets as APIs. It is a new phenomenon that enables innovation by third parties and levels the playing field for businesses of different sizes and degrees of influence. It allows new products and services to be delivered in extremely short time frames and companies to reach markets and users that would normally be too costly or impossible to tap into otherwise. API economy. An economy in which companies expose their (internal) business assets or services in the form of (Web) APIs to third parties with the goal of unlocking additional business value.
Developing features based solely on requirement documents and specifications has been a tradition... more Developing features based solely on requirement documents and specifications has been a traditional way of building software. This paper provides a different approach by combining the notions from Artificial Intelligence (AI)-Evolutionary Algorithms (EA) and Complexity Theory. It represents the software to be build-a dashboard-as a Complex System, and metrics inside of them as agents that are interacting in a non-linear fashion. Furthermore, the paper suggests different visualization techniques required to represent such complex relationships.
Communication among humans consists of both verbal and non verbal components. The latter may some... more Communication among humans consists of both verbal and non verbal components. The latter may sometimes express concepts or ideas not conveyable by the former. This is also true in Software Engineering. This paper first analyses theoretically the role of non verbal communication in software development teams, using the framework provided by distributed cognition as a conceptual palette and as a point of reference. Then, it presents an empirical investigation involving 38 IT professionals from Russia, sharing their experiences in communicating and interacting when developing software artifacts. The results of this empirical investigation are consistent with many of the ideas underlying a distributed approach to cognition. In addition, our findings provide valuable insights to make communication more effective in software development teams, while defining a new framework for follow-up studies.
Journal of Smart Environments and Green Computing, 2021
This paper reviews the research work done in the last 11 years in the area of green computing and... more This paper reviews the research work done in the last 11 years in the area of green computing and analyzes the associated hypotheses, which are then structured in taxonomy and explored to pave the way for a comprehensive view of future research in the area. With the help of the taxonomy, we can understand which of the problems needs more attention. For example, when there is a small number of studies related to a problem, research needs to be conducted on this topic, while a huge number of studies could raise contradictory results that can be aggregated to a unified answer with a meta-analysis. Among the hypotheses generated, one can choose to investigate the hypotheses with a sufficient number of papers.
Context. Tailoring mechanisms allow performance dashboards to vary their appearance as a response... more Context. Tailoring mechanisms allow performance dashboards to vary their appearance as a response to changing requirements (e.g., adapting to multiple users or multiple domains). Objective. We analyze existing research on tailored dashboards and investigate different proposed approaches. Methodology. We performed a systematic literature review. Our search processes yielded a total of 1,764 papers, out of which we screened 1,243 and ultimately used six for data collection. Results. Tailored dashboards, while being introduced almost thirty years ago, did not receive much research attention. However, the area is expanding in recent years and we observed common patterns in novel tailoring mechanisms. Since none of the existing solutions have been running for extended periods of time in real-world scenarios, this lack of empirical data is a likely cause of vaguely described research designs and important practical issues being overlooked. Implications. Based on our findings we propose types of tailoring mechanisms taking into account the timing and nature of recommendations. This classification is grounded in empirical data and serves as a step ahead to a more unifying way of looking at tailoring capabilities in the context of dashboards. Finally, we outline a set of recommendations for future research, as well as a series of steps to follow to make studies more attractive to practitioners.
Mobile devices performance and uptime heavily depend on energy consumed at the hardware and softw... more Mobile devices performance and uptime heavily depend on energy consumed at the hardware and software level. Hence implementation of efficient algorithms has become a crucial aspect for increasing the performance of such systems and battery life for mobile devices. Sorting algorithms are implicitly the building block of many program implementation. Over the past years, researchers have spent more time optimizing hardware components to reduce their energy consumption. However, it has not been so clear which sorting algorithm is more energy efficient. In this study, we conduct a meta-analytical comparison of the energy consumed by the two most common sorting algorithms namely quick sort and merge sort. Our study mainly focused on energy consumption for mobile devices and embedded systems. For our meta-analysis and literature review, we took into consideration studies published not more than 20 years ago. The meta-analytical results show that there is no significant difference between both algorithms in terms of energy efficiency.
This study proposes an approach to the construction of granular models directly based on informat... more This study proposes an approach to the construction of granular models directly based on information granules expressed both in input and output spaces. Associating these information granules, the constructed granular models come in the framework of three layers networks: input granules, an inference scheme and output granules. The proposed approach consists of two stages. First, an augmented principle of justifiable granularity is proposed and applied to construct information granules in an input space. This principle constructs information granules not only through establishing a sound balance between two criteria, i.e., coverage and specificity, but also by optimizing those information granules on the basis of their homogeneity assessed with respect to data localized in output space. At the second stage, we propose an inference scheme by analyzing a location of an input datum in relation with the already formed information granules in an input space. The computed relation can be quantified as membership grades, thus yielding aggregation results involving information granules in an output space. The performance of the proposed granular model is supported by the mechanisms of granular computing and the principle of justifiable granularity. Experimental studies concerning synthetic and publicly available data are performed and some comparative analysis involving rule-based models is given.
With this Systematic Literature Review (SLR), we aim to discover technologies to construct a Goal... more With this Systematic Literature Review (SLR), we aim to discover technologies to construct a Goal-Question-Metrics (GQM) based metrics recommender for software developers. Since such a system has not yet been described in the literature, we decided to analyse the technologies used in three main components of recommender systems-data sets, algorithms, and recommendations-independently. Methods: To achieve our goal we performed-following the best norms in our discipline-a systematic literature review (SLR). We first identified, through searches aptly performed, 422 potentially relevant papers, from which we selected-after applying inclusion and exclusion criteria-30 papers, which we eventually included in our final log. Results: Systems with textual data set preprocess information in nearly the same way and the majority use similarity scores to create recommendations. Systems with GQM-based algorithms consist of questionnaires and require users to explicitly answer questions to produce suggestions. With respect to the recommendations of reviewed systems, they range from application programming interfaces (APIs) to requirements, but no system presently recommends metrics. Conclusion: In our SLR we: (a) identified a sequence of the most popular steps for preprocessing in recommender systems; (b) proposed an optimisation strategy for such steps; (c) found out that the most promising approach includes both ranking and classification; and (d) established that there are no recommendation systems developed to date to process metrics. INDEX TERMS Goal question metrics model, recommender systems, text processing.
Software development is a complex process that requires skills in mathematics and physics. Moreov... more Software development is a complex process that requires skills in mathematics and physics. Moreover, it usually includes collaboration with other people. To get a precise understanding of the way such a process is organized, we need to understand its essence. Technical knowledge is crucially important for any developer; however, another important characteristic of any software engineer is creativity. In this article, we look at one particular artistic practice [filmmaking] that involves both these latter characteristics to determine whether insights from such a practice can be applied in the IT industry and vice versa.
Modeling and understanding users interests has become an essential part of our daily lives. A var... more Modeling and understanding users interests has become an essential part of our daily lives. A variety of business processes and a growing number of companies employ various tools to such an end. The outcomes of these identification strategies are beneficial for both companies and users: the former are more likely to offer services to those customers who really need them, while the latter are more likely to get the service they desire. Several works have been carried out in the area of user interests identification. As a result, it might not be easy for researchers, developers, and users to orient themselves in the field; that is, to find the tools and methods that they most need, to identify ripe areas for further investigations, and to propose the development and adoption of new research plans. In this study, to overcome these potential shortcomings, we performed a systematic literature review on user interests identification. We used as input data browsing tab titles. Our goal here is to offer a service to the readership, which is capable of systematically guiding and reliably orienting researchers, developers, and users in this very vast domain. Our findings demonstrate that the majority of the research carried out in the field gathers data from either social networks (such as Twitter, Instagram and Facebook) or from search engines, leaving open the question of what to do when such data is not available.
Storytelling has always been a crucial, perhaps constitutive part of our lives. All communities h... more Storytelling has always been a crucial, perhaps constitutive part of our lives. All communities have told stories. In recent years, software development is becoming increasingly recognized as a creative process that has a lot in common with the process of writing or telling a story. Aim: The objectives of this paper are: (a) to review and aptly classify current principles and approaches that describe software development as a form of storytelling; (b) to describe and understand the heuristic function of storytelling in software development; and (c) to discuss and single out the principles of storytelling that may play a role, hence constitute significant improvements to the practices of software developers. Method: To achieve these goals and objectives we conducted a systematic literature review of relevant scientific papers and subsequently analyzed them by means of a textual narrative synthesis. Results: More specifically, we retrieved, screened and examined 51 relevant publications. The synthesis we conducted allowed us to understand and better visualize the many interesting correspondences and analogies between those two seemingly different processes, namely storytelling and software development. In particular, in our work, we focused on describing and analyzing how certain principles underlying storytelling can be adapted and applied in current practices of software engineering. Conclusion: This paper presents and re-elaborates in a critical fashion and from a different angle a substantial body of knowledge and research recently carried out in the software development literature.
With the growing need for software-driven devices in modern life, the pervasive necessity of ener... more With the growing need for software-driven devices in modern life, the pervasive necessity of energy efficiency is also rising dramatically. Considering the importance of energy-efficient software in the IT-sphere, many companies started to search and uncover ways for minimizing energy loss. We study the software development process in terms of energy consumption. This depends on various factors that have to be monitored continuously. In this paper, we propose the Innometrics framework for monitoring the software development process and analyzing the profiles of energy consumption by user devices. The motivating idea of the project is to provide crucial insights and to clarify which development activities are the main drivers behind the energy consumption.
Hard drive failure prediction is still a relevant problem today. A number of statistical and mach... more Hard drive failure prediction is still a relevant problem today. A number of statistical and machine learning techniques were proposed to improve failure forecasting accuracy after SMART was introduced. SMART is a diagnostics tool that aims at providing forehand failure warnings. Failure prediction methods can be viewed as a part of reliability analysis-the field that was studied intensively for decades. However, in some situations available techniques cannot be applied due to a simple reason-information at hand is not always sufficient for reliable prediction. SMART's goal is to provide meaningful information that can signify problems with the health condition of a hard drive and failure prediction techniques can leverage this data to provide timely and reliable warnings. To find the best failure forecasting algorithm and evaluate the possibility of its widespread deployment, we review existing datasets with SMART attributes, methods for feature selection for hard drive failure prediction. Reference to this paper should be made as follows: Garcia, M., Ivanov, V., Kozar, A., Litvinov, S., Reznik, A., Romanov, V. and Succi, G. (2018) 'Review of techniques for predicting hard drive failure with SMART attributes', Int. (December 1993). He has passed the habilitation certification as professional engineering both in Italy and in Canada and he has consulted for several organizations worldwide. He has taught a variety of academic and industrial courses throughout his career in software engineering, programming languages, and mobile, distributed, and centralized operating systems. His research interests are in empirical software engineering, open source, mobile and energy aware systems, software reuse, and software product lines. He is the author of 5 and editor of 12 books and over than 370 publications.
2022 International Conference on Computers and Artificial Intelligence Technologies (CAIT), 2022
Source Code Authorship Attribution (SCAA) has become very important for the functioning of our so... more Source Code Authorship Attribution (SCAA) has become very important for the functioning of our societies. For example, it is central in copyright and plagiarism issues, for detecting authors of malware, and even in recruitment and selection processes. The goal of this review is to analyze existing approaches to SCAA, compare them, and identify the most common feature types and architectures of neural networks underlying them. We identified the most common taxonomy of the feature types in SCAA. These are: a. lexical, b. layout, and c. structural. We also found that the combination of the lexical (most language agnostic) and structural (most language dependent) features usually provides the most accurate results.
2022 IEEE/ACS 19th International Conference on Computer Systems and Applications (AICCSA), 2022
A programmers mind and mental state are valuable ingredients in software development process. Bur... more A programmers mind and mental state are valuable ingredients in software development process. Burnouts and stress are the biggest challenges software developers face in the current age. These challenges has been increasing at a fast rate together with the demand in more reliable software products. Various ways to relieve stress have been adopted and some of them result in autonomous sensory meridian response (ASMR). In this study we present a systematic literature review (SLR) focused on understanding the impact of ASMR in software development related activities and how it can be identified from brain waves using electroencephalography (EEG). From the SLR, we found that there exist a positive correlation between an ASMR therapy and alleviating state anxiety, which also it is suggested that ASMR may involve atypical attention processing. Secondly, the identification of specific brain signals patterns when a person is experiencing ASMR is possible using EEG. However a specific effect on software development related activities and software product is not presented in a scientific literature. Lastly, we found out that there is a need to conduct experiments focused on understanding the effect ASMR has on software development and programmers productivity or creativity. As a result, this work serves as a bases for conducting experiments focused in analyzing the mental states evoked by ASMR and the impact in the software engineering domain.
The 31st International Conference on Software Engineering and Knowledge Engineering, SEKE, 2019
The use of biological signals to understand software development has become more popular in the l... more The use of biological signals to understand software development has become more popular in the last few years but poses new challenges with respect to the overall experimental settings. In this paper we present such challenges and the approach we took to overcome them. We illustrate our approach by evaluating two programming situations: pair programming and programming with music. The subjects involved in the experimentation are mostly students, however, in the largest case we involved graduate students coming from industry with at least three years of working experience. The results in general support the validity of this approach and encourage to go further in this research line. Moreover, as a byproduct, the analysis of pair programming confirms, from a biological perspective, early hypotheses that pair programming induces higher level of concentration.
Software Technology: Methods and Tools - 51st International Conference, TOOLS, 2019
Software systems are the enabling technology for the development of sustainable systems. However,... more Software systems are the enabling technology for the development of sustainable systems. However, such devices consume power both from the client side and from the server side. This scenario poses to software engineering a new challenge that concerns the development of software for sustainable systems i.e. systems that explicitly characterize the resources under control, that dynamically evolve to maintain an acceptable consumption of resources making the best possible tradeoff with user needs and that are opportunistic and proactive in taking actions that can optimize future resource consumption based on context and past experiences. This paper outlines a research agenda in this area.
Proceedings of the 2nd Workshop on Knowledge Extraction from Games co-located with 33rd AAAI Conference on Artificial Intelligence, 2019
Examined is a structured play testing methodology based on an observational study to evaluate if ... more Examined is a structured play testing methodology based on an observational study to evaluate if a board game has intuitive features, and what features of design a user will find to be confusing. By presenting a game with only the elements of the game to a set of users and performing an observational study of play, mechanics, objects, and themes. The rules booklets should only be used as a method of teaching a player as a last resort and place intuitive embeddings into the parts of the game itself. We examine a small set of games via the process as an initial proof of concept. Observational studies of intuitive features will enable games designers to ensure a swift transition from unsealing the game's container to enjoying playing.
Open Source Systems - 16th IFIP WG 2.13 International Conference, OSS, 2020
Increasing amount of data the organizations worldwide have at their disposal lead to the need to ... more Increasing amount of data the organizations worldwide have at their disposal lead to the need to structure, organize and present the information obtained from it. That is because, in today's rapid-changing business environment, managers and executives need to be able to gain crucial insights about the ongoing project in as little time as possible. Recently, energy efficiency has become a greater field of research, and companies started concentrating on monitoring energy-related metrics. In addition, many of them have built their own internal tools (dashboards) to do just this. However, one of the major drawbacks of building specialized tools is the lack of adaptability. That is, they are often tailored to only one person (e.g. CEO), or a small group of them (e.g. board of directors, managers). Furthermore, the combination of metrics that is displayed to them does not change over time. This is a problem because most likely there exists a better metric combination that would allow users to get the crucial insights faster. To fill this gap, our ongoing research focuses on making the dashboards adaptable to multiple roles within the organization while optimizing for a certain goal. In some scenarios the dashboard's goal may be to detect defects, in others it may be to generate the most profit. As our primary research interest is to amplify energy efficiency, we have chosen that to be our dashboard's goal. Our previous work suggests that in order to handle compound metrics at scale it is needed to represent the dashboard as a complex system. This paper presents the design and the architecture of our proposed solution synergizing the notions from complexity theory, software architecture and user experience (UX) design.
This paper reports on an observational analysis of how the current COVID-19 pandemic and the cons... more This paper reports on an observational analysis of how the current COVID-19 pandemic and the consequent move to home-based online work have affected the development of software. 50 software engineers and developers, mostly in their twenties, all with a university degree and working for 35 different companies, in the Russian IT city of Innopolis, have been surveyed. Their personal perception of the variation of productivity due to the move to online work was recorded, together with the tools that they employed and the processes that were in place before and during the quarantine. This observational nature of the results evidences some reduction in the perceived productivity, especially concentrated in people without previous experience of remote work and without a suitable development environment available at home; moreover, such reduction tends to affect more agile processes rather than non structured processes, and appears to be mitigated by the adoption of suitable communication mechanisms and tools.
2022 IEEE 13th International Conference on Software Engineering and Service Science (ICSESS), 2022
The goal of this research project was to apply the ideas from Gregory Bateson's book "Steps To An... more The goal of this research project was to apply the ideas from Gregory Bateson's book "Steps To An Ecology Of Mind" to the software development process. In our work, we focused on three fundamental aspects: a) the process to follow, b) the product being built, c) the structure of the team and its organization. While reading the book, we identified the general concepts of the human brain work and drew parallels between the situations described in the book and the conditions that people face during software development. We conducted an anonymous survey among software developers and made sure that many selected ideas could be used to improve the software development process.
IEEE/ACM 19th International Conference on Mining Software Repositories, MSR, 2022
Automatically prioritizing software development tasks extracted from codes could provide signific... more Automatically prioritizing software development tasks extracted from codes could provide significant technical and organizational advantages. Tools exist for the automatic extraction of tasks, but they still lack the ability to capture their mutual dependencies; hence, the capability to prioritize them. Solving this important puzzle is the goal of the presented industrial challenge.
IEEE/ACM 19th International Conference on Mining Software Repositories, MSR, 2022
Simple detection of bugs, defects or anomalies during software development is not enough-it is ne... more Simple detection of bugs, defects or anomalies during software development is not enough-it is necessary to apply corrective actions to eliminate them. To find out whether an anomaly exists in any software, we can measure the quality attributes using software metrics. The main goal of this paper was to find out and explain how to meaningfully attribute metrics to useful corrective actions.
44th IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE (SEIP), 2022
Agile methods were originally introduced for small sized, colocated teams. Their successful produ... more Agile methods were originally introduced for small sized, colocated teams. Their successful products immediately brought up the issue of adapting the methods also for large and distributed organizations engaged in projects to build major, complex products. Currently the most popular multi-teams agile method is the Scaled Agile Framework (SAFe) which, however, is subject to criticism: it appears to be quite demanding and expensive in terms of human resource and project management practices. Moreover, SAFe allegedly goes against some of the principles of agility. This research attempts to gather a deeper understanding of the matter first reviewing and analysing the studies published on this topic via a multivocal literature review and then with an extended empirical investigation on the matters that appear most controversial via the direct analysis of the work of 25 respondents from 17 different companies located in eight countries. Thus, the originality of this research is in the systemic assessment of the "level of flexibility" of SAFe, highlighting the challenges of adopting this framework as it relates to decision making, structure, and the technical and managerial competencies of the company. The results show that SAFe can be an effective and adequate approach if the company is ready to invest a significant effort and resources into it both in the form of providing time for SAFe to be properly absorbed and specific training for individuals.
Proceedings of the 24th International Conference on Enterprise Information Systems, ICEIS, 2022
For years, brain activity, stress level during programming and painting have been analyzed separa... more For years, brain activity, stress level during programming and painting have been analyzed separately. As the world gets more digital and human life gets more dependent on technology, it has become more important to analyse the relationship between programming, software developers' brain activity, creative practices (i.e painting) and stress level. In this paper, we present the results of a systematic literature review whereby the research questions are centred around analysing the relationship between stress levels and brain activity when a person is painting or writing a piece of software. The search for relevant studies was done on google scholar and IEEE Xplore. The results of our review show that: (1) EEG can be used to accurately measure stress levels, (2) there is limited research in the analysis of stress level pattern of the stress level when people paint depending on different situations and styles of painting. In light of the systematic literature review result, using EEG we plan to conduct experiments to measure the stress level when a person is painting a picture or programming.
2nd European Symposium on Software Engineering (ESSE-2021), 2021
In this paper we present the method and tool for linking the analysis of a software at the develo... more In this paper we present the method and tool for linking the analysis of a software at the development stage with the efficiency of the developed product during operation mode from the energy consumption perspective. The purpose of the method is to recognize the bottlenecks of a program and provide recommendations for improving the structure and run-time behavior of the software. The developed tool consists of two subsystems: first is responsible for static analysis of the code and relevant software metrics, second performs analysis of the power consumption of the application. Analysis of the outputs of both components allows us to create a close-loop system for continuous analysis and optimization of the developing software product.
2nd European Symposium on Software Engineering (ESSE-2021), 2021
The generalization of knowledge is a necessary part of every scientific field. Meta-analysis is a... more The generalization of knowledge is a necessary part of every scientific field. Meta-analysis is already advocated as a tool for generalization in different areas such as medicine, psychology, business, and this process is already standardized for them. Software engineering started using meta-analysis as a tool for aggregating results from families of experiments, but not so long for generalization of results coming from different studies, and for this purpose, the metaanalytical approach is not yet clarified. In this paper, we attempt to systematize the application of meta-analysis as a secondary study to the software engineering field suggesting our preliminary protocol. To see the reliability of the proposed protocol we conducted several studies using it. Following even uniform protocol with these studies, we identified the issues preventing the wide usage of meta-analysis in software engineering and proposed our solutions for them.
Proceedings of the 1st ACM SIGPLAN International Workshop on Beyond Code: No Code, 2021
This paper provides a highly opinionated and biased vision and a two-stage plan with guidelines t... more This paper provides a highly opinionated and biased vision and a two-stage plan with guidelines to reach a new era of software development, where anyone can create software without bothering to write code. Moreover, this paper explores in depth the first of these stages, which consists of creating a no-code tool based on six principles: configuration driven development, APIs, open-source, cross-platform, cloud computing, and design systems. An examination of each principle is presented and a case is made for why such a combination of principles would lay the foundation for future development efforts [28]. Possible enquiries are addressed and a path is laid out for future works.
Proceedings of the 1st ACM SIGPLAN International Workshop on Beyond Code: No Code, 2021
This research analyzes the top-performing software applications to identify the Pareto distributi... more This research analyzes the top-performing software applications to identify the Pareto distribution of the features and accordingly proposes the use of no-code tools to increase the efficiency of software developers.
BI 2001 - International Conference on Brain Informatics, 2021
Programmers are the most important part of software production and individual developers are hard... more Programmers are the most important part of software production and individual developers are hard to substitute. The essential part of the knowledge intensive development process is the developers mind state. Understanding the mental states of software developers has become a main interest of software production companies since it is the most valuable resource for software development. However the main challenge in analysing the software developers mental states is that most precise equipment, such as fMRI, is extremely expensive and not portable. Thus, fMRI approximation from EEG readings tools such as MNE, have been developed over the years. The idea of recreating the fMRI based on EEG signal is the main motivation for the current work. This research explains how we used this tool in our studies.
2021 International Conference Nonlinearity, Information and Robotics (NIR), Innopolis, Russia, 2021
Text classification is a crucial method for Intelligent and AI based systems as the amount of tex... more Text classification is a crucial method for Intelligent and AI based systems as the amount of text data increases from year to year. As sentiment analysis which is a prominent technique used by many companies and governments to understand the societies, it has become important to select the efficient and accurate text analysis algorithm to be used the text classification system. In this paper we present a meta-analytical study aimed at comparing two text classification machine learning algorithms namely KNN and SVM in terms of F-score. In addition to the meta-analytical study, our study presents a literature review for machine learning based text classification algorithms. For the meta-analysis, random and fixed models were used. The results of the meta-analysis using 95%-CI proved that there is no significant f1 performance difference between KNN and SVM in text classification tasks.
2021 International Conference Nonlinearity, Information and Robotics, (NIR), 2021
Our goal was to read the book "Guitar zero: The new musician and the science of learning" and fin... more Our goal was to read the book "Guitar zero: The new musician and the science of learning" and find out whether any of the ideas that were presented in this book could be applied to the software development process. After a thorough and comprehensive analysis, we singled out six fundamental musical practices that could be adopted by teams of software engineers to improve their development process. For two of them-team code reviews and personal sprint goal-we performed preliminary experiments, which were aimed at gathering feedback about the usefulness of such practices for software developers.
Proceedings of the 16th International Conference on Software Technologies, ICSOFT, 2021
Modern Code Reviewing has shown to be an effective mechanism to identify bugs in the code; howeve... more Modern Code Reviewing has shown to be an effective mechanism to identify bugs in the code; however, given their intrinsic subjectivity, they can be significantly affected by human factors such as interpersonal relationships. This paper focuses on exploring such issues, with specific attention to social iterations and personal factors. Future work includes experimental evaluations to verify the research hypothesis related to improving the quality of the process under the study.
Intelligent Computing. SAI 2022. Lecture Notes in Networks and Systems, 2022
The software systems worldwide increase in a density on a daily basis. The success in nowadays co... more The software systems worldwide increase in a density on a daily basis. The success in nowadays competitive market requires sustainable and quality software product. Controversially to the quantity of software products, the quality and cost of the software are tend to depend on several aspects. However, they are not fully inculcated yet as a fundamentally essential. The full control over the software quality requires software metrics to be introduced. By effective usage of software quality metrics one can monitor the software development process, minimize the cost, track the resource usage and maintain the expected results. This paper reviews the late phases and the existing software quality models to track software process quality metrics in these late phases. And based on the summarized studies we describe our system architecture in the way to evaluate the software quality with embedded external systems. This paper find outs additional metrics we can measure with the help of our framework.
Abstract An informed introduction to AMs requires the ability to determine whether and when AMs a... more Abstract An informed introduction to AMs requires the ability to determine whether and when AMs are better than traditional software development methodologies. The risk is that AMs are considered just like another tool. Altogether to accredit AMs we need to show the qualified evidence of their effectiveness, performance, productivity, in the different contexts where they can be introduced.
Abstract Values are ideals that that a group of people embrace. They can be positive or negative,... more Abstract Values are ideals that that a group of people embrace. They can be positive or negative, for example empowerment or control. These values are implicit in the personality or culture of a company. Values are often emotive; they represent driving forces behind people. The word principle stems from the Latin for leader or emperor, however in this context we mean it as a general law or essence, for instance principles of modern physics.
Abstract The four main statements shared by all AMs are listed in the so-called Agile Manifesto: ... more Abstract The four main statements shared by all AMs are listed in the so-called Agile Manifesto: 1. Individuals and interactions over processes and tools 2. Working software over comprehensive documentation 3. Customer collaboration over contract negotiation 4. Responding to change over following a plan In this section, we review these statements to determine the extent to which they apply to OSS.
Agile Methods (AMs) are a set of development techniques designed to address some problems of mode... more Agile Methods (AMs) are a set of development techniques designed to address some problems of modern software development (ie, projects over budget and over schedule). Such methods do not pretend to be useful in any kind of software project or to be the solution to reduce costs and increase quality of any product.
Supporting Electronic Commerce of Software Products 331 Chapter XVIII Supporting Electronic Comme... more Supporting Electronic Commerce of Software Products 331 Chapter XVIII Supporting Electronic Commerce of Software Products Through Pay-Per-Use Rental of Downloadable Tools Giancarlo Succi and Raymond Wong University of Alberta, Canada Eric Liu University of Calgary, Canada Carlo Bonamico and Tullio Vernazza DIST-University di Genova, Italy Luigi Benedicenti University of Regina, Italy The Internet supports the development of software tools that can be downloaded on demand by users, software tools on-demand.
Abstract: Collecting, understanding, and managing requirements is a critical aspect in all develo... more Abstract: Collecting, understanding, and managing requirements is a critical aspect in all development methods. This is true for Agile Methods as well. In particular, several agile practices deal with requirements in order to implement them correctly and satisfy the needs of the customer. These practices focus on a continuous interaction with the customer to address the requirements evolution over time, prioritize them, and deliver the most valuable functionalities first.
Abstract The introduction of a GNU/Linux-based desktop system in a large company is often problem... more Abstract The introduction of a GNU/Linux-based desktop system in a large company is often problematic. In literature, several crucial issues represent such a burden, which is often cost effective for SMEs and public administrations. Some of these are technical issues; the others are related to the training costs for the employees.
Abstract. Programming languages using set as the core data collection have two interesting featur... more Abstract. Programming languages using set as the core data collection have two interesting features: first lots of people have experience, from many different fields, in representing problems as relations between sets and then sets are a suit structure for exploiting data parallelism. This paper presents a technique for implementing sets in a Logic Programming System. It is based on hash-tables and is aimed to a Subset Abstract Machine for the Subset Equational Language.
Abstract Agile Methods (AMs) are very recent but many of their basic principles are rather old, i... more Abstract Agile Methods (AMs) are very recent but many of their basic principles are rather old, inherited from the lean production pioneered in the '60s at Toyota for the production of cars. Moreover, many practices on which AMs are based have a long tradition in software development. For instance, unit testing has been used since the '60s. However, one of the major achievements of AMs is the integration of all these well established principles and practices with some others more recent such as pair programming.
Abstract Tools support is extremely important in Agile development. As described in the previous ... more Abstract Tools support is extremely important in Agile development. As described in the previous chapters, the Agile development is based on the identification and the subsequent reduction of activities that do not provide value to the customer and the ability to change the code without including new and undetected bugs in the code.
Abstract The evaluation of software is a critical task for corporations that are planning to use ... more Abstract The evaluation of software is a critical task for corporations that are planning to use OSS components. The amount of OSS available is vast and often its quality is not appropriate to adoption for real business processes. Therefore, companies have to analyze the available solutions and chose the software that meets their functional needs and quality standards.
Abstract Although the situation in the software industry is improved in the last years, the perce... more Abstract Although the situation in the software industry is improved in the last years, the percentage of software project cancelled 18%, or challenged (late, over budget, and with less than the required features) 53% is still high1. Researchers and practitioners are looking for the magic solution or the silver bullet that will allow software companies to overcome the software crisis (Brooks, 1987). New development approaches like AMs and OSD models are some of the solutions identified (Feller & Fitzgerald, 2002; Abrahamsson et al., 2003).
Adoption of Open Source Processes in Large Enterprises (9781599046815): Barbara Russo, Marco Scot... more Adoption of Open Source Processes in Large Enterprises (9781599046815): Barbara Russo, Marco Scotto, Alberto Sillitti, Giancarlo Succi: Book Chapters.
Abstract In the early '90s, the IBM Consulting Group hired Alistair Cockburn to build a methodolo... more Abstract In the early '90s, the IBM Consulting Group hired Alistair Cockburn to build a methodology for object-oriented development. Cockburn investigated a large number of software projects and asked to each team to identify the main reasons for their own success. Cockburn has defined Crystal (Cockburn, 2004) as a family of AMs, because he believed that different kinds of projects require different development methodologies.
Abstract The learning abilities and high transparency are the two important and highly desirable ... more Abstract The learning abilities and high transparency are the two important and highly desirable features of any model of software quality. The transparency and user-centricity of quantitative models of software engineering are of paramount relevancy as they help us gain a better and more comprehensive insight into the revealed relationships characteristic to software quality and software processes. In this study, we are concerned with logic-driven architectures of logic models based on fuzzy multiplexers (fMUXs).
Abstract In this chapter, we propose an analysis of the approaches and methods available for the ... more Abstract In this chapter, we propose an analysis of the approaches and methods available for the automated extraction of knowledge from event flows. We specifically focus on the reconstruction of processes from automatically generated events logs. In this context, we consider that knowledge can be directly gathered by means of the reconstruction of business process models.
This chapter presents Gertrude, a methodology for business process modeling. Gertrude uses Object... more This chapter presents Gertrude, a methodology for business process modeling. Gertrude uses Object Orientation, and conjugates it with Activity Based Costing. The methodology is simple, easy to use and understand, and concise. It accounts for what-if analysis, and variation in the perception of the firm. It can serve as enabler for a BPR process, or monitor a continuous improvement in the production process. It is the basis for corporate experience capitalization
ABSTRACT The chapter discusses the adoption and assimilation process of open source software as a... more ABSTRACT The chapter discusses the adoption and assimilation process of open source software as a new form of information technology. Specifically, the case reports a general positive attitude towards the widely used technology, the OpenOffice. org suite for office automation. Nevertheless, it shows the difficulties of the first early adopters to lead the innovation process and push other users.
Uploads
Papers by Giancarlo Succi
Books by Giancarlo Succi
The book provides researchers and advanced professionals with methods for understanding the full implications of alternative choices and their relative attractiveness in terms of enhancing system resilience. It also explores the simultaneous use of multiple models that reflect different system interpretations or stakeholder perspectives.
The book is divided in five parts: “The Beginning” describes the very early days in general, from the foundation and start-up of the university with the related processes. “The People” reports on the initial hiring of the faculty members, the selection of students, and the curriculum development. “The Activities” provide information about the creation of the single research institutions and labs, and their relation to industry. “The Future” gives an outlook on the planned internationalization and faculty strategy. Eventually, “A Visual Journey” shows a selection of photographs illustrating highlights of the whole process and the current achievements.
The processes and the components described built the basis for the development of Innopolis, and many of them still have a big impact on its present and its future. The fewer mistakes are made at the beginning, the higher the probability to fully achieve the initial goals.
In order to be successful, a Lean orientation of software development has to go hand in hand with a company’s overall business strategy. To achieve this, two interrelated aspects require special attention: measurement and experience management. In this book, Janes and Succi provide the necessary knowledge to establish “Lean software company thinking,” while also exploiting the latest approaches to software measurement. A comprehensive, company-wide measurement approach is exactly what companies need in order to align their activities to the demands of their stakeholders, to their business strategy, etc. With the automatic, non-invasive measurement approach proposed in this book, even small and medium-sized enterprises that do not have the resources to introduce heavyweight processes will be able to make their software development processes considerably more Lean.
The book is divided into three parts. Part I, “Motivation for Lean Software Development,” explains just what “Lean Production” means, why it can be advantageous to apply Lean concepts to software engineering, and which existing approaches are best suited to achieving this. Part II, “The Pillars of Lean Software Development,” presents the tools needed to achieve Lean software development: Non-invasive Measurement, the Goal Question Metric approach, and the Experience Factory. Finally, Part III, “Lean Software Development in Action,” shows how different tools can be combined to enable Lean Thinking in software development.
The book primarily addresses the needs of all those working in the field of software engineering who want to understand how to establish an efficient and effective software development process. This group includes developers, managers, and students pursuing an M.Sc. degree in software engineering.
The book provides researchers and advanced professionals with methods for understanding the full implications of alternative choices and their relative attractiveness in terms of enhancing system resilience. It also explores the simultaneous use of multiple models that reflect different system interpretations or stakeholder perspectives.
The book is divided in five parts: “The Beginning” describes the very early days in general, from the foundation and start-up of the university with the related processes. “The People” reports on the initial hiring of the faculty members, the selection of students, and the curriculum development. “The Activities” provide information about the creation of the single research institutions and labs, and their relation to industry. “The Future” gives an outlook on the planned internationalization and faculty strategy. Eventually, “A Visual Journey” shows a selection of photographs illustrating highlights of the whole process and the current achievements.
The processes and the components described built the basis for the development of Innopolis, and many of them still have a big impact on its present and its future. The fewer mistakes are made at the beginning, the higher the probability to fully achieve the initial goals.
In order to be successful, a Lean orientation of software development has to go hand in hand with a company’s overall business strategy. To achieve this, two interrelated aspects require special attention: measurement and experience management. In this book, Janes and Succi provide the necessary knowledge to establish “Lean software company thinking,” while also exploiting the latest approaches to software measurement. A comprehensive, company-wide measurement approach is exactly what companies need in order to align their activities to the demands of their stakeholders, to their business strategy, etc. With the automatic, non-invasive measurement approach proposed in this book, even small and medium-sized enterprises that do not have the resources to introduce heavyweight processes will be able to make their software development processes considerably more Lean.
The book is divided into three parts. Part I, “Motivation for Lean Software Development,” explains just what “Lean Production” means, why it can be advantageous to apply Lean concepts to software engineering, and which existing approaches are best suited to achieving this. Part II, “The Pillars of Lean Software Development,” presents the tools needed to achieve Lean software development: Non-invasive Measurement, the Goal Question Metric approach, and the Experience Factory. Finally, Part III, “Lean Software Development in Action,” shows how different tools can be combined to enable Lean Thinking in software development.
The book primarily addresses the needs of all those working in the field of software engineering who want to understand how to establish an efficient and effective software development process. This group includes developers, managers, and students pursuing an M.Sc. degree in software engineering.
Technology, oering tremendous opportunities for the development of Software Engineering as an independent discipline. More specifically, agile methodologies contributed to enhancing the eectiveness and the speed of the production process as well as to improving the productivity and motivations of software developers organized in high performing teams. The agile philosophy can be and has been applied in dierent contexts and across several domains. This work analyses the relationship between Agile methodologies used by software engineers and the practices pursued by musicians in their daily lives. Our findings suggests that collaborative, strongly planned software development life cycle models (such as Waterfall, V-model, iterative, and Spiral) are not adequate models to describe the daily practices of musical composers. This is because their work requires a lot of flexibility, which such models intrinsically lack, because they are oriented to ensuring some form of monitorable progress. Interestingly, our findings also show that nine out of 12 Agile Principles are consciously or unconsciously followed by musicians in their practices. This suggests that there are some deep connections between these two prima facie dierent fields, which are both very creative. Even though our findings await replication, possibly with larger statistical samples, they contribute to open up a new strand of research in the field.