Federica Sarro | University College London (original) (raw)

Papers by Federica Sarro

Research paper thumbnail of A Genetic Algorithm to Configure Support Vector Machines for Predicting Fault-Prone Components

In some studies, Support Vector Machines (SVMs) have been turned out to be promising for predicti... more In some studies, Support Vector Machines (SVMs) have been turned out to be promising for predicting fault-prone software components. Nevertheless , the performance of the method depends on the setting of some parameters. To address this issue, we propose the use of a Genetic Algorithm (GA) to search for a suitable configuration of SVMs parameters that allows us to obtain optimal prediction performance. The approach has been assessed carrying out an empirical analysis based on jEdit data from the PROMISE repository. We analyzed both the inter-and the intra-release performance of the proposed method. As benchmarks we exploited SVMs with Grid-search and several other machine learning techniques. The results show that the proposed approach let us to obtain an improvement of the performance with an increasing of the Recall measure without worsening the Precision one. This behavior was especially remarkable for the inter-release use with respect to the other prediction techniques.

Research paper thumbnail of Evaluation of estimation models using the Minimum Interval of Equivalence

Definition of a new measure for evaluating estimation models.The measure is based on the concept ... more Definition of a new measure for evaluating estimation models.The measure is based on the concept of Equivalence Hypothesis Testing.Application of the measure to estimations by different soft computing methods.Construction of probability intervals for each estimation method.Genetic programming and linear regression provide the best intervals.This article proposes a new measure to compare soft computing methods for software estimation. This new measure is based on the concepts of Equivalence Hypothesis Testing (EHT). Using the ideas of EHT, a dimensionless measure is defined using the Minimum Interval of Equivalence and a random estimation. The dimensionless nature of the metric allows us to compare methods independently of the data samples used.The motivation of the current proposal comes from the biases that other criteria show when applied to the comparison of software estimation methods. In this work, the level of error for comparing the equivalence of methods is set using EHT. Several soft computing methods are compared, including genetic programming, neural networks, regression and model trees, linear regression (ordinary and least mean squares) and instance-based methods. The experimental work has been performed on several publicly available datasets.Given a dataset and an estimation method we compute the upper point of Minimum Interval of Equivalence, MIEu, on the confidence intervals of the errors. Afterwards, the new measure, MIEratio, is calculated as the relative distance of the MIEu to the random estimation.Finally, the data distributions of the MIEratios are analysed by means of probability intervals, showing the viability of this approach. In this experimental work, it can be observed that there is an advantage for the genetic programming and linear regression methods by comparing the values of the intervals.

Research paper thumbnail of Feature lifecycles as they spread, migrate, remain, and die in App Stores

2015 IEEE 23rd International Requirements Engineering Conference (RE), 2015

We introduce a theoretical characterisation of feature lifecycles in app stores, to help app deve... more We introduce a theoretical characterisation of feature lifecycles in app stores, to help app developers to identify trends and to find undiscovered requirements. To illustrate and motivate app feature lifecycle analysis, we use our theory to empirically analyse the migratory and non-migratory behaviours of 4,053 non-free features from two App Stores (Samsung and BlackBerry). The results reveal that, in both stores, intransitive features (those that neither migrate nor die out) exhibit significantly different behaviours with regard to important properties, such as their price. Further correlation analysis also highlights differences between trends relating price, rating, and popularity.

Research paper thumbnail of Inferring Test Models from Kate’s Bug Reports Using Multi-objective Search

Lecture Notes in Computer Science, 2015

Research paper thumbnail of An Approach for the Development of DOOH-oriented Information Systems

In Filipe J and Cordeiro J Iceis Scitepress, 2010

Research paper thumbnail of The App Sampling Problem for App Store Mining

2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, 2015

Many papers on App Store Mining are susceptible to the App Sampling Problem, which exists when on... more Many papers on App Store Mining are susceptible to the App Sampling Problem, which exists when only a subset of apps are studied, resulting in potential sampling bias. We introduce the App Sampling Problem, and study its effects on sets of user review data. We investigate the effects of sampling bias, and techniques for its amelioration in App Store Mining and Analysis, where sampling bias is often unavoidable. We mine 106,891 requests from 2,729,103 user reviews and investigate the properties of apps and reviews from 3 different partitions: the sets with fully complete review data, partially complete review data, and no review data at all. We find that app metrics such as price, rating, and download rank are significantly different between the three completeness levels. We show that correlation analysis can find trends in the data that prevail across the partitions, offering one possible approach to App Store Analysis in the presence of sampling bias.

