13 research outputs found
Program analysis for code duplication in logic programs
In this PhD project, we deal with the issue of code duplication in logic programs. In particular semantical duplication or redundancy is generally viewed as a possible seed of inconvenience in all phases of the program lifecycle, from development to maintenance. The core of this research is the elaboration of a theory of semantical duplication, and of an automated program analysis capable of detecting such duplication and which could steer, to some extent, automatic refactoring of program code
Analysis of database maintenance data using graphical and statistical techniques
In-service data for a large database system at the Rolls-Royce
marine business site was analysed to investigate whether easy to
obtain metrics from an information system can be used to predict
likely future maintenance requirements. Graphical methods were
compared and contrasted with more rigorous statistical techniques.
It was found that the graphical methods could give a useful insight
of possible trends and also helped identify and track the influence
of external shocks to the system. The application of regression
analysis was less successful with no statistically significant
relationships detected. It is concluded that the flexibility and
adaptability of the graphical methods are likely to be more useful
to project managers
SIMPLIFIED READABILITY METRICS
This paper describes a new approach to measuring the complexity of software systems
with considering their readability. Readability Metrics were first proposed by Chung
and Yung 181 in 1990. Software industry uses software metrics to measure the
complexity of software systems for software cost estimation, software development
control, software assurance, software testing, and software maintenance [3], [71, [9], 151,
[18]. Most of the software metrics measure the software complexity by one or more of
the software attributes. We usually class@ the software attributes that software metrics
use for measuring complexity into three categories: size, control flow, and data flow [5],
f71. All the three categories concern with the physical activities of software
development. Readability Metrics have been outstanding among the existing software
complexity metrics for taking nonphysical software attributes, like readability, into
considerations [8]. The applications of Readability Metrics are good in indicating the
additional efforts required for less readable software systems, and help in keeping the
software systems maintainable. However, the numerous metrics and the complicated
formulas in the family usually make it tedious to apply Readability Metrics to large
scale software systems. In this paper, we propose a simplified approach to Readability
Metrics. We reduce the number of required measures and keep the considerations on
software readability. We introduce our Readability model in a more formal way. The
Readability Metrics preprocesses algorithm is developed with compilers front-end
techniques. The experiment results show that this simplified approach has good
predictive power in measuring software complexity with software readability, in
addition to its ease of applying. The applications of Readability Metrics indicate the
readability of software systems and help in keeping the source code readable and
maintainable.Information Systems Working Papers Serie
Aufwandschätzung und Produktivität in der Softwareentwicklung : Probleme und Problemlösungsansätze
Softwareentwicklungsprojekte sind vielfach durch gravierende Termin- und Budgetüberschreitungen gekennzeichnet. Sofern Methoden und Verfahren zur Aufwandschätzung hierfür ausschlaggebend sind, kommen bestehende Meßprobleme des Software Engineering bzw. der Softwaremetrie zum Tragen, die durch verbesserte Interpretation eingeschränkt werden können. Ein solcher Lösungsansatz wird nachfolgend in seinen Grundzügen vorgestellt
SIMPLIFIED READABILITY METRICS
This paper describes a new approach to measuring the complexity of software systems
with considering their readability. Readability Metrics were first proposed by Chung
and Yung 181 in 1990. Software industry uses software metrics to measure the
complexity of software systems for software cost estimation, software development
control, software assurance, software testing, and software maintenance [3], [71, [9], 151,
[18]. Most of the software metrics measure the software complexity by one or more of
the software attributes. We usually class@ the software attributes that software metrics
use for measuring complexity into three categories: size, control flow, and data flow [5],
f71. All the three categories concern with the physical activities of software
development. Readability Metrics have been outstanding among the existing software
complexity metrics for taking nonphysical software attributes, like readability, into
considerations [8]. The applications of Readability Metrics are good in indicating the
additional efforts required for less readable software systems, and help in keeping the
software systems maintainable. However, the numerous metrics and the complicated
formulas in the family usually make it tedious to apply Readability Metrics to large
scale software systems. In this paper, we propose a simplified approach to Readability
Metrics. We reduce the number of required measures and keep the considerations on
software readability. We introduce our Readability model in a more formal way. The
Readability Metrics preprocesses algorithm is developed with compilers front-end
techniques. The experiment results show that this simplified approach has good
predictive power in measuring software complexity with software readability, in
addition to its ease of applying. The applications of Readability Metrics indicate the
readability of software systems and help in keeping the source code readable and
maintainable.Information Systems Working Papers Serie
Brief review of classical Effort Estimation models for Software development projects
A critical synthesis on the most representative models for software development project effort estimation is provided. This work is a basis for a discussion about the methodological and practical challenges which entail the effort estimation field, specially in the mathematical/statistical modelling fundamentals, and its empirical verification in the software industry
Recommended from our members
A software classification scheme
Reusing code is one approach to software reusability. Code is the end product of the software lifecycle. It is delivered in a low level representation that is difficult to reuse unless an almost perfect match exists between available features and required specifications. There is a need to organize large inventories of software such that reusable code is easy to locate and exchange. The relative success in the reuse of code fragments reported by some software factories is due in part to their capacity to encapsulate domain specific functions and create specialized libraries of components classified by these locally standardized functions.A general software classification scheme that organizes reusability related attributes and common functions from different domains is proposed as a partial solution to the software reusability problem. For the problem of selecting from similar, potentially reusable. components, a partial solution based on evaluation of common characteristics is also proposed. A library system is presented that integrates the proposed classification scheme with an evaluation mechanism based on inherent component attributes, programming languages characteristics and reuser experience.The fundamental contribution of this dissertation is a formal treatment of a faceted scheme for software classification leading to better understanding of reusability at the code level. This approach has been prototyped in a library system for the semi-automatic classification of software components. Analysis were performed to evaluate the classification scheme. The results show the potential of the scheme in organizing collections of code fragments, in improving retrieval, and in simplifying the classification process. Tests of the evaluation mechanism showed positive correlation with evaluations conducted by potential reusers
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
Quantifying the Software Maintenance Task: an Empirical Study of Complexity Metrics Across Versions
This study concerns the discussion of popular software metrics, models and their applications. The thesis presents an empirical investigation of selected software metrics and also an empirical validation for a new metric, the residual complexity metric, based on industrial data.Computing and Information Science
Recommended from our members
Quantitative functional complexity analysis of commercial software systems
Digitisation of this thesis was sponsored by Arcadia Fund, a charitable fund of Lisbet Rausing and Peter Baldwin