Luigi Cerulo | Università degli Studi del Sannio (original) (raw)

Papers by Luigi Cerulo

Research paper thumbnail of On the Use of Line Co-change for Identifying Crosscutting Concern Code

Crosscutting concerns are software system features whose implementation is spread across many mod... more Crosscutting concerns are software system features whose implementation is spread across many modules as tangled and scattered code. Identifying such code helps developers to change the concern and/or re-factor it to an aspect.

Research paper thumbnail of How Clones are Maintained: An Empirical Study

Despite the conventional wisdom concerning the risks related to the use of source code cloning as... more Despite the conventional wisdom concerning the risks related to the use of source code cloning as a software development strategy, several studies appeared in literature indicated that this is not true. In most cases clones are properly maintained and, when this does not happen, is because cloned code evolves independently.

Research paper thumbnail of How software repositories can help in resolving a new change request

Abstract In open source development, software evolution tasks are usually managed with a bug trac... more Abstract In open source development, software evolution tasks are usually managed with a bug tracker system, such as Bugzilla [1], and a versioning system, such as CVS [2]. This provides for a huge amount of historical data regarding bug resolutions and new enhancement feature implementations. We discuss how software repositories can help developers in managing a new change request, either a bug or an enhancement feature. The hypothesis is that data stored in software repositories are a good descriptor on how ...

Research paper thumbnail of How software repositories can help in resolving a new change request

Abstract In open source development, software evolution tasks are usually managed with a bug trac... more Abstract In open source development, software evolution tasks are usually managed with a bug tracker system, such as Bugzilla [1], and a versioning system, such as CVS [2]. This provides for a huge amount of historical data regarding bug resolutions and new enhancement feature implementations. We discuss how software repositories can help developers in managing a new change request, either a bug or an enhancement feature.

Research paper thumbnail of On the use of line co-change for identifying crosscutting concern code

Abstract Crosscutting concerns are software system features whose implementation is spread across... more Abstract Crosscutting concerns are software system features whose implementation is spread across many modules as tangled and scattered code. Identifying such code helps developers to change the concern and/or re-factor it to an aspect. This paper evaluates the suitability of line co-change as a technique for the identification of crosscutting concerns. A line co-change aim at identifying source code lines that have been changed together in a commit transaction performed using a versioning system such as CVS.

Research paper thumbnail of Learning gene regulatory networks from only positive and unlabeled data

Background Recently, supervised learning methods have been exploited to reconstruct gene regulato... more Background Recently, supervised learning methods have been exploited to reconstruct gene regulatory networks from gene expression data. The reconstruction of a network is modeled as a binary classification problem for each pair of genes. A statistical classifier is trained to recognize the relationships between the activation profiles of gene pairs. This approach has been proven to outperform previous unsupervised methods. However, the supervised approach raises open questions.

Research paper thumbnail of Where is bug resolution knowledge stored?

Abstract ArgoUML uses both CVS and Bugzilla to keep track of bug-fixing activities since 1998. A ... more Abstract ArgoUML uses both CVS and Bugzilla to keep track of bug-fixing activities since 1998. A common practice is to reference source code changes resolving a bug stored in Bugzilla by inserting the id number of the bug in the CVS commit notes. This relationship reveals useful to predict code entities impacted by a new bug report.

Research paper thumbnail of How clones are maintained: An empirical study

Abstract Despite the conventional wisdom concerning the risks related to the use of source code c... more Abstract Despite the conventional wisdom concerning the risks related to the use of source code cloning as a software development strategy, several studies appeared in literature indicated that this is not true. In most cases clones are properly maintained and, when this does not happen, is because cloned code evolves independently.

Research paper thumbnail of On Learning Gene Regulatory Networks with Only Positive Examples

Abstract. Learning with positive only examples occurs when the training set of a binary classifie... more Abstract. Learning with positive only examples occurs when the training set of a binary classifier is composed of examples known to be positive, and examples where the label category is unknown. Such a condition largely affects the task of learning gene regulatory networks as the information whether two genes does not interact is usually not awared by biologists.

Research paper thumbnail of A negative selection heuristic to predict new transcriptional targets

Background Supervised machine learning approaches have been recently adopted in the inference of ... more Background Supervised machine learning approaches have been recently adopted in the inference of transcriptional targets from high throughput trascriptomic and proteomic data showing major improvements from with respect to the state of the art of reverse gene regulatory network methods. Beside traditional unsupervised techniques, a supervised classifier learns, from known examples, a function that is able to recognize new relationships for new data.

Research paper thumbnail of How long does a bug survive? an empirical study

Abstract Corrective maintenance activities (bug fixing) can be performed a long time after a bug ... more Abstract Corrective maintenance activities (bug fixing) can be performed a long time after a bug introduction, or shortly after it. Such a time interval, ie, the bug survival time, may depend on many factors, eg, the bug severity/harmfulness, but also on how likely does the bug manifest itself and how difficult was to fix it.

Research paper thumbnail of Software Reverse Engineering: Achievements and Challenges

