23 research outputs found
Predicting Defects in Software Using Grammar-Guided Genetic Programming
The knowledge of the software quality can allow an organization to allocate the needed resources for the code maintenance. Maintaining the software is considered as a high cost factor for most organizations. Consequently, there is need to assess software modules in respect of defects that will arise. Addressing the prediction of software defects by means of computational intelligence has only recently become evident. In this paper, we investigate the capability of the genetic programming approach for producing solution composed of decision rules. We applied the model into four software engineering databases of NASA. The overall performance of this system denotes its competitiveness as compared with past methodologies, and is shown capable of producing simple, highly accurate, tangible rules
Integrating Software Metrics for Fortran Legacy into an IDE
Software Metrics have being used since the 70s, their purpose is to measure different software attributes, such as complexity and maintainability, to name a few. Software Metrics help programmers obtain valuable information about programs. That information is essential when working with legacy systems. Scientists have been producing Fortran programs for the last six decades, and some of those programs became legacy years ago.We have implemented a set of well known software metrics for Fortran into a widely used IDE (Integrated Development Environment) by means of AST (Abstract Syntax Tree). This integration allows developers to obtain software metrics from their source code while they are programming.XI Workshop de Ingeniería de Softwar
Integrating Software Metrics for Fortran Legacy into an IDE
Software Metrics have being used since the 70s, their purpose is to measure different software attributes, such as complexity and maintainability, to name a few. Software Metrics help programmers obtain valuable information about programs. That information is essential when working with legacy systems. Scientists have been producing Fortran programs for the last six decades, and some of those programs became legacy years ago.We have implemented a set of well known software metrics for Fortran into a widely used IDE (Integrated Development Environment) by means of AST (Abstract Syntax Tree). This integration allows developers to obtain software metrics from their source code while they are programming.XI Workshop de Ingeniería de Softwar
Integrating Software Metrics for Fortran Legacy into an IDE
Software Metrics have being used since the 70s, their purpose is to measure different software attributes, such as complexity and maintainability, to name a few. Software Metrics help programmers obtain valuable information about programs. That information is essential when working with legacy systems. Scientists have been producing Fortran programs for the last six decades, and some of those programs became legacy years ago.We have implemented a set of well known software metrics for Fortran into a widely used IDE (Integrated Development Environment) by means of AST (Abstract Syntax Tree). This integration allows developers to obtain software metrics from their source code while they are programming.XI Workshop de Ingeniería de SoftwareRed de Universidades con Carreras de Informática (RedUNCI
Integrating Software Metrics for Fortran Legacy into an IDE
Software Metrics have being used since the 70s, their purpose is to measure different software attributes, such as complexity and maintainability, to name a few. Software Metrics help programmers obtain valuable information about programs. That information is essential when working with legacy systems. Scientists have been producing Fortran programs for the last six decades, and some of those programs became legacy years ago.We have implemented a set of well known software metrics for Fortran into a widely used IDE (Integrated Development Environment) by means of AST (Abstract Syntax Tree). This integration allows developers to obtain software metrics from their source code while they are programming.XI Workshop de Ingeniería de SoftwareRed de Universidades con Carreras de Informática (RedUNCI
Do internal software quality tools measure validated metrics?
Internal software quality determines the maintainability of the software
product and influences the quality in use. There is a plethora of metrics which
purport to measure the internal quality of software, and these metrics are
offered by static software analysis tools. To date, a number of reports have
assessed the validity of these metrics. No data are available, however, on
whether metrics offered by the tools are somehow validated in scientific
studies. The current study covers this gap by providing data on which tools and
how many validated metrics are provided. The results show that a range of
metrics that the tools provided do not seem to be validated in the literature
and that only a small percentage of metrics are validated in the provided
tools
Climate Models: A Software Engineering Approach
Climate Simulation and Weather Forecasting are amongst the most representative examples of scientific software, which has evolved through- out the past sixty years. In this paper, a set of Global Climate Models (GCM) have been analysed from a Software Engineering perspective, analysing the composition of their internal structure and programming constructs which have been used in the building process. We have implemented a set of software metrics such as Cyclomatic Complexity, Lines of Code, Number of Fortran Obsolete Language Features, among others.We have followed a compiler like approach, collecting information based on traversing the Abstract Syntax Tree (AST). The obtained data can be used for different purposes at different stages of the software life cycle such as: maintenance tasks, parallelization, and optimization. The results suggest that some programming techniques used for building scientic software have fallen into disuse because they are now considered obsolete and error-prone. In addition, GCM's internal structure seems to evolve at a slower pace than programming techniques. The analysis methodology can be used to update and enhance the scientific software in order to make simpler other tasks such as optimization and parallelization for specic new hardware such as multi/many-core processors and co-processors, distributed memory parallel hardware, etc
An annotated and classified bibliography of software metrics publications : 1988 to 1994
With the growth of the software industry, the measurement of software plays an ever increasing role. In order to provide software metric researchers and practitioners with references so they can quickly identify the references of particular interest to them, over 60 of the many publications on software metrics that have appeared since 1988 are classified into four tables that comprise, respectively, (1) Metrics through the Life Cycle, (2) Classic Metrics, (3) Programming Language Metrics, and (4) New Metrics. Table 1 serves as a complete list of all the classified publications while Table 2, Table 3 and Table 4 are subsets of Table 1. The subset tables present more detailed information than Table 1. The bibliographic reference section contains brief summaries of the publications in the classified tables. As a continuation of the 1988 survey done by V. Cote, P. Bourque, S. Oligny and N. Rivard through the paper, "Software metrics: an overview of recent results", this project was conducted to discover the current trends in software metrics practice, and to report the trend movement from the 1988 paper until now by comparison of the results from the two surveys. All the table comparisons from the two surveys are given in percentages. As a survey, we are fully aware of the limitations of our collection out of the wealth of the publications in the software metrics field, but we are confident that our survey is a good indicator of the practice in the software metrics field. [Résumé abrégé par UMI]
Spectral Complexity of Directed Graphs and Application to Structural Decomposition
We introduce a new measure of complexity (called spectral complexity) for
directed graphs. We start with splitting of the directed graph into its
recurrent and non-recurrent parts. We define the spectral complexity metric in
terms of the spectrum of the recurrence matrix (associated with the reccurent
part of the graph) and the Wasserstein distance. We show that the total
complexity of the graph can then be defined in terms of the spectral
complexity, complexities of individual components and edge weights. The
essential property of the spectral complexity metric is that it accounts for
directed cycles in the graph. In engineered and software systems, such cycles
give rise to sub-system interdependencies and increase risk for unintended
consequences through positive feedback loops, instabilities, and infinite
execution loops in software. In addition, we present a structural decomposition
technique that identifies such cycles using a spectral technique. We show that
this decomposition complements the well-known spectral decomposition analysis
based on the Fiedler vector. We provide several examples of computation of
spectral and total complexities, including the demonstration that the
complexity increases monotonically with the average degree of a random graph.
We also provide an example of spectral complexity computation for the
architecture of a realistic fixed wing aircraft system.Comment: We added new theoretical results in Section 2 and introduced a new
section 2.2 devoted to intuitive and physical explanations of the concepts
from the pape