Research paper thumbnail of Exact Mean Absolute Error of Baseline Predictor, MARP0

Information and Software Technology, 2016

Research paper thumbnail of Web Effort Estimation: Function Point Analysis vs. COSMIC

Information and Software Technology, 2016

Research paper thumbnail of From Function Points to COSMIC - A Transfer Learning Approach for Effort Estimation

Lecture Notes in Computer Science, 2015

Research paper thumbnail of Using Web Objects for Development Effort Estimation of Web Applications: A Replicated Study

In Lecture Notes in Computer Science, 2011

The spreading of Web applications has motivated the definition of size measures suitable for such... more The spreading of Web applications has motivated the definition of size measures suitable for such kind of software systems. Among the proposals existing in the literature, Web Objects were conceived by Reifer specifically for Web applications as an extension of Function Points. In this paper we report on an empirical analysis we performed exploiting 25 Web applications developed by an Italian software company. The results confirm the ones obtained in a previous study and extend them in several aspects, showing the robustness of the measure with respect to the size and technologies of the applications, and to the employed estimation techniques.

Research paper thumbnail of Investigating Functional and Code Size Measures for Mobile Applications: A Replicated Study

Lecture Notes in Computer Science, 2015

Research paper thumbnail of The plastic surgery hypothesis

In Proceedings of the 22 Textnd International Symposium on the Foundations of Software Engineering, Nov 11, 2014

Recent work on genetic-programming-based approaches to automatic program patching have relied on ... more Recent work on genetic-programming-based approaches to automatic program patching have relied on the insight that the content of new code can often be assembled out of fragments of code that already exist in the code base. This insight has been dubbed the plastic surgery hypothesis; successful, well-known automatic repair tools such as GenProg rest on this hypothesis, but it has never been validated. We formalize and validate the plastic surgery hypothesis and empirically measure the extent to which raw material for changes actually already exists in projects. In this paper, we mount a large-scale study of several large Java projects, and examine a history of 15,723 commits to determine the extent to which these commits are graftable, i.e., can be reconstituted from existing code, and find an encouraging degree of graftability, surprisingly independent of commit size and type of commit. For example, we find that changes are 43% graftable from the exact version of the software being changed. With a view to investigating the difficulty of finding these grafts, we study the abundance of such grafts in three possible sources: the immediately previous version, prior history, and other projects. We also examine the contiguity or chunking of these grafts, and the degree to which grafts can be found in the same file. Our results are quite promising and suggest an optimistic future for automatic program patching methods that search for raw material in already extant code in the project being patched.

Research paper thumbnail of How to Make Best Use of Cross-Company Data for Web Effort Estimation?

2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 2015

Research paper thumbnail of Investigating Functional and Code Size Measures for Mobile Applications

2015 41st Euromicro Conference on Software Engineering and Advanced Applications, 2015

Research paper thumbnail of App store mining and analysis

Proceedings of the 3rd International Workshop on Software Development Lifecycle for Mobile - DeMobile 2015, 2015

Research paper thumbnail of Not going to take this anymore: Multi-objective overtime planning for Software Engineering projects

2013 35th International Conference on Software Engineering (ICSE), 2013

Software Engineering and development is wellknown to suffer from unplanned overtime, which causes... more Software Engineering and development is wellknown to suffer from unplanned overtime, which causes stress and illness in engineers and can lead to poor quality software with higher defects. In this paper, we introduce a multi-objective decision support approach to help balance project risks and duration against overtime, so that software engineers can better plan overtime. We evaluate our approach on 6 real world software projects, drawn from 3 organisations using 3 standard evaluation measures and 3 different approaches to risk assessment. Our results show that our approach was significantly better (p < 0.05) than standard multi-objective search in 76% of experiments (with high Cohen effect size in 85% of these) and was significantly better than currently used overtime planning strategies in 100% of experiments (with high effect size in all). We also show how our approach provides actionable overtime planning results and investigate the impact of the three different forms of risk assessment.

Research paper thumbnail of A further analysis on the use of Genetic Algorithm to configure Support Vector Machines for inter-release fault prediction

Proceedings of the 27th Annual ACM Symposium on Applied Computing - SAC '12, 2012

