Filippo Lanubile
University of Bari
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Filippo Lanubile.
IEEE Transactions on Software Engineering | 1999
Victor R. Basili; Forrest Shull; Filippo Lanubile
Experimentation in software engineering is necessary but difficult. One reason is that there are a large number of context variables and, so, creating a cohesive understanding of experimental results requires a mechanism for motivating studies and integrating results. It requires a community of researchers that can replicate studies, vary context variables, and build models that represent the common observations about the discipline. The paper discusses the experience of the authors, based upon a collection of experiments, in terms of a framework for organizing sets of related studies. With such a framework, experiments can be viewed as part of common families of studies, rather than being isolated events. Common families of studies can contribute to important and relevant hypotheses that may not be suggested by individual experiments. A framework also facilitates building knowledge in an incremental manner through the replication of experiments within families of studies. To support the framework, the paper discusses the experiences of the authors in carrying out empirical studies, with specific emphasis on persistent problems encountered in experimental design, threats to validity, criteria for evaluation, and execution of experiments in the domain of software engineering.
IEEE Software | 2010
Filippo Lanubile; Christof Ebert; Rafael Prikladnicki; Aurora Vizcaíno
Software engineering involves people collaborating to develop better software. Collaboration is challenging, especially across time zones and without face-to-face meetings. We therefore use collaboration tools all along the product life cycle to let us work together, stay together, and achieve results together. This article summarizes experiences and trends chosen from recent IEEE International Conference on Global Software Engineering (IGSCE) conferences.
IEEE Transactions on Software Engineering | 1997
Filippo Lanubile; Giuseppe Visaggio
An alternative approach to developing reusable components from scratch is to recover them from existing systems. We apply program slicing, a program decomposition method, to the problem of extracting reusable functions from ill structured programs. As with conventional slicing first described by M. Weiser (1984), a slice is obtained by iteratively solving data flow equations based on a program flow graph. We extend the definition of program slice to a transform slice, one that includes statements which contribute directly or indirectly to transform a set of input variables into a set of output variables. Unlike conventional program slicing, these statements do not include either the statements necessary to get input data or the statements which test the binding conditions of the function. Transform slicing presupposes the knowledge that a function is performed in the code and its partial specification, only in terms of input and output data. Using domain knowledge we discuss how to formulate expectations of the functions implemented in the code. In addition to the input/output parameters of the function, the slicing criterion depends on an initial statement, which is difficult to obtain for large programs. Using the notions of decomposition slice and concept validation we show how to produce a set of candidate functions, which are independent of line numbers but must be evaluated with respect to the expected behavior. Although human interaction is required, the limited size of candidate functions makes this task easier than looking for the last function instruction in the original source code.
Empirical Software Engineering | 1997
Pierfrancesco Fusaro; Filippo Lanubile; Giuseppe Visaggio
This paper presents the independent replication of a controlled experiment which compared three defect detection techniques (Ad Hoc, Checklist, and Defect-based Scenario) for software requirements inspections, and evaluated the benefits of collection meetings after individual reviews. The results of our replication were partially different from those of the original experiment. Unlike the original experiment, we did not find any empirical evidence of better performance when using scenarios. To explain these negative findings we provide a list of hypotheses. On the other hand, the replication confirmed one result of the original experiment: the defect detection rate is not improved by collection meetings.The independent replication was made possible by the existence of an experimental kit provided by the original investigators. We discuss what difficulties we encountered in applying the package to our environment, as a result of different cultures and skills. Using our results, experience and suggestions, other researchers will be able to improve the original experimental design before attempting further replications.
IEEE Transactions on Software Engineering | 2000
Forrest Shull; Filippo Lanubile; Victor R. Basili
The empirical study described in the paper addresses software reading for construction: how application developers obtain an understanding of a software artifact for use in new system development. The study focuses on the processes that developers would engage in when learning and using object oriented frameworks. We analyzed 15 student software development projects using both qualitative and quantitative methods to gain insight into what processes occurred during framework usage. The contribution of the study is not to test predefined hypotheses but to generate well-supported hypotheses for further investigation. The main hypotheses produced are that example based techniques are well suited to use by beginning learners, while hierarchy based techniques are not, because of a larger learning curve. Other more specific hypotheses are proposed and discussed.
ACM Sigsoft Software Engineering Notes | 2003
Filippo Lanubile; Daniela E. Damian; Heather L. Oppenheimer
The International Workshop on Global Software Development was held in Portland (Oregon, USA) on May 9 2003, as part of the International Conference on Software Engineering 2003. A multicultural group of twenty-five people contributed to a successful workshop that debated the continued challenges of software development in global teams. The workshop consisted of an invited talk, sixteen short presentations, and fruitful discussions. We present an overview of the workshop motivation and then focus on the workshops technical program. The workshop web site, including papers and slides, can be found at <http://gsd2003.cs.uvic.ca>.
european software engineering conference | 2003
Filippo Lanubile; Teresa Mallardo
Many Web applications use a mixture of HTML and scripting language code as the front-end to business services. Analogously to traditional applications, redundant code is introduced by copy-and-paste practices. Code duplication is a pathological form of software reuse because of its effects on the maintenance of large software systems. This paper describes how a simple semi-automated approach can be used to identity cloned functions within scripting code of Web applications. The results obtained from applying our approach to three Web applications show that the approach is useful for a fast selection of script function clones, and can be applied to prevent clone spreading or to remove redundant scripting code.
Software Process: Improvement and Practice | 2003
Filippo Lanubile; Teresa Mallardo; Fabio Calefato
Software inspection is one of software engineerings best practices for detecting and removing defects early in the development process. However, the prevalence of manual activities and face-to-face meetings within software inspections hinder their applicability in the context of global software development, where software engineering activities are spread across multiple sites and even multiple countries. In this article, we describe a web-based tool, called the Internet-Based Inspection System (IBIS), that aims to support geographically dispersed inspection teams. On the basis of findings from empirical studies of software inspections, the IBIS tool adopts a reengineered inspection process to minimize synchronous activities and coordination problems. We present the underlying process model, how the tool is used within the inspection stages, and experiences using the IBIS tool as the enabling infrastructure for distributed software inspections. Copyright
Journal of Systems and Software | 1996
Filippo Lanubile; Giuseppe Visaggio
This paper describes an empirical comparison of several modeling techniques for predicting the quality of software components early in the software life cycle. Using software product measures, we built models that classify components as high-risk, i.e., likely to contain faults, or low-risk, i.e., likely to be free of faults. The modeling techniques evaluated in this study include principal component analysis, discriminant analysis, logistic regression, logical classification models, layered neural networks, and holographic networks. These techniques provide a good coverage of the main problem-solving paradigms: statistical analysis, machine learning, and neural networks. Using the results of independent testing, we determined the absolute worth of the predictive models and compare their performance in terms of misclassification errors, achieved quality, and verification cost. Data came from 27 software systems, developed and tested during three years of project-intensive academic courses. A surprising result is that no model was able to effectively discriminate between components with faults and components without faults.
ieee international software metrics symposium | 1998
Filippo Lanubile; Forrest Shull; Victor R. Basili
In previous experiments we showed that the Perspective-Based Reading (PBR) family of defect detection techniques was effective at detecting faults in requirements documents in some contexts. Experiences from these studies indicate that requirements faults are very difficult to define, classify and quantify. In order to address these difficulties, we present an empirical study whose main purpose is to investigate whether defect detection in requirements documents can be improved by focusing on the errors (i.e., underlying human misconceptions) in a document rather than the individual faults that they cause. In the context of a controlled experiment, we assess both benefits and costs of the process of abstracting errors from faults in requirements documents.