Abstract Reverse engineering is a crucial task to support software comprehension and maintenance,... more Abstract Reverse engineering is a crucial task to support software comprehension and maintenance, especially when software systems lack of up-to-date and adequate documentation. This paper overviews key achievements in different areas of reverse engineering, discusses the role of reverse engineering in today's' software development practice, and outlines new challenges deriving from new and emerging software development scenarios.

Research paper thumbnail of Relating Maintenance Interventions through Information Retrieval Techniques

Maintenance tasks related to similar artifacts, or aiming to solve a related problem, are very li... more Maintenance tasks related to similar artifacts, or aiming to solve a related problem, are very likely to be described using a similar text. This happens when a problem is reported by software users and, from a different perspective, when maintainers document their change.

Research paper thumbnail of Social interactions around cross-system bug fixings: the case of FreeBSD and OpenBSD

ABSTRACT Cross-system bug fixing propagation is frequent among systems having similar characteris... more ABSTRACT Cross-system bug fixing propagation is frequent among systems having similar characteristics, using a common framework, or, in general, systems with cloned source code fragments. While previous studies showed that clones tend to be properly maintained within a single system, very little is known about cross-system bug management.

Research paper thumbnail of The Impact of Decision Support for Software Release Planning–A Three-Staged Experiment

Abstract Decision support is an emerging paradigm for approaching uncertainty in decision making.... more Abstract Decision support is an emerging paradigm for approaching uncertainty in decision making. Despite the progress in computational algorithms and computational power, acceptance of decision support systems is still low on the user side. What are the reasons for this? We have designed a three staged experiment to investigate two factors intended to answer this question. For that purpose, we consider decision support for software release planning and ReleasePlanner® as the related decision support system.

Research paper thumbnail of Labeling negative examples in supervised learning of new gene regulatory connections

Supervised learning methods have been recently exploited to learn gene regulatory networks from g... more Supervised learning methods have been recently exploited to learn gene regulatory networks from gene expression data. The basic approach consists into building a binary classifier from feature vectors composed by expression levels of a set of known regulatory connections, available in public databases or known in literature. Such a classifier is then used to predict new unknown connections. The quality of the training set plays a crucial role in such an inference scheme.

Research paper thumbnail of Impact Analysis by Mining Software and Change Request Repositories

Research paper thumbnail of Identifying Changed Source Code Lines From Version Repositories

… of the Fourth International Workshop on …, Jan 1, 2007

Research paper thumbnail of Supporting Change Request Assignment In Open Source Development

Research paper thumbnail of An Empirical Study on the Evolution of Design Patterns

Proceedings of the …, Jan 1, 2007

Research paper thumbnail of On the Use of Line Co-change for Identifying Crosscutting Concern Code

Crosscutting concerns are software system features whose implementation is spread across many mod... more Crosscutting concerns are software system features whose implementation is spread across many modules as tangled and scattered code. Identifying such code helps developers to change the concern and/or re-factor it to an aspect.

Research paper thumbnail of How Clones are Maintained: An Empirical Study

Despite the conventional wisdom concerning the risks related to the use of source code cloning as... more Despite the conventional wisdom concerning the risks related to the use of source code cloning as a software development strategy, several studies appeared in literature indicated that this is not true. In most cases clones are properly maintained and, when this does not happen, is because cloned code evolves independently.

Research paper thumbnail of How software repositories can help in resolving a new change request

Abstract In open source development, software evolution tasks are usually managed with a bug trac... more Abstract In open source development, software evolution tasks are usually managed with a bug tracker system, such as Bugzilla [1], and a versioning system, such as CVS [2]. This provides for a huge amount of historical data regarding bug resolutions and new enhancement feature implementations. We discuss how software repositories can help developers in managing a new change request, either a bug or an enhancement feature. The hypothesis is that data stored in software repositories are a good descriptor on how ...

Research paper thumbnail of How software repositories can help in resolving a new change request

Abstract In open source development, software evolution tasks are usually managed with a bug trac... more Abstract In open source development, software evolution tasks are usually managed with a bug tracker system, such as Bugzilla [1], and a versioning system, such as CVS [2]. This provides for a huge amount of historical data regarding bug resolutions and new enhancement feature implementations. We discuss how software repositories can help developers in managing a new change request, either a bug or an enhancement feature.

Research paper thumbnail of On the use of line co-change for identifying crosscutting concern code

Abstract Crosscutting concerns are software system features whose implementation is spread across... more Abstract Crosscutting concerns are software system features whose implementation is spread across many modules as tangled and scattered code. Identifying such code helps developers to change the concern and/or re-factor it to an aspect. This paper evaluates the suitability of line co-change as a technique for the identification of crosscutting concerns. A line co-change aim at identifying source code lines that have been changed together in a commit transaction performed using a versioning system such as CVS.

Research paper thumbnail of Learning gene regulatory networks from only positive and unlabeled data