Some studies have reported promising results on the use of Support Vector Machines (SVMs) for pre... more Some studies have reported promising results on the use of Support Vector Machines (SVMs) for predicting fault-prone software components. Nevertheless, the performance of the method heavily depends on the setting of some parameters. To address this issue, we investigated the use of a Genetic Algorithm (GA) to search for a suitable configuration of SVMs to be used for inter-release fault prediction. In particular, we report on an assessment of the method on five software systems. As benchmarks we exploited SVMs with random and Grid-search configuration strategies and several other machine learning techniques. The results show that the combined use of GA and SVMs is effective for inter-release fault prediction.

Research paper thumbnail of Plugging a Secure and Usable Physical/Logical Authentication System into Shibboleth using a Smartphone

The design of authentication methods raises crucial questions on how to solve conflicts between s... more The design of authentication methods raises crucial questions on how to solve conflicts between security and usability goals, that are at opposite ends of a "see-saw". As a matter of fact, the usability of security systems has become a major issue in research on the efficiency and user acceptance of security systems. An authentication is more strong as more tokens are involved in authentication process. The main disadvantage is that users need to purchase and keep with them several tokens and cards. To address the above issues, we propose a two factors authentication scheme that allows users to employ their smartphones as unique au-thentication token providing access to both online and physical resources in a user-friendly and secure manner.

Research paper thumbnail of A Framework for Genetic Algorithms Based on Hadoop

Genetic Algorithms (GAs) are powerful metaheuristics mostly used in research fields. The sequenti... more Genetic Algorithms (GAs) are powerful metaheuristics mostly used in research fields. The sequential execution of GAs needs of considerable computational power. Nevertheless, GAs are naturally parallelizable and renting a cluster on Cloud platforms is easy and cheap. One of the most common solutions for parallel applications is Apache Hadoop. What is not simple is developing parallel GAs without facing with the inner workings of Hadoop. Even though some sequential frameworks for GAs already exist, there is no framework supporting the development of GA applications that can be executed in parallel. In this paper is described a framework for parallel GAs so as to be executed on the Hadoop platform, following the paradigm of MapReduce. The main purpose of this framework is to allow the user to focus on the aspects of GA that are specific to the problem to be addressed, being sure that this task is going to be correctly executed on the cluster with a good performance. The framework has b...

Research paper thumbnail of A parallel genetic algorithms framework based on Hadoop MapReduce

Proceedings of the 30th Annual ACM Symposium on Applied Computing - SAC '15, 2015

Research paper thumbnail of A Genetic Algorithm to Configure Support Vector Machines for Predicting Fault-Prone Components

In some studies, Support Vector Machines (SVMs) have been turned out to be promising for predicti... more In some studies, Support Vector Machines (SVMs) have been turned out to be promising for predicting fault-prone software components. Nevertheless , the performance of the method depends on the setting of some parameters. To address this issue, we propose the use of a Genetic Algorithm (GA) to search for a suitable configuration of SVMs parameters that allows us to obtain optimal prediction performance. The approach has been assessed carrying out an empirical analysis based on jEdit data from the PROMISE repository. We analyzed both the inter-and the intra-release performance of the proposed method. As benchmarks we exploited SVMs with Grid-search and several other machine learning techniques. The results show that the proposed approach let us to obtain an improvement of the performance with an increasing of the Recall measure without worsening the Precision one. This behavior was especially remarkable for the inter-release use with respect to the other prediction techniques.

Research paper thumbnail of Evaluation of estimation models using the Minimum Interval of Equivalence

Definition of a new measure for evaluating estimation models.The measure is based on the concept ... more Definition of a new measure for evaluating estimation models.The measure is based on the concept of Equivalence Hypothesis Testing.Application of the measure to estimations by different soft computing methods.Construction of probability intervals for each estimation method.Genetic programming and linear regression provide the best intervals.This article proposes a new measure to compare soft computing methods for software estimation. This new measure is based on the concepts of Equivalence Hypothesis Testing (EHT). Using the ideas of EHT, a dimensionless measure is defined using the Minimum Interval of Equivalence and a random estimation. The dimensionless nature of the metric allows us to compare methods independently of the data samples used.The motivation of the current proposal comes from the biases that other criteria show when applied to the comparison of software estimation methods. In this work, the level of error for comparing the equivalence of methods is set using EHT. Several soft computing methods are compared, including genetic programming, neural networks, regression and model trees, linear regression (ordinary and least mean squares) and instance-based methods. The experimental work has been performed on several publicly available datasets.Given a dataset and an estimation method we compute the upper point of Minimum Interval of Equivalence, MIEu, on the confidence intervals of the errors. Afterwards, the new measure, MIEratio, is calculated as the relative distance of the MIEu to the random estimation.Finally, the data distributions of the MIEratios are analysed by means of probability intervals, showing the viability of this approach. In this experimental work, it can be observed that there is an advantage for the genetic programming and linear regression methods by comparing the values of the intervals.

