Michele Marchesi

dblp:95/4944 · DBLP profile ↗
← Back
57ranked-venue papers
3as first author
5since 2021 · last 2025
0000-0003-1540-8773ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 37 · 1 first-author · 2 since 2021Databases, data management, data science and information retrieval · 6Artificial intelligence and machine learning · 5 · 2 first-authorSystems, architecture and hardware · 4 · 2 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 3Theory of computation · 1
YearPublicationVenuePosition
2025 A survey on Cryptoagility and Agile Practices in the light of quantum resistance
abstract
Context: Crypto-agility, a name that stems from agile methodologies for software development, means the ability to modify quickly and securely cryptographic algorithms in the event of a compromise. The advent of quantum computing poses existential threats to current cryptography, having the power to breach current cryptography systems. Objective: We investigated whether and to what extent agile practices for software development are suited to support crypto-agility, or not. In particular, we discuss their usefulness in the context of substituting current algorithms with quantum-resistant ones. Method: First, we analyzed the literature to define a subset of 15 agile practices potentially relevant to cryptographic software development. Then, we developed a questionnaire to assess the suitability of agile practices for obtaining crypto-agility. We performed a Web search of relevant documents about crypto-agility and quantum resistance and sent their authors the questionnaire. We also sent the questionnaire to cybersecurity officers of four Italian firms. We analyzed and discussed the responses to 32 valid questionnaires. Results: The respondents’ affiliations are evenly distributed between researchers and developers. Most of them are active, or somehow active, in quantum-resistant cryptography and use agile methods. Most of the agile practices are deemed to be quite useful, or very useful to get crypto-agility, the most effective being Continuous Integration and Coding Standards; the least appreciated is Self-organizing Team. Conclusion: According to researchers and developers working in the field, the safe transition of cryptographic algorithms to quantum-resistant ones can benefit from the adoption of many agile practices. Further software engineering research is needed to integrate agile practices in more formal cryptographic software development processes.
Lodovica Marchesi, Michele Marchesi, Roberto Tonelli
Inf. Softw. Technol.2
2022 A blockchain architecture for industrial applications
abstract
Blockchain and the programs running on it, called smart contracts, are increasingly applied in all fields where trust and strong certifications are required. Our work focuses on industrial applications of blockchains and not on cryptocurrencies or tokens. We use frameworks to compare public and permissioned blockchains specifically suited for industrial applications. We also propose a complete solution based on Ethereum to implement a decentralized application, putting together in an original way, components and patterns already used and proven. This solution is characterized by a set of validator nodes running the blockchain using Proof-of-Authority or similar efficient consensus algorithms, by the use of an explorer enabling users to check the blockchain state, and the source code of the smart contracts running on it. From time to time, the hash digest of the last mined block is written into a public blockchain to guarantee immutability. The right to send transactions is granted by validator nodes to users by endowing them with the Ethers mined locally. Overall, the proposed approach has the same transparency and immutability as a public blockchain, largely reducing its drawbacks.
Lodovica Marchesi, Michele Marchesi, Roberto Tonelli, Maria Ilaria Lunesu
Blockchain Res. Appl.2
2022 A user-oriented model for Oracles' Gas price prediction
Giuseppe Antonio Pierro, Henrique Rocha, Stéphane Ducasse, Michele Marchesi, Roberto Tonelli
Future Gener. Comput. Syst.4
2021 Raising Sustainability Awareness in Agile Blockchain-Oriented Software Engineering
abstract
This paper presents a first investigation to join agile blockchain-oriented software development principles with sustainability software design principles. The development of blockchain-oriented software should always be performed in the awareness of the potential effects generated from its use, especially in a long-term life cycle perspective. In other terms in the awareness of its present and future sustainability. By using the principles of sustainability software design and recognized the role of blockchain-oriented Agile methodologies to manage changes in technology and requirements, we present a new Agile method for the development of blockchain-oriented systems that includes sustainability awareness practices within the development phases, in particular in the requirements and the acceptance tests. This allows to deal with blockchain-oriented systems sustainability immediately and during the incremental and iterative development process. The paper describes the process in its phases and provides an example of an application to the supply chain sector.
Andrea Pinna 0002, Gavina Baralla, Michele Marchesi, Roberto Tonelli
SANER3
2021 Ensuring transparency and traceability of food local products: A blockchain application to a Smart Tourism Region
abstract
Summary This article proposes a blockchain oriented platform to guarantee the origin and provenance of food items in a Smart Tourism Region context. Local food and beverage, in fact, can become a good combination to attract tourist and to promote the area provided that their provenance is clearly certified. We designed and developed a blockchain‐based system to manage an agri‐food supply chain for tracking food items. By using smart contracts the platform guarantees transparency, efficiency and trustworthiness. Our system is particularly suitable to manage cold chain since the system interfaces with IoT network devices providing detailed information about data monitoring food such as storage temperature, environment humidity, and GPS data. All involved actors can share data and information in a more efficient, transparent, and tamper proof way than traditional systems. The final consumer can access with transparency to all the agri‐food chain of the purchased product and verify provenance by retrieving all detailed information registered in the blockchain public ledger. The proposed system has been designed according to the ABCDE method, an agile development process recently conceived, to obtain a higher software quality to design a general blockchain system by means software engineering practices. A real case study applied to local products from Sardinia, Italy, is proposed at the end of the article.
Gavina Baralla, Andrea Pinna 0002, Roberto Tonelli, Michele Marchesi, Simona Ibba
Concurr. Comput. Pract. Exp.4
2020 ABCDE - agile block chain DApp engineering
abstract
Blockchain software development is becoming more and more important for any modern software developer and IT startup. Nonetheless, blockchain software production still lacks a disciplined, organized and mature development process, as demonstrated by the many and (in)famous failures and frauds occurred in recent years. In this paper we present ABCDE, a complete method addressing blockchain software development. The method considers the software integration among the blockchain components—smart contracts, libraries, data structures—and the out-of-chain components, such as web or mobile applications, which all together constitute a complete DApp system. We advocate for ABCDE the use of agile practices, because these are suited to develop systems whose requirements are not completely understood since the beginning, or tend to change, as it is the case of most blockchain-based applications. ABCDE is based on Scrum, and is therefore iterative and incremental. From Scrum, we kept the requirement gathering with user stories, the iterative-incremental approach, the key roles, and the meetings. The main difference with Scrum is the separation of development activities in two flows—one for smart contracts and the other for out-of-chain software interacting with the blockchain—each performed iteratively, with integration activities every 2–3 iterations. ABCDE makes explicit the activities that must be performed to design, develop, test and integrate smart contracts and out-of-chain software, and documents the smart contracts using formal diagrams to help development, security assessment, and maintenance. A diagram derived from UML class diagram helps to effectively model the data structure of smart contracts, whereas the exchange of messages between the entities of the system is modeled using a modified UML sequence diagram. The proposed method has also specific activities for security assessment and gas optimization, through systematic use of patterns and checklists. ABCDE focuses on Ethereum blockchain and its Solidity language, but preserves generality and with proper modifications might be applied to any blockchain software project. ABCDE method is described in detail, and an example is given to show how to concretely implement the various development steps.
Lodovica Marchesi, Michele Marchesi, Roberto Tonelli
Blockchain Res. Appl.2
2018 Re-visiting a Test Taxonomy with Refactoring and Defect-fix Data
abstract
In a previous empirical study by Bavota et al., multiple releases of three open-source systems reported the extent to which refactorings induced defect-fixes. In a much earlier study, van Deursen and Moonen (vD&M) provided a test taxonomy in which Fowler's seventy-two refactorings were categorized according to the post refactoring test burden of each (i.e., the changes required to unit tests after each refactoring had been undertaken). A refactoring was categorized as 'Type B' if it required no change to the original tests and 'Type E' if significant changes were necessary. In this paper, we investigate nine refactorings spread across vD&M's taxonomy and the corresponding defect-fix data provided by Bavota et al., to explore the relationship between defect-fixes due to refactoring and vD&M's taxonomy. Results showed that, in contrast to our intuition, the most defect-fix prone refactorings were of Types C and D and not, as we thought, of Type E. The 'Extract method' refactoring stood out as particularly 'defect-fix' inducing, suggesting that while it may solve one problem (i.e., in decomposing an excessively long method), it may well introduce other problems and required defect-fixes as a by-product.
Steve Counsell, Stephen Swift, Roberto Tonelli, Michele Marchesi, Michael Felderer
SEAA4
2018 ICOs Overview: Should Investors Choose an ICO Developed with the Lean Startup Methodology?
abstract
Abstract An Initial Coin Offering (ICO) is an innovative way to raise funds and launch a startup. It is also an opportunity to take part in a project, or in a DAO (Decentralized Autonomous Organization). The use of ICO is a global phenomenon that involves many nations and several business categories: ICOs collected over 5.2 billion dollars only in 2017. The success of an ICO is based on the credibility and innovativeness of project proposals. This fund-raising tool contains however some critical issues, such as the use of tokens that have no intrinsic value and do not generate direct liquidity, and the role of investors in the management of the startup. We analyzed if the Lean Startup methodology is helpful to face this critical aspects and we examined some ICOs in which the proposing team states explicitly that a lean startup approach is used.
Simona Ibba, Andrea Pinna 0002, Gavina Baralla, Michele Marchesi
XP4
2018 A Petri Nets Model for Blockchain Analysis
abstract
A Blockchain is a global shared infrastructure where cryptocurrency transactions among addresses are recorded, validated and made publicly available in a peer-to-peer network. To date, the best known and important cryptocurrency is the bitcoin. In this paper, we focus on this cryptocurrency and in particular on the modeling of the Bitcoin Blockchain by using the Petri Nets formalism. The proposed model allows us to quickly collect information about identities owning Bitcoin addresses and to recover measures and statistics on the Bitcoin network. By exploiting algebraic formalism, we reconstructed an Entities network associated to Blockchain transactions gathering together Bitcoin addresses into the single entity holding permits to manage Bitcoins held by those addresses. The model allows also to identify a set of behaviors typical of Bitcoin owners, like that of using an address only once, and to reconstruct chains for this behavior together with the rate of firing. Our model is highly flexible and can easily be adapted to include different features of the Bitcoin cryptocurrency system. By exploiting algebraic formalism, we reconstructed an Entities network associated to Blockchain transactions gathering together Bitcoin addresses into the single entity holding permits to manage Bitcoins held by those addresses. The model allows also to identify a set of behaviors typical of Bitcoin owners, like that of using an address only once, and to reconstruct chains for this behavior together with the rate of firing. Our model is highly flexible and can easily be adapted to include different features of the Bitcoin cryptocurrency system.
Andrea Pinna 0002, Roberto Tonelli, Matteo Orrù, Michele Marchesi
Comput. J.4
2018 Using simulation for understanding and reproducing distributed software development processes in the cloud
abstract
Context: Organizations increasingly develop software in a distributed manner. The Cloud provides an environment to create and maintain software-based products and services. Currently, it is unknown which software processes are suited for Cloud-based development and what their effects in specific contexts are. Objective: We aim at better understanding the software process applied to distributed software development using the Cloud as development environment. We further aim at providing an instrument, which helps project managers comparing different solution approaches and to adapt team processes to improve future project activities and outcomes. Method: We provide a simulation model, which helps analyzing different project parameters and their impact on projects performed in the Cloud. To evaluate the simulation model, we conduct different analyses using a Scrumban process and data from a project executed in Finland and Spain. An extra adaptation of the simulation model for Scrum and Kanban was used to evaluate the suitability of the simulation model to cover further process models. Results: A comparison of the real project data with the results obtained from the different simulation runs shows the simulation producing results close to the real data, and we could successfully replicate a distributed software project. Furthermore, we could show that the simulation model is suitable to address further process models. Conclusion: The simulator helps reproducing activities, developers, and events in the project, and it helps analyzing potential tradeoffs, e.g., regarding throughput, total time, project size, team size and work-in-progress limits. Furthermore, the simulation model supports project managers selecting the most suitable planning alternative thus supporting decision-making processes.
Maria Ilaria Lunesu, Jürgen Münch, Michele Marchesi, Marco Kuhrmann
Inf. Softw. Technol.3
2017 Using measurement and simulation for understanding distributed development processes in the cloud
abstract
Organizations increasingly develop software in a distributed manner. The Cloud provides an environment to create and maintain software-based products and services. Currently, it is widely unknown which software processes are suited for Cloud-based development and what their effects in specific contexts are. This paper presents a process simulation to study distributed development in the Cloud. We contribute a simulation model, which helps analyzing different project parameters and their impact on projects carried out in the Cloud. The simulator helps reproducing activities, developers, issues and events in the project, and it generates statistics, e.g., on throughput, total time, and lead and cycle time. The aim of this simulation model is thus to analyze the tradeoffs regarding throughput, total time, project size, and team size. Furthermore, the modified simulation model aims to help project managers select the most suitable planning alternative. Based on observed projects in Finland and Spain, we simulated a distributed project using artificial and real data. Particularly, we studied the variables project size, team size, throughput, and total project duration. A comparison of the real project data with the results obtained from the simulation shows the simulation producing results close to the real data, and we could successfully replicate a distributed software project. By improving the understanding of distributed development processes, our simulation model thus supports project managers in their decision-making.
Maria Ilaria Lunesu, Michele Marchesi, Jürgen Münch, Marco Kuhrmann
IWSM-Mensura2
2017 Software Quality and Community Structure in Java Software Networks
abstract
We present a study of 600 Java software networks with the aim of characterizing the relationship among their defectiveness and community metrics. We analyze the community structure of such networks, defined as their topological division into subnetworks of densely connected nodes. A high density of connections represents a higher level of cooperation between classes, so a well-defined division in communities could indicate that the software system has been designed in a modular fashion and all its functionalities are well separated. We show how the community structure can be an indicator of well-written, high quality code by retrieving the communities of the analyzed systems and by ranking their division in communities through the built-in metric called modularity. We found that the software systems with highest modularity possess the majority of bugs, and tested whether this result is related to some confounding effect. We found two power laws relating the maximum defect density with two different metrics: the number of detected communities inside a software network and the clustering coefficient. We finally found a linear correlation between clustering coefficient and number of communities. Our results can be used to make predictive hypotheses about software defectiveness of future releases of the analyzed systems.
Giulio Concas, Michele Marchesi, Cristina Monni, Matteo Orrù, Roberto Tonelli
Int. J. Softw. Eng. Knowl. Eng.2
2016 The emotional side of software developers in JIRA
abstract
Issue tracking systems store valuable data for testing hypotheses concerning maintenance, building statistical prediction models and (recently) investigating developer affectiveness. For the latter, issue tracking systems can be mined to explore developers emotions, sentiments and politeness---affects for short. However, research on affect detection in software artefacts is still in its early stage due to the lack of manually validated data and tools.
Marco Ortu, Alessandro Murgia, Giuseppe Destefanis, Parastou Tourani, Roberto Tonelli, Michele Marchesi, Bram Adams
MSR6
2016 Arsonists or Firefighters? Affectiveness in Agile Software Development
abstract
In this paper, we present an analysis of more than 500 K comments from open-source repositories of software systems developed using agile methodologies. Our aim is to empirically determine how developers interact with each other under certain psychological conditions generated by politeness, sentiment and emotion expressed within developers’ comments. Developers involved in an open-source projects do not usually know each other; they mainly communicate through mailing lists, chat, and tools such as issue tracking systems. The way in which they communicate affects the development process and the productivity of the people involved in the project. We evaluated politeness, sentiment and emotions of comments posted by agile developers and studied the communication flow to understand how they interacted in the presence of impolite and negative comments (and vice versa ). Our analysis shows that “firefighters” prevail. When in presence of impolite or negative comments, the probability of the next comment being impolite or negative is 13 % and 25 %, respectively; ANGER however, has a probability of 40 % of being followed by a further ANGER comment. The result could help managers take control the development phases of a system, since social aspects can seriously affect a developer’s productivity. In a distributed agile environment this may have a particular resonance.
Marco Ortu, Giuseppe Destefanis, Steve Counsell, Stephen Swift, Roberto Tonelli, Michele Marchesi
XP6
2015 How Do Python Programs Use Inheritance? A Replication Study
abstract
In this work we present an empirical study on the use of inheritance in a curated corpus of Python systems. Replicating a study preformed on Java, we analyzed a collection of 51 software systems written in Python, and investigated how inheritance is effectively used by Python developers in practice through a convenient set of inheritance metrics. Our results suggest that on average fewer classes inherit from other classes than in Java, but more classes are inherited from. We also see a sort of symmetry relating the number of ancestors and the number of descendants in each system.
Matteo Orrù, Ewan D. Tempero, Michele Marchesi, Roberto Tonelli
APSEC3
2015 Is Bitcoin's Market Predictable? Analysis of Web Search and Social Media
Martina Matta, Maria Ilaria Lunesu, Michele Marchesi
IC3K3
2015 Are Bullies More Productive? Empirical Study of Affectiveness vs. Issue Fixing Time
abstract
Human Affectiveness, i.e., The emotional state of a person, plays a crucial role in many domains where it can make or break a team's ability to produce successful products. Software development is a collaborative activity as well, yet there is little information on how affectiveness impacts software productivity. As a first measure of this impact, this paper analyzes the relation between sentiment, emotions and politeness of developers in more than 560K Jira comments with the time to fix a Jira issue. We found that the happier developers are (expressing emotions such as JOY and LOVE in their comments), the shorter the issue fixing time is likely to be. In contrast, negative emotions such as SADNESS, are linked with longer issue fixing time. Politeness plays a more complex role and we empirically analyze its impact on developers' productivity.
Marco Ortu, Bram Adams, Giuseppe Destefanis, Parastou Tourani, Michele Marchesi, Roberto Tonelli
MSR5
2015 Would you mind fixing this issue? - An Empirical Analysis of Politeness and Attractiveness in Software Developed Using Agile Boards
Marco Ortu, Giuseppe Destefanis, Mohamad Kassab, Steve Counsell, Michele Marchesi, Roberto Tonelli
XP5
2015 Web framework points: an effort estimation methodology for Web application development using a content management framework
abstract
Abstract Web applications are among the most popular and relevant kinds of application. Most Web applications are developed using a content management framework (CMF). CMF helps to accelerate the publication of large amounts of information and the development of Web applications. However, developing Web applications through CMF is not exempt from cost and time overruns, as in traditional software projects. Currently, there is no estimation model able to adequately measure the effort of developing a Web application. This work presents a new methodology, called web framework points, to estimate the effort of Web applications developed with CMF. Web framework points is a hybrid methodology, composed of a sizing phase, which follows specific guidelines, and an effort estimation phase, obtained by applying a cost model to the size model of the project to estimate. The sizing of the project takes into account not only usual functional requirements, as in function points analysis, but also elements specific for developing a Web application through CMF. We also present the experimental validation of the proposed methodology, performed on a dataset of 29 real‐world projects, of which 83% show an estimation error of less than 25%. Copyright © 2015 John Wiley & Sons, Ltd.
Giulio Barabino, Giulio Concas, Erika Corona, Daniele Grechi, Michele Marchesi, Danilo Tigano
J. Softw. Evol. Process.5
2014 System performance analyses through object-oriented fault and coupling prisms
abstract
A fundamental aspect of a system's performance over time is the number of faults it generates. The relationship between the software engineering concept of "coupling" (i.e., the degree of inter-connectedness of a system's components) and faults is still a research question attracting attention and a relationship with strong implications for performance; excessive coupling is generally acknowledged to contribute to fault-proneness. In this paper, we explore the relationship between faults and coupling. Two releases from each of three open-source Eclipse projects (six releases in total) were used as an empirical basis and coupling and fault data extracted from those systems. A contrasting coupling profile between fault-free and fault-prone classes was observed and this result was statistically supported. Object-oriented (OO) classes with low values of fan-in (incoming coupling) and fan-out (outgoing coupling) appeared to support fault-free classes, while classes with high fan-out supported relatively fault-prone classes. We also considered size as an influence on fault-proneness. The study thus emphasizes the importance of minimizing coupling where possible (and particularly that of fan-out); failing to control coupling may store up problems for later in a system's life; equally, controlling class size should be a concomitant goal.
Alessandro Murgia, Roberto Tonelli, Michele Marchesi, Giulio Concas, Steve Counsell, Stephen Swift
ICPE3
2013 4th international workshop on emerging trends in software metrics (WETSoM 2013)
abstract
The International Workshop on Emerging Trends in Software Metrics aims at gathering together researchers and practitioners to discuss the progress of software metrics. The motivation for this workshop is the low impact that software metrics has on current software development. The goals of this workshop includes critically examining the evidence for the effectiveness of existing metrics and identifying new directions for metrics. Evidence for existing metrics includes how the metrics have been used in practice and studies showing their effectiveness. Identifying new directions includes use of new theories, such as complex network theory, on which to base metrics.
Steve Counsell, Michele Marchesi, Ewan D. Tempero, Corrado Aaron Visaggio
ICSE2
2013 Micro Patterns in Agile Software
Giulio Concas, Giuseppe Destefanis, Michele Marchesi, Marco Ortu, Roberto Tonelli
XP3
2013 Entropy of some CK Metrics to Assess Object-Oriented Software Quality
abstract
The term "software entropy" refers to the tendency for software, over time, to become difficult and costly to maintain. A software system that undergoes continuous change, such as having new functionality added to its original design, will eventually become more complex and can become disorganized as it grows, losing its original design structure. A recent study show that software degradation may be measured using the WMC expressed in terms of Shannon entropy. In this paper we extended the empirical analyses also to RFC and CBO since these CK metrics have been shown to be correlated with fault-proneness of OO classes. We analyzed various releases of the publicly available Eclipse and Netbeans software systems, calculating the entropy of some CK metrics for every release analyzed. The validity is shown through a direct measure of software quality such as the number of detected defects. Our results display a very good correlation between the entropy of CBO and RFC and the number of bugs for Eclipse and Netbeans. Complexity and quality metrics are in general computed on every system module while the entropy is just a scalar number that characterizes a whole system, this result suggests that the entropy of some CK metrics could be considered as a global quality metric for large software systems. Our results need, however, to be confirmed for other large software systems.
Ivana Turnu, Giulio Concas, Michele Marchesi, Roberto Tonelli
Int. J. Softw. Eng. Knowl. Eng.3
2013 The fractal dimension of software networks as a global quality metric
Ivana Turnu, Giulio Concas, Michele Marchesi, Roberto Tonelli
Inf. Sci.3
2013 Simulation of software maintenance process, with and without a work-in-process limit
abstract
SUMMARY A software maintenance process is important for reducing maintenance effort and for improving software quality. In recent years, the Lean–Kanban approach has been widely applied in software practice including software maintenance. This approach minimizes Work‐in‐Progress (WIP), which is the number of items that are worked on by the team at any given time, thus improving the maintenance process. In this paper, we describe our simulation studies, which show that the Lean–Kanban approach can indeed help reduce the average time needed to complete maintenance requests. We develop a process simulator that can simulate both existing maintenance processes that do not use a WIP limit and that adopt it. We perform two case studies using real maintenance data collected from a Microsoft project and from a Chinese software firm. The main results of our study are twofold. First, we demonstrate that it is possible to effectively model and simulate, using actors and events, a maintenance process where a flow of issues is processed through a sequence of activities, correctly reproducing key statistics of real data. Second, our results confirm that the WIP‐limited process could be useful to increase the efficiency of software maintenance, as reported in previous industrial practices. Copyright © 2013 John Wiley & Sons, Ltd.
Giulio Concas, Maria Ilaria Lunesu, Michele Marchesi, Hongyu Zhang 0002
J. Softw. Evol. Process.3
2012 Effort Estimation of Web Applications through Web CMF Objects
abstract
Several Content Management Frameworks (CMF), either open source or with a commercial license, are available to help the publication of huge amounts of information and to develop Web applications. Unfortunately, developing Web applications through a CMF is not exempt from cost and time overruns, as in traditional software projects, and currently there is no estimation model able to adequately measure the effort of Web application development. This work presents a new methodology for estimating the effort of Web applications developed with a Content Management Framework (CMF). We present the new key elements for analysis and planning, needed to define every important step in developing a Web application through a CMF. Using those elements, it is possible to estimate the effort needed to build such an application in man-days. We also present the experimental validation of the proposed methodology performed on a 9-project dataset, provided by three different Italian software companies.
Erika Corona, Giulio Concas, Michele Marchesi, Giulio Barabino, Daniele Grechi
IWSM/Mensura3
2012 A Comparative Study of Scrum and Kanban Approaches on a Real Case Study Using Simulation
David J. Anderson, Giulio Concas, Maria Ilaria Lunesu, Michele Marchesi, Hongyu Zhang 0002
XP4
2012 An Empirical Study of Software Metrics for Assessing the Phases of an Agile Project
abstract
We present an analysis of the evolution of a Web application project developed with object-oriented technology and an agile process. During the development we systematically performed measurements on the source code, using software metrics that have been proved to be correlated with software quality, such as the Chidamber and Kemerer suite and Lines of Code metrics. We also computed metrics derived from the class dependency graph, including metrics derived from Social Network Analysis. The application development evolved through phases, characterized by a different level of adoption of some key agile practices — namely pair programming, test-based development and refactoring. The evolution of the metrics of the system, and their behavior related to the agile practices adoption level, is presented and discussed. We show that, in the reported case study, a few metrics are enough to characterize with high significance the various phases of the project. Consequently, software quality, as measured using these metrics, seems directly related to agile practices adoption.
Giulio Concas, Michele Marchesi, Giuseppe Destefanis, Roberto Tonelli
Int. J. Softw. Eng. Knowl. Eng.2
2011 Studying Lean-Kanban Approach Using Software Process Simulation
David J. Anderson, Giulio Concas, Maria Ilaria Lunesu, Michele Marchesi
XP4
2011 Simulating Kanban and Scrum vs. Waterfall with System Dynamics
Luisanna Cocco, Katiuscia Mannaro, Giulio Concas, Michele Marchesi
XP4
2011 A modified Yule process to model the evolution of some object-oriented system properties
Ivana Turnu, Giulio Concas, Michele Marchesi, Sandro Pinna, Roberto Tonelli
Inf. Sci.3
2011 On the Distribution of Bugs in the Eclipse System
abstract
The distribution of bugs in software systems has been shown to satisfy the Pareto principle, and typically shows a power-law tail when analyzed as a rank-frequency plot. In a recent paper, Zhang showed that the Weibull cumulative distribution is a very good fit for the Alberg diagram of bugs built with experimental data. In this paper, we further discuss the subject from a statistical perspective, using as case studies five versions of Eclipse, to show how log-normal, Double-Pareto, and Yule-Simon distributions may fit the bug distribution at least as well as the Weibull distribution. In particular, we show how some of these alternative distributions provide both a superior fit to empirical data and a theoretical motivation to be used for modeling the bug generation process. While our results have been obtained on Eclipse, we believe that these models, in particular the Yule-Simon one, can generalize to other software systems.
Giulio Concas, Michele Marchesi, Alessandro Murgia, Roberto Tonelli, Ivana Turnu
IEEE Trans. Software Eng.2
2010 A machine learning approach for text categorization of fixing-issue commits on CVS
abstract
We studied data mining from CVS repositories of two large OO projects, Eclipse and Netbeans, focusing on "fixing-issue" commits.
Alessandro Murgia, Giulio Concas, Michele Marchesi, Roberto Tonelli
ESEM3
2010 Workshop on Emerging Trends in Software Metrics (WETSoM 2010)
abstract
The Workshop on Emerging Trends in Software Metrics aims at bringing together researchers and practitioners to discuss the progress of software metrics. The motivation for this workshop is the low impact that software metrics has on current software development. The goals of this workshop are to critically examine the evidence for the effectiveness of existing metrics and to identify new directions for development of software metrics.
Gerardo Canfora, Giulio Concas, Michele Marchesi, Ewan D. Tempero, Hongyu Zhang 0002
ICSE (2)3
2008 A Dynamic Model of Software Product Generative Process
abstract
We analyze the process of software development for large, object oriented, open source software systems. Such systems may be described as complex networks when suitable variables are properly identified. In particular we model the system growth through a Yule process which enable us to fit data extracted from freely available repositories. We consider quantities related to relevant properties of the software system itself, like methods names, instance variable names, number of subclasses of each class. As opposite to a plain analysis of a final product, we perform a dynamic analysis of the product evolution, since we look at how system properties change during the development along different releases. The final goal is to detect statistical features that may be related to software dependability.
Giulio Concas, Michele Marchesi, Sandro Pinna, Roberto Tonelli, Ivana Turnu
APSEC2
2008 Study of the Evolution of an Agile Project Featuring a Web Application Using Software Metrics
Giulio Concas, Marco Di Francesco, Michele Marchesi, Roberta Quaresima, Sandro Pinna
PROFES3
2008 An Agile Development Process and Its Assessment Using Quantitative Object-Oriented Metrics
Giulio Concas, Marco Di Francesco, Michele Marchesi, Roberta Quaresima, Sandro Pinna
XP3
2007 Distributed Scrum in Research Project Management
Michele Marchesi, Katiuscia Mannaro, Selene Uras, Mario Locci
XP1
2007 Agile Practices in a Large Organization: The Experience of Poste Italiane
Mauro Sulfaro, Michele Marchesi, Sandro Pinna
XP2
2007 Communication Flow in Open Source Projects: An Analysis of Developers' Mailing Lists
Selene Uras, Giulio Concas, Manuela Lisci, Michele Marchesi, Sandro Pinna
XP4
2007 Power-Laws in a Large Object-Oriented Software System
abstract
We present a comprehensive study of an implementation of the Smalltalk object oriented system, one of the first and purest object-oriented programming environment, searching for scaling laws in its properties. We study ten system properties, including the distributions of variable and method names, inheritance hierarchies, class and method sizes, system architecture graph. We systematically found Pareto - or sometimes log-normal - distributions in these properties. This denotes that the programming activity, even when modeled from a statistical perspective, can in no way be simply modeled as a random addition of independent increments with finite variance, but exhibits strong organic dependencies on what has been already developed. We compare our results with similar ones obtained for large Java systems, reported in the literature or computed by ourselves for those properties never studied before, showing that the behavior found is similar in all studied object oriented systems. We show how the Yule process is able to stochastically model the generation of several of the power-laws found, identifying the process parameters and comparing theoretical and empirical tail indexes. Lastly, we discuss how the distributions found are related to existing object-oriented metrics, like Chidamber and Kemerer's, and how they could provide a starting point for measuring the quality of a whole system, versus that of single classes. In fact, the usual evaluation of systems based on mean and standard deviation of metrics can be misleading. It is more interesting to measure differences in the shape and coefficients of the data?s statistical distributions.
Giulio Concas, Michele Marchesi, Sandro Pinna, Nicola Serra
IEEE Trans. Software Eng.2
2006 Studying the Evolution of Quality Metrics in an Agile/Distributed Project
Walter Ambu, Giulio Concas, Michele Marchesi, Sandro Pinna
XP3
2006 Preface
Ernesto Damiani, Michele Marchesi, Giancarlo Succi
J. Syst. Archit.2
2005 A hybrid genetic-neural architecture for stock indexes forecasting
Giuliano Armano, Michele Marchesi, Andrea Murru
Inf. Sci.2
2004 Empirical Analysis on the Satisfaction of IT Employees Comparing XP Practices with Other Software Development Methodologies
Katiuscia Mannaro, Marco Melis, Michele Marchesi
XP3
2003 A Ontology-based Process Modelling for XP
abstract
We describe the Extreme Programming Ontology (XPO), a formal model specifying the main concepts used in the extreme programming methodology and their properties. XPO's modular structure was developed using the usual normative top down approach to software engineering process modeling. It relies on a set of core components rooted in three main concepts: organisational role, product and phase. Besides being useful for indexing relevant documents and XP artifacts such as user stories and Wiki pages, XPO is aimed at being a sound basis for nonintrusive analysis of agile processes, mining process data about programmers activity and repositories content in order to extract new concepts potentially identifying critical factors in agile software development. Extension to XPO are also discussed, including other agile methodologies and more general software engineering concepts.
Paolo Ceravolo, Ernesto Damiani, Michele Marchesi, Sandro Pinna, Francesco Zavatarelli
APSEC3
2003 XPSwiki: An Agile Tool Supporting the Planning Game
Sandro Pinna, Simone Mauri, Paolo Lorrai, Michele Marchesi, Nicola Serra
XP4
1999 A Neural Network Diagnosis Approach for Analog Circuits
Alessandra Fanni, Alessandro Giua, Michele Marchesi, Augusto Montisci
Appl. Intell.3
1998 Neural networks for power system condition monitoring and protection
Barbara Cannas, Gianni Celli, Michele Marchesi, Fabrizio Pilo
Neurocomputing3
1993 Fast neural networks without multipliers
abstract
Multilayer perceptrons (MLPs) with weight values restricted to powers of two or sums of powers of two are introduced. In a digital implementation, these neural networks do not need multipliers but only shift registers when computing in forward mode, thus saving chip area and computation time. A learning procedure, based on backpropagation, is presented for such neural networks. This learning procedure requires full real arithmetic and therefore must be performed offline. Some test cases are presented, concerning MLPs with hidden layers of different sizes, on pattern recognition problems. Such tests demonstrate the validity and the generalization capability of the method and give some insight into the behavior of the learning algorithm.
Michele Marchesi, Gianni Orlandi, Francesco Piazza, Aurelio Uncini
IEEE Trans. Neural Networks1
1991 Non linear satellite radio links equalized using blind neural networks
abstract
After an ad hoc extension of the multilayer perceptron model to complex signals, a blind neural network equalizer is proposed. Several experimental results are also reported which prove the effectiveness of this approach for equalizing a digital satellite radio channel in the presence of mild nonlinearities and intersymbol interference. Moreover, the proposed method works without any knowledge about the nonlinear nature of the channel.>
Nevio Benvenuto, Michele Marchesi, Francesco Piazza, Aurelio Uncini
ICASSP2
1990 Results on the application of simulated annealing algorithm for the design of digital filters with powers-of-two coefficients
abstract
Results on the application of the simulated annealing (SA) algorithm to the problem of finding the coefficients of a digital filter with very coarse coefficients values (namely, power-of-two) are presented. For a minimax criterion in the frequency response, the algorithm was found particularly useful for designing a cascade-form FIR (finite impulse response) filter whose performance is known to be superior to that of direct-form filters. Because the SA algorithm is a global optimization method, all stages are designed simultaneously, thus avoiding the classical iterative procedure. The final result is better performance at a higher computational cost.>
Nevio Benvenuto, Michele Marchesi, Aurelio Uncini
ICASSP2
1990 Multi-layer perceptrons with discrete weights
abstract
The feasibility of restricting the weight values in multilayer perceptrons to powers of two or sums of powers of two is studied. Multipliers could be thus replaced by shifters and adders on digital hardware, saving both time and chip area, under the assumption that the neuron activation function is computed through a lookup table (LUT) and that a LUT can be shared among many neurons. A learning procedure based on back-propagation for obtaining a neural network with such discrete weights is presented. This learning procedure requires full real arithmetic and therefore must be performed offline. It starts from a multilayer perceptron with continuous weights learned using back-propagation. Then a weight normalization is made to ensure that the whole shifting dynamics is used and to maximize the match between continuous and discrete weights of neurons sharing the same LUT. Finally, a discrete version of BP algorithm with automatic learning rate control is applied up to convergence. Some test runs on a simple pattern recognition problem show the feasibility of the approach
Michele Marchesi, Gianni Orlandi, Francesco Piazza, L. Pollonara, Aurelio Uncini
IJCNN1
1990 Improved evoked potential estimation using neural network
abstract
The possibility of using the multilayer perceptron (MLP) neural network for the processing of the evoked potentials (EPs) is analyzed. In this case, the process can be conceived as deterministic low amplitude signals (damped sine waves), corresponding to the brain's response to stimuli, embedded in strongly colored noise, the EEG background activity. Typical values of the signal-to-noise ratio are less than 0 dB. The network, used as a nonlinear filter, is trained using iteratively as the input signal one of a set of available EP ensembles and as the target signal another ensemble of the same set. Experimental results, both on synthetic and real data, show that the method provides good results with very few EP ensembles. Therefore, it allows a noteworthy reduction of the signal nonstationarity and the patient's annoyance
Aurelio Uncini, Michele Marchesi, Gianni Orlandi, Francesco Piazza
IJCNN2
1989 Finite wordlength digital filter design using an annealing algorithm
abstract
A very versatile algorithm for the design of finite-wordlength filters is described. It is a simulated annealing algorithm, derived directly from the simulated annealing algorithm for functions of continuous variables which searches over discrete values of the filter coefficients. It has very fast development time and produces filters with good performances. Its only drawback is a very long execution time. Three examples of filter design are included.>
Nevio Benvenuto, Michele Marchesi, Gianni Orlandi, Francesco Piazza, Aurelio Uncini
ICASSP2
1987 Minimizing multimodal functions of continuous variables with the "simulated annealing" algorithm
abstract
A new global optimization algorithm for functions of continuous variables is presented, derived from the “Simulated Annealing” algorithm recently introduced in combinatorial optimization. The algorithm is essentially an iterative random search procedure with adaptive moves along the coordinate directions. It permits uphill moves under the control of a probabilistic criterion, thus tending to avoid the first local minima encountered. The algorithm has been tested against the Nelder and Mead simplex method and against a version of Adaptive Random Search. The test functions were Rosenbrock valleys and multiminima functions in 2,4, and 10 dimensions. The new method proved to be more reliable than the others, being always able to find the optimum, or at least a point very close to it. It is quite costly in term of function evaluations, but its cost can be predicted in advance, depending only slightly on the starting point.
Angelo Corana, Michele Marchesi, Claudio Martini, Sandro Ridella
ACM Trans. Math. Softw.2
1985 A module for improving data access and management in an integrated CAD environment
abstract
A modular system is presented for handling design data, centered around the relational DBMS Ingres, taking advantage of a very careful database schema generation and of the use of software modules to comply with the specific requirements of design data.
G. P. Barabino, G. S. Barabino, G. Bisio, Michele Marchesi
DAC4