Results 1 -
6 of
6
On software quality-motivated design of a real-time framework for complex robot control systems
- IN PROCEEDINGS OF THE 7TH INTERNATIONAL WORKSHOP ON SOFTWARE QUALITY AND MAINTAINABILITY (SQM), IN CONJUNCTION WITH THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR
, 2013
"... ..."
EFFECTS OF DEPENDENCY INJECTION ON MAINTAINABILITY
"... Software maintenance consumes around 70 % of the software life cycle. Improving software maintainability could save software developers significant time and money. This paper examines whether the pattern of dependency injection significantly reduces dependencies of modules in a piece of software, th ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
(Show Context)
Software maintenance consumes around 70 % of the software life cycle. Improving software maintainability could save software developers significant time and money. This paper examines whether the pattern of dependency injection significantly reduces dependencies of modules in a piece of software, therefore making the software more maintainable. This hypothesis is tested with 20 sets of open source projects from sourceforge.net, where each set contains one project that uses the pattern of dependency injection and one similar project that does not use the pattern. The extent of the dependency injection use in each project is measured by a new Number of DIs metric created specifically for this analysis. Maintainability is measured using coupling and cohesion metrics on each project, then performing statistical analysis on the acquired results. After completing the analysis, no correlation was evident between the use of dependency injection and coupling and cohesion numbers. However, a trend towards lower coupling numbers in projects with a dependency injection count of 10 % or more was observed.
1Maintainability and Source Code Conventions: An Analysis of Open Source Projects
"... Abstract—Maintainability is a desirable property of software, and a variety of metrics have been proposed for measuring it, all based on different notions of complexity. Although these metrics are useful, complexity is only one factor influencing maintainability. Practical experience in software dev ..."
Abstract
- Add to MetaCart
(Show Context)
Abstract—Maintainability is a desirable property of software, and a variety of metrics have been proposed for measuring it, all based on different notions of complexity. Although these metrics are useful, complexity is only one factor influencing maintainability. Practical experience in software development has led to a set of best practices and coding conventions that are believed to make source code easier to read, understand and maintain. Based on a survey of software engineers, we identify the relative importance of 71 coding conventions to maintainability. We propose a metric that offers a different perspective on maintenance, namely a “convention adherence” metric based on the number and severity of violations of these coding conventions. We examine the code repositories of four open-source Java projects to measure their adherence to coding conventions over the life of the project, based on both their self-identified conventions and those of the convention-adherence metric. Through our analysis, we discovered several interesting phenomena, including pre-release effort to bring new code in line with desirable conventions, effective usage of automated code convention checkers as part of the build process to improve adherence, variations in adherence over the software lifecycle, and a class of conventions consistently ignored in open source projects. I.
Towards an Architecture Maintainability Maturity Model (AM 3)
"... The maintainability of software systems is a crucial point in the software lifecycle. However, assessing the quality of the software’s architecture with respect to evolution is a challenging task. The evaluation of the maintainability of a system’s architecture is often made using scenario-based tec ..."
Abstract
- Add to MetaCart
(Show Context)
The maintainability of software systems is a crucial point in the software lifecycle. However, assessing the quality of the software’s architecture with respect to evolution is a challenging task. The evaluation of the maintainability of a system’s architecture is often made using scenario-based techniques. These techniques require a comprehensive anticipation of future adaptations of the systems. To circumvent this problem, a scenario-independent method is desirable to assess maintainability. Additionally, the comprehensibility of the architecture for third persons which were not involved in the initial design is an important aspect in the long-term. We therefore developed the Architecture Documentation Maturity Model (AM3) to assess the quality of the architecture’s documentation as this first of all influences comprehensibility. This model is a first step towards a more general approach to assess the maintainability of architectures, called Architecture Maintainability Maturity Model. 1
Contributors to Reduce Maintainability Cost at the Software Implementation Phase
"... Software maintenance is important and difficult to measure. The cost of maintenance is the most ever during the phases of software development. One of the most critical processes in software development is the reduction of software maintainability cost based on the quality of source code during desi ..."
Abstract
- Add to MetaCart
(Show Context)
Software maintenance is important and difficult to measure. The cost of maintenance is the most ever during the phases of software development. One of the most critical processes in software development is the reduction of software maintainability cost based on the quality of source code during design step, however, a lack of quality models and measures can help asses the quality attributes of software maintainability process. Software maintainability suffers from a number of challenges such as lack source code understanding, quality of software code, and adherence to programming standards in maintenance. This work describes model based-factors to assess the software maintenance, explains the steps followed to obtain and validate them. Such a method can be used to eliminate the software maintenance cost. The research results will enhance the quality of the source code. It will increase software understandability, eliminate maintenance time, cost, and give confidence for software reusability.
Predicting the Changeability of Software Product Lines for Business Application
"... The changeability, a sub-characteristic of maintainability, refers to the level of effort which is required to do modifications to a software product line (SPL) application component. Assuming dependencies between SPL application components and reference architecture implementation (a platform), thi ..."
Abstract
- Add to MetaCart
(Show Context)
The changeability, a sub-characteristic of maintainability, refers to the level of effort which is required to do modifications to a software product line (SPL) application component. Assuming dependencies between SPL application components and reference architecture implementation (a platform), this paper empirically investigates the relationship between 7 design metrics and changeability of 46 server components of a product line for business applications. In addition, we investigated the usefulness of Platform Responsibility (PR) metric as an indicator of product line component changeability. The results show that most of the design metrics are strongly related to the changeability of server component and also indicate statistically significant correlation between Maintainability Index (MI) and PR metric. The assessment is based on a case study of the implementation of the product line for business applications in a financial institution. The results show that PR metric can be used as good predictor of changeability in the software product line environment.