Research paper thumbnail of Feature lifecycles as they spread, migrate, remain, and die in App Stores

2015 IEEE 23rd International Requirements Engineering Conference (RE), 2015

We introduce a theoretical characterisation of feature lifecycles in app stores, to help app deve... more We introduce a theoretical characterisation of feature lifecycles in app stores, to help app developers to identify trends and to find undiscovered requirements. To illustrate and motivate app feature lifecycle analysis, we use our theory to empirically analyse the migratory and non-migratory behaviours of 4,053 non-free features from two App Stores (Samsung and BlackBerry). The results reveal that, in both stores, intransitive features (those that neither migrate nor die out) exhibit significantly different behaviours with regard to important properties, such as their price. Further correlation analysis also highlights differences between trends relating price, rating, and popularity.

Research paper thumbnail of Inferring Test Models from Kate’s Bug Reports Using Multi-objective Search

Lecture Notes in Computer Science, 2015

Research paper thumbnail of An Approach for the Development of DOOH-oriented Information Systems

In Filipe J and Cordeiro J Iceis Scitepress, 2010

Research paper thumbnail of The App Sampling Problem for App Store Mining

2015 IEEE/ACM 12th Working Conference on Mining Software Repositories, 2015

Many papers on App Store Mining are susceptible to the App Sampling Problem, which exists when on... more Many papers on App Store Mining are susceptible to the App Sampling Problem, which exists when only a subset of apps are studied, resulting in potential sampling bias. We introduce the App Sampling Problem, and study its effects on sets of user review data. We investigate the effects of sampling bias, and techniques for its amelioration in App Store Mining and Analysis, where sampling bias is often unavoidable. We mine 106,891 requests from 2,729,103 user reviews and investigate the properties of apps and reviews from 3 different partitions: the sets with fully complete review data, partially complete review data, and no review data at all. We find that app metrics such as price, rating, and download rank are significantly different between the three completeness levels. We show that correlation analysis can find trends in the data that prevail across the partitions, offering one possible approach to App Store Analysis in the presence of sampling bias.

Research paper thumbnail of Exact Mean Absolute Error of Baseline Predictor, MARP0

Information and Software Technology, 2016

Research paper thumbnail of Web Effort Estimation: Function Point Analysis vs. COSMIC

Information and Software Technology, 2016

Research paper thumbnail of From Function Points to COSMIC - A Transfer Learning Approach for Effort Estimation

Lecture Notes in Computer Science, 2015

Research paper thumbnail of Using Web Objects for Development Effort Estimation of Web Applications: A Replicated Study

In Lecture Notes in Computer Science, 2011

The spreading of Web applications has motivated the definition of size measures suitable for such... more The spreading of Web applications has motivated the definition of size measures suitable for such kind of software systems. Among the proposals existing in the literature, Web Objects were conceived by Reifer specifically for Web applications as an extension of Function Points. In this paper we report on an empirical analysis we performed exploiting 25 Web applications developed by an Italian software company. The results confirm the ones obtained in a previous study and extend them in several aspects, showing the robustness of the measure with respect to the size and technologies of the applications, and to the employed estimation techniques.

Research paper thumbnail of Investigating Functional and Code Size Measures for Mobile Applications: A Replicated Study

Lecture Notes in Computer Science, 2015

Research paper thumbnail of The plastic surgery hypothesis

In Proceedings of the 22 Textnd International Symposium on the Foundations of Software Engineering, Nov 11, 2014

Recent work on genetic-programming-based approaches to automatic program patching have relied on ... more Recent work on genetic-programming-based approaches to automatic program patching have relied on the insight that the content of new code can often be assembled out of fragments of code that already exist in the code base. This insight has been dubbed the plastic surgery hypothesis; successful, well-known automatic repair tools such as GenProg rest on this hypothesis, but it has never been validated. We formalize and validate the plastic surgery hypothesis and empirically measure the extent to which raw material for changes actually already exists in projects. In this paper, we mount a large-scale study of several large Java projects, and examine a history of 15,723 commits to determine the extent to which these commits are graftable, i.e., can be reconstituted from existing code, and find an encouraging degree of graftability, surprisingly independent of commit size and type of commit. For example, we find that changes are 43% graftable from the exact version of the software being changed. With a view to investigating the difficulty of finding these grafts, we study the abundance of such grafts in three possible sources: the immediately previous version, prior history, and other projects. We also examine the contiguity or chunking of these grafts, and the degree to which grafts can be found in the same file. Our results are quite promising and suggest an optimistic future for automatic program patching methods that search for raw material in already extant code in the project being patched.

