Browsing by Author "Briand, Lionel"
Now showing 1 - 9 of 9
Results Per Page
Sort Options
Item AINSI - An Inductive Software Process Improvement Method: Concrete Steps and Guidelines(1998-10-15) Briand, Lionel; Eman, Kaled El; Melo, Walcelio L.Top-down approaches to process improvement based on generic "best practice" models (e.g., CMM, TRILLIUM, BOOTSTRAP, SPICE) have become popular. Despite the idiosyncrasies of each of these approaches, they share some common characteristics: all of them are based on numerous assumptions about what are best practices, and about the business goals of organizations and the problems they face. Other organizations, like the Software Engineering Laboratory of the NASA Goddard Space Flight Center, HP and CRIM in Canada, have adopted the Quality Improvement Paradigm (QIP). The QIP stipulates a more bottom-up and inductive approach to process improvement. The focus of this paradigm is to first understand what processes exist in the organization and to determine what causes the most significant problems. Based on this, opportunities for improvement are devised, and empirical studies are conducted to evaluate potential solutions. In this paper, we present a method, named AINSI (An INductive Software process Improvment method), which defines general but concrete steps and guidelines for putting in place the QIP. This method is the result of the collective experiences of the authors and integrates many lessons learned from process improvement efforts in different environments. It also integrates many complementary techniques such as qualitative analysis, methods for data collection (e.g., the Goal/Question/Metric paradigm), and quantitative evaluation. (Also cross-referenced as UMIACS-TR-95-77)Item Characterizing and Assessing a Large-Scale Software Maintenance Organization(1998-10-15) Briand, Lionel; Melo, Walcelio L.; Seaman, Carolyn B.; Basili, Victor R.One important component of a software process is the organizational context in which the process is enacted. This component is often missing or incomplete in current process modeling approaches. One technique for modeling this perspective is the Actor-Dependency (AD) Model. This paper reports on a case study which used this approach to analyze and assess a large software maintenance organization. Our goal was to identify the approach's strengths and weaknesses while providing practical recommendations for improvement. The AD model was found to be very useful in capturing the important properties of the organizational context of the maintenance process, and aided in the understanding of the flaws found in this process. However, a number of opportunities for extending and improving the AD model were identified. Among others, there is a need to incorporate quantitative information to complement the qualitative model. (Also cross-referenced as UMIACS-TR-94-112)Item Defining and Validating High-Level Design Metrics(1998-10-15) Briand, Lionel; Morasca, Sandro; Basili, Victor R.The availability of significant metrics in the early phases of the software development process allows for a better management of the later phases, and a more effective quality assessment when software quality can still be easily affected by preventive or corrective actions. In this paper, we introduce and compare four strategies for defining high-level design metrics. They are based on different sets of assumptions (about the design process) related to a well defined experimental goal they help reach: identify error-prone software parts. In particular, we define ratio-scale metrics for cohesion and coupling that show interesting properties. An in-depth experimental validation, conducted on large scale projects demonstrates the usefulness of the metrics we define. (Also cross-referenced as UMIACS-TR-94-75)Item A Goal-Driven Definition Process for Product Metrics Based on Properties(1998-10-15) Briand, Lionel; Morasca, Sandro; Basili, Victor R.Defining product metrics requires a rigorous and disciplined approach because useful metrics depend, to a very large extent, on one's goals and assumptions about the studied software process. Unlike in more mature scientific fields, it appears difficult to devise a "universal" set of metrics in software engineering. In this paper, we propose a metric definition process which is based on both the experimental goals of measurement, expressed via the GQM paradigm, and the study of the metrics' mathematical properties. This process integrates several research contributions from the literature into a consistent and practical process. This process is intended to be a starting point for discussion about a widely accepted, practical product metric definition process in the software engineering community. (Also cross-referenced as UMIACS-TR-94-106)Item Measuring the Impact of Reuse on Quality and Productivity in Object-Oriented Systems(1998-10-15) Melo, Walcelio L.; Briand, Lionel; Basili, Victor R.This paper presents the results of a study conducted at the University of Maryland in which we assessed the impact of reuse on quality and productivity in OO systems. Reuse is assumed to be a very effective strategy for software industry to build high-quality software. However, there is currently very little empirical information about what we can expect from reuse in terms of productivity and quality gains. This also applies to OO development which is supposed to facilitate reuse. Our experiment is one step towards a better understanding of the benefits of reuse in an OO framework, considering currently available technology. Data was collected, for four months, on the development of eight medium-size management information systems with equivalent requirements. All eight projects were developed using the Waterfall Software Engineering Life Cycle Model, an Object-Oriented (OO) design method and the C++ programming language. This study indicates significant benefits from reuse in terms of reduced defect density and rework as well as increased productivity. (Also cross-referenced as UMIACS-TR-95-2)Item Property-based Software Engineering Measurement(1998-10-15) Briand, Lionel; Morasca, Sandro; R., Victor BasiliLittle theory exists in the field of software system measurement. Concepts such as complexity, coupling, cohesion or even size are very often subject to interpretation and appear to have inconsistent definitions in the literature. As a consequence, there is little guidance provided to the analyst attempting to define proper measures for specific problems. Many controversies in the literature are simply misunderstandings and stem from the fact that some people talk about different measurement concepts under the same label (complexity is the most common case). There is a need to define unambiguously the most important measurement concepts used in the measurement of software products. One way of doing so is to define precisely what mathematical properties characterize these concepts, regardless of the specific software artifacts to which these concepts are applied. Such a mathematical framework could generate a consensus in the software engineering community and provide a means for better communication among researchers, better guidelines for analysts, and better evaluation methods for commercial static analyzers for practitioners. In this paper, we propose a mathematical framework which is generic, because it is not specific to any particular software artifact, and rigorous, because it is based on precise mathematical concepts. This framework defines several important measurement concepts (size, length, complexity, cohesion, coupling). It does not intend to be complete or fully objective; other frameworks could have been proposed and different choices could have been made. However, we believe that the formalisms and properties we introduce are convenient and intuitive. In addition, we have reviewed the literature on this subject and compared it with our work. This framework contributes constructively to a firmer theoretical ground of software measurement. (Also cross-referenced as UMIACS-TR-94-119)Item Qualitative Analysis for Maintenance Process Assessment(1998-10-15) Briand, Lionel; Kim, Yong-Mi; Melo, Walcelio L.; Seaman, Carolyn B.; Victor R. Basili ,In order to improve software maintenance processes, we first need to be able to characterize and assess them. These tasks must be performed in depth and with objectivity since the problems are complex. One approach is to set up a measurement-based software process improvement program specifically aimed at maintenance. However, establishing a measurement program requires that one understands the problems to be addressed by the measurement program and is able to characterize the maintenance environment and processes in order to collect suitable and cost-effective data. Also, enacting such a program and getting usable data sets takes time. A short term substitute is therefore needed. We propose in this paper a characterization process aimed specifically at maintenance and based on a general qualitative analysis methodology. This process is rigorously defined in order to be repeatable and usable by people who are not acquainted with such analysis procedures. A basic feature of our approach is that actual implemented software changes are analyzed in order to understand the flaws in the maintenance process. Guidelines are provided and a case study is shown that demonstrates the usefulness of the approach. (Also cross-referenced as UMIACS-TR-96-7)Item Understanding and Predicting the Process of Software Maintenance Releases(1998-10-15) Basili, Victor R.; Briand, Lionel; Condon, Steve; Kim, Yong-Mi; Melo, Walcelio L.; Valett, JonOne of the major concerns of any maintenance organization is how to estimate the cost of subsequent releases of software systems. Planning the next release, maximizing the increase in functionality and improving the quality are vital to successful maintenance management. The objective of this paper is to present the results of a case study in which an incremental and inductive approach was used to build a model for predicting software maintenance releases in a large-scale software maintenance organization. This study was conducted in the Flight Dynamics Division (FDD) of the NASA Goddard Space Flight Center (GSFC). This organization is representative of many other software maintenance organizations. Over one hundred software systems totalling about 4.5 million lines of code are maintained by this organization. Many of these systems have been maintained for many years and regularly produce new releases. The maintenance costs in this organization have increased considerably over the last few years. This paper shows the predictive model developed for the FDD's software maintenance release process. Lessons learned during the establishment of a measurement-based software maintenance improvement program in this organization are also described and future work is outlined. (Also cross-referenced as UMIACS-TR-95-79)Item A Validation of Object-Oriented Design Metrics as Quality Indicators(1998-10-15) Basili, Victor R.; Briand, Lionel; Melo, Walcelio L.This paper presents the results of a study conducted at the University of Maryland in which we experimentally investigated the suite of Object-Oriented (OO) design metrics introduced by [Chidamber&Kemerer, 1994]. In order to do this, we assessed these metrics as predictors of fault-prone classes. This study is complementary to [Li&Henry, 1993] where the same suite of metrics had been used to assess frequencies of maintenance changes to classes. To perform our validation accurately, we collected data on the development of eight medium-sized information management systems based on identical requirements. All eight projects were developed using a sequential life cycle model, a well-known OO analysis/design method and the C++ programming language. Based on experimental results, the advantages and drawbacks of these OO metrics are discussed. Several of Chidamber&Kemerer's OO metrics appear to be useful to predict class fault-proneness during the early phases of the life-cycle. We also showed that they are, on our data set, better predictors than "traditional" code metrics, which can only be collected at a later phase of the software development processes. (Also cross-referenced as UMIACS-TR-95-40)