7 research outputs found
Property-based Software Engineering Measurement
Little 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
An Empirical investigation into metrics for object-oriented software
Object-Oriented methods have increased in popularity over the last decade, and are now the norm for software development in many application areas. Many claims were made for the superiority of object-oriented methods over more traditional methods, and these claims have largely been accepted, or at least not questioned by the software community. Such was the motivation for this thesis. One way of capturing information about software is the use of software metrics. However, if we are to have faith in the information, we must be satisfied that these metrics do indeed tell us what we need to know. This is not easy when
the software characteristics we are interested in are intangible and unable to be precisely defined. This thesis considers the attempts to measure software and to make predictions regarding maintainabilty and effort over the last three decades. It examines traditional software
metrics and considers their failings in the light of the calls for better standards of validation in terms of measurement theory and empirical study. From this five lessons were derived. The relatively new area of metrics for object-oriented systems is examined to determine whether suggestions for improvement have been widely heeded.
The thesis uses an industrial case study and an experiment to examine one feature of objectorientation, inheritance, and its effect on aspects of maintainability, namely number of defects and time to implement a change. The case study is also used to demonstrate that it is possible to obtain early, simple and useful local prediction systems for important attributes such as system size and defects, using readily available measures rather than attempting predefined and possibly time consuming metrics which may suffer from poor definition, invalidity or inability to predict or capture anything of real use. The thesis concludes that there is empirical evidence to suggest a hypothesis linking inheritance and increased incidence of defects and increased maintenance effort and that more empirical studies are needed in order to test the hypothesis. This suggests that we should treat claims regarding the benefits of object-orientation for maintenance with some caution. This thesis also concludes that with the ability to produce, with little effort,
accurate local metrics, we have an acceptable substitute for the large predefined metrics suites with their attendant problems
Software Engineering Laboratory Series: Collected Software Engineering Papers
The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document
Software Engineering Laboratory Series: Collected Software Engineering Papers
The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document
An Approach to Improve Existing Measurement Frameworks in Software Development Organizations
Measurement is a key mechanism to characterize, evaluate, and improve
software development, management, and maintenance processes. Nowadays,
software organizations use metrics for very different purposes. Data
is collected to describe, monitor, understand, assess, compare,
validate, and appraise very diverse attributes related to software
processes or products. Improving data collection and better using the
existing data are important problems for software organizations.
This dissertation proposes an approach for improving measurement and
data use when a large number of diverse metrics are already being
collected by a software organization. The approach combines two
methods. One looks at an organization's measurement framework in a
top-down fashion and the other looks at it in a bottom-up fashion.
The top-down method, based on the Goal-Question-Metric (GQM) Paradigm,
is used to identify the measurement goals of data users and map them
to the metrics being used by the organization. This allows the
measurement practitioners to: (1)~identify which metrics are and are
not useful to the organization; and (2)~check if the goals of data
user groups can be satisfied by the data that is being collected by
the organization.
The bottom-up method is based on a data mining technique called
Attribute Focusing (AF). It is used to identify useful information in
the existing data that the data users were not aware of.
To validate the approach and to assess its usefulness, a case study
was performed in a real industrial environment. The top-down and
bottom-up methods were applied in the customer satisfaction
measurement framework at the IBM Toronto Laboratory. The top-down
method was applied to improve the customer satisfaction (CUSTSAT)
measurement from the point of view of three data user groups. The
bottom-up method was used to gain new insights into the existing
CUSTSAT data.
The top-down method identified several new metrics for the interviewed
user groups. It also contributed to better understanding the data user
needs and led to modification of some of the data analyses and
presentations done for those groups. The bottom-up method produced
important insights on both the customer satisfaction domain and the
measurement framework itself. Unexpected associations between key
variables prompted new insights on their importance for the
organization. Some of these associations have also revealed problems
with the metrics being used to collect the data.
(Also cross-referenced as UMIACS-TR-97-82
Un référentiel pour la mesure des logiciels avec la norme ISO 19761 (COSMIC-FFP) : une étude exploratoire
La problématique générale de cette thèse est le manque de standards et de références pour le design et pour l'utilisation des mesures en génie logiciel. Cette problématique rend le processus de mesurage des logiciels complexe et difficile. La méthodologie adoptée pour résoudre la problématique indiquée ci-dessus est à la fois exploratoire et qualitative.
L'objectif de cette thèse est la construction d'un référentiel pour la mesure des logiciels. Le référentiel est composé de huit étalons de mesure des logiciels. Dans notre contexte, un étalon est défini comme «une mesure matérialisée, appareil de mesure, matériau de référence destiné a définir, réaliser, conserver ou reproduire une unité ou une ou plusieurs valeurs d'une grandeur pour servir de référence» (ISO, 1993).
Ces étalons de mesure traitent un seul attribut du logiciel, soit la taille fonctionnelle, et ils touchent trois types de logiciels: applications de gestion, systèmes en temps réel et systèmes hybrides. Pour mesurer la taille fonctionnelle, ces étalons utilisent une mesure appelée les points de fonction (en anglais Function Point Analysis - FPA).
«FPA, introduced in 1979 by Allan Albrecht, was proposed to help measure the productivity of software development. Function points have the advantage of well-known norms and well defined detailed procedures that allow a uniform method of counting and the establishment of a reference base for making comparisons, provided, of course, that the rules of calculation and accounting are correctly applied.» (Abran, 1994)
Pour la construction du référentiel, une méthode de mesure des logiciels bien spécifique a été choisie, soit COSMIC-FFP (ISO 19761). COSMIC-FFP est une méthode rigoureuse de mesure des logiciels. Elle rend possible la mesure de la taille des logiciels tels qu'ils sont perçus par leurs utilisateurs, c'est-à -dire à travers les besoins fonctionnels. Le résultat de l'application de la mesure donne une valeur numérique qui quantifie la taille fonctionnelle du logiciel. Les raisons de la sélection de cette mesure spécifique et sa description sont expliquées dans le quatrième chapitre