Background Recently, supervised learning methods have been exploited to reconstruct gene regulato... more Background Recently, supervised learning methods have been exploited to reconstruct gene regulatory networks from gene expression data. The reconstruction of a network is modeled as a binary classification problem for each pair of genes. A statistical classifier is trained to recognize the relationships between the activation profiles of gene pairs. This approach has been proven to outperform previous unsupervised methods. However, the supervised approach raises open questions.

Research paper thumbnail of Where is bug resolution knowledge stored?

Abstract ArgoUML uses both CVS and Bugzilla to keep track of bug-fixing activities since 1998. A ... more Abstract ArgoUML uses both CVS and Bugzilla to keep track of bug-fixing activities since 1998. A common practice is to reference source code changes resolving a bug stored in Bugzilla by inserting the id number of the bug in the CVS commit notes. This relationship reveals useful to predict code entities impacted by a new bug report.

Research paper thumbnail of How clones are maintained: An empirical study

Abstract Despite the conventional wisdom concerning the risks related to the use of source code c... more Abstract Despite the conventional wisdom concerning the risks related to the use of source code cloning as a software development strategy, several studies appeared in literature indicated that this is not true. In most cases clones are properly maintained and, when this does not happen, is because cloned code evolves independently.

Research paper thumbnail of On Learning Gene Regulatory Networks with Only Positive Examples

Abstract. Learning with positive only examples occurs when the training set of a binary classifie... more Abstract. Learning with positive only examples occurs when the training set of a binary classifier is composed of examples known to be positive, and examples where the label category is unknown. Such a condition largely affects the task of learning gene regulatory networks as the information whether two genes does not interact is usually not awared by biologists.

Research paper thumbnail of A negative selection heuristic to predict new transcriptional targets

Background Supervised machine learning approaches have been recently adopted in the inference of ... more Background Supervised machine learning approaches have been recently adopted in the inference of transcriptional targets from high throughput trascriptomic and proteomic data showing major improvements from with respect to the state of the art of reverse gene regulatory network methods. Beside traditional unsupervised techniques, a supervised classifier learns, from known examples, a function that is able to recognize new relationships for new data.

Research paper thumbnail of How long does a bug survive? an empirical study

Abstract Corrective maintenance activities (bug fixing) can be performed a long time after a bug ... more Abstract Corrective maintenance activities (bug fixing) can be performed a long time after a bug introduction, or shortly after it. Such a time interval, ie, the bug survival time, may depend on many factors, eg, the bug severity/harmfulness, but also on how likely does the bug manifest itself and how difficult was to fix it.

Research paper thumbnail of Software Reverse Engineering: Achievements and Challenges

Abstract Reverse engineering is a crucial task to support software comprehension and maintenance,... more Abstract Reverse engineering is a crucial task to support software comprehension and maintenance, especially when software systems lack of up-to-date and adequate documentation. This paper overviews key achievements in different areas of reverse engineering, discusses the role of reverse engineering in today's' software development practice, and outlines new challenges deriving from new and emerging software development scenarios.

Research paper thumbnail of Relating Maintenance Interventions through Information Retrieval Techniques

Maintenance tasks related to similar artifacts, or aiming to solve a related problem, are very li... more Maintenance tasks related to similar artifacts, or aiming to solve a related problem, are very likely to be described using a similar text. This happens when a problem is reported by software users and, from a different perspective, when maintainers document their change.

Research paper thumbnail of Social interactions around cross-system bug fixings: the case of FreeBSD and OpenBSD

ABSTRACT Cross-system bug fixing propagation is frequent among systems having similar characteris... more ABSTRACT Cross-system bug fixing propagation is frequent among systems having similar characteristics, using a common framework, or, in general, systems with cloned source code fragments. While previous studies showed that clones tend to be properly maintained within a single system, very little is known about cross-system bug management.

Research paper thumbnail of The Impact of Decision Support for Software Release Planning–A Three-Staged Experiment

Abstract Decision support is an emerging paradigm for approaching uncertainty in decision making.... more Abstract Decision support is an emerging paradigm for approaching uncertainty in decision making. Despite the progress in computational algorithms and computational power, acceptance of decision support systems is still low on the user side. What are the reasons for this? We have designed a three staged experiment to investigate two factors intended to answer this question. For that purpose, we consider decision support for software release planning and ReleasePlanner® as the related decision support system.

Research paper thumbnail of Labeling negative examples in supervised learning of new gene regulatory connections

Supervised learning methods have been recently exploited to learn gene regulatory networks from g... more Supervised learning methods have been recently exploited to learn gene regulatory networks from gene expression data. The basic approach consists into building a binary classifier from feature vectors composed by expression levels of a set of known regulatory connections, available in public databases or known in literature. Such a classifier is then used to predict new unknown connections. The quality of the training set plays a crucial role in such an inference scheme.

Research paper thumbnail of Impact Analysis by Mining Software and Change Request Repositories

Research paper thumbnail of Identifying Changed Source Code Lines From Version Repositories

… of the Fourth International Workshop on …, Jan 1, 2007

Research paper thumbnail of Supporting Change Request Assignment In Open Source Development

Research paper thumbnail of An Empirical Study on the Evolution of Design Patterns

Proceedings of the …, Jan 1, 2007