Research paper thumbnail of How to Make Best Use of Cross-Company Data for Web Effort Estimation?

2015 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 2015

Research paper thumbnail of Investigating Functional and Code Size Measures for Mobile Applications

2015 41st Euromicro Conference on Software Engineering and Advanced Applications, 2015

Research paper thumbnail of App store mining and analysis

Proceedings of the 3rd International Workshop on Software Development Lifecycle for Mobile - DeMobile 2015, 2015

Research paper thumbnail of Not going to take this anymore: Multi-objective overtime planning for Software Engineering projects

2013 35th International Conference on Software Engineering (ICSE), 2013

Software Engineering and development is wellknown to suffer from unplanned overtime, which causes... more Software Engineering and development is wellknown to suffer from unplanned overtime, which causes stress and illness in engineers and can lead to poor quality software with higher defects. In this paper, we introduce a multi-objective decision support approach to help balance project risks and duration against overtime, so that software engineers can better plan overtime. We evaluate our approach on 6 real world software projects, drawn from 3 organisations using 3 standard evaluation measures and 3 different approaches to risk assessment. Our results show that our approach was significantly better (p < 0.05) than standard multi-objective search in 76% of experiments (with high Cohen effect size in 85% of these) and was significantly better than currently used overtime planning strategies in 100% of experiments (with high effect size in all). We also show how our approach provides actionable overtime planning results and investigate the impact of the three different forms of risk assessment.

Research paper thumbnail of A further analysis on the use of Genetic Algorithm to configure Support Vector Machines for inter-release fault prediction

Proceedings of the 27th Annual ACM Symposium on Applied Computing - SAC '12, 2012

Some studies have reported promising results on the use of Support Vector Machines (SVMs) for pre... more Some studies have reported promising results on the use of Support Vector Machines (SVMs) for predicting fault-prone software components. Nevertheless, the performance of the method heavily depends on the setting of some parameters. To address this issue, we investigated the use of a Genetic Algorithm (GA) to search for a suitable configuration of SVMs to be used for inter-release fault prediction. In particular, we report on an assessment of the method on five software systems. As benchmarks we exploited SVMs with random and Grid-search configuration strategies and several other machine learning techniques. The results show that the combined use of GA and SVMs is effective for inter-release fault prediction.

Research paper thumbnail of Plugging a Secure and Usable Physical/Logical Authentication System into Shibboleth using a Smartphone

The design of authentication methods raises crucial questions on how to solve conflicts between s... more The design of authentication methods raises crucial questions on how to solve conflicts between security and usability goals, that are at opposite ends of a "see-saw". As a matter of fact, the usability of security systems has become a major issue in research on the efficiency and user acceptance of security systems. An authentication is more strong as more tokens are involved in authentication process. The main disadvantage is that users need to purchase and keep with them several tokens and cards. To address the above issues, we propose a two factors authentication scheme that allows users to employ their smartphones as unique au-thentication token providing access to both online and physical resources in a user-friendly and secure manner.

Research paper thumbnail of A Framework for Genetic Algorithms Based on Hadoop

Genetic Algorithms (GAs) are powerful metaheuristics mostly used in research fields. The sequenti... more Genetic Algorithms (GAs) are powerful metaheuristics mostly used in research fields. The sequential execution of GAs needs of considerable computational power. Nevertheless, GAs are naturally parallelizable and renting a cluster on Cloud platforms is easy and cheap. One of the most common solutions for parallel applications is Apache Hadoop. What is not simple is developing parallel GAs without facing with the inner workings of Hadoop. Even though some sequential frameworks for GAs already exist, there is no framework supporting the development of GA applications that can be executed in parallel. In this paper is described a framework for parallel GAs so as to be executed on the Hadoop platform, following the paradigm of MapReduce. The main purpose of this framework is to allow the user to focus on the aspects of GA that are specific to the problem to be addressed, being sure that this task is going to be correctly executed on the cluster with a good performance. The framework has b...

Research paper thumbnail of A parallel genetic algorithms framework based on Hadoop MapReduce

Proceedings of the 30th Annual ACM Symposium on Applied Computing - SAC '15, 2015