Learn More
Context: In software development, Testing is an important mechanism both to identify defects and assure that completed products work as specified. This is a common practice in single-system development, and continues to hold in Software Product Lines (SPL). Even though extensive research has been done in the SPL Testing field, it is necessary to assess the(More)
Service-Oriented Architecture (SOA) has appeared as an emergent approach for developing distributed applications as a set of self-contained and business-aligned services. SOA aids solving integration and interoperability problems and provides a better Information Technology (IT) and business alignment, giving more flexibility for the enterprises. However,(More)
This paper aims at identifying some of the key factors in adopting an organization-wide software reuse program. The factors are derived from practical experience reported by industry professionals, through a survey involving 57 Brazilian small, medium and large software organizations. Some of them produce software with commonality between applications, and(More)
Much of the current research in software defect prediction focuses on building classifiers to predict only whether a software module is fault-prone or not. Using these techniques, the effort to test the software is directed at modules that are labelled as fault-prone by the classifier. This paper introduces a novel algorithm based on constructive RBF neural(More)
Component-based software development focuses on reuse of already available software components, reducing development time and cost and improving software quality and productivity. To enable composition, components must conform to a specific component model and target a specific component platform. This paper presents a component model for embedded systems(More)
This paper proposes and investigates the use of bagging predictors to improve performance of regression methods for estimation of the effort to develop software projects. We have applied bagging to M5P/regression trees, M5P/model trees, multi-layer perceptron (MLP), linear regression and support vector regression (SVR). This article reports on the influence(More)
The precision of the estimation of the effort of software projects is very important for the competitiveness of software companies. Machine learning methods have recently been applied for this task, included methods based on support vector regression (SVR). This paper proposes and investigates the use of a genetic algorithm approach for simultaneously (1)(More)
Domain analysis has been identified as a key factor in the development of reusable software. However, for domain analysis to become a practical approach we need to understand the conceptual foundations of the process and to produce a unambiguous definition in the form of specific techniques. This paper presents a practical approach for domain analysis based(More)
SUMMARY Background: Software product lines and Agile methods have been an effective solution for dealing with the growing complexity of software and handling competitive needs of software organizations. They also share common goals, such as improving productivity, reducing time-to-market, decreasing development costs and increasing customer satisfaction.(More)
Software has been reused in applications development ever since programming started. However, the reuse practices have mostly been ad hoc, and the potential benefits of reuse have never been fully realized. Systematic reuse offers the greatest potential for significant gains in software development productivity and quality. Organizations are looking for(More)