scispace - formally typeset
Search or ask a question

Comparative Study of the Factors that Affect Maintainability

01 Jan 2011-
TL;DR: Different maintainability models from various standards and quality models are presented and some sub-characteristics of these models are defined and analytical comparison of these sub- Characteristics is performed.
Abstract: The maintainability of the software system is becoming a very important characteristic due to growth in demand of quality software system. Software maintainability means the ease with which a software system or component can be modified to correct faults, improve performance or other attributes or adapt to a changed environment. The selection of best maintainability model is prime concern for developing quality software system. Every software maintainability model has some sub-characteristics which impact on maintainability directly or indirectly. This paper presents different maintainability models from various standards and quality models define its sub-characteristics and then perform analytical comparison of these sub-characteristics.
Citations
More filters
Journal ArticleDOI
TL;DR: The use of machine learning algorithms in predicting maintainability has increased since 2005 and the use of evolutionary algorithms has also begun in related sub-fields since 2010, and design metrics is still the most favored option to capture the characteristics of any given software before deploying it further in prediction model for determining the corresponding software maintainability.
Abstract: Software maintenance is an expensive activity that consumes a major portion of the cost of the total project Various activities carried out during maintenance include the addition of new features, deletion of obsolete code, correction of errors, etc Software maintainability means the ease with which these operations can be carried out If the maintainability can be measured in early phases of the software development, it helps in better planning and optimum resource utilization Measurement of design properties such as coupling, cohesion, etc in early phases of development often leads us to derive the corresponding maintainability with the help of prediction models In this paper, we performed a systematic review of the existing studies related to software maintainability from January 1991 to October 2015 In total, 96 primary studies were identified out of which 47 studies were from journals, 36 from conference proceedings and 13 from others All studies were compiled in structured form and analyzed through numerous perspectives such as the use of design metrics, prediction model, tools, data sources, prediction accuracy, etc According to the review results, we found that the use of machine learning algorithms in predicting maintainability has increased since 2005 The use of evolutionary algorithms has also begun in related sub-fields since 2010 We have observed that design metrics is still the most favored option to capture the characteristics of any given software before deploying it further in prediction model for determining the corresponding software maintainability A significant increase in the use of public dataset for making the prediction models has also been observed and in this regard two public datasets User Interface Management System (UIMS) and Quality Evaluation System (QUES) proposed by Li and Henry is quite popular among researchers Although machine learning algorithms are still the most popular methods, however, we suggest that researchers working on software maintainability area should experiment on the use of open source datasets with hybrid algorithms In this regard, more empirical studies are also required to be conducted on a large number of datasets so that a generalized theory could be made The current paper will be beneficial for practitioners, researchers and developers as they can use these models and metrics for creating benchmark and standards Findings of this extensive review would also be useful for novices in the field of software maintainability as it not only provides explicit definitions, but also lays a foundation for further research by providing a quick link to all important studies in the said field Finally, this study also compiles current trends, emerging sub-fields and identifies various opportunities of future research in the field of software maintainability

47 citations

Journal ArticleDOI
TL;DR: This review is discussing the description and categorization of accessible security properties, which refers to the capability of software to conclude of a creation on time and security attributes as well as durability.
Abstract: Security is a peak significant quality element in the pitch of software engineering. Software security improvement is easily done with the support of factors, models and metrics of security. Software security should be analyzed with the help of its security factors. Security dimension is the main attribute in evaluation, executing, and calculating security in the way to organize and develop quality of software. It is to be identified that qualifications of security factors increased through inspecting damages, discriminating susceptibility and attacks in design development process. This review is discussing the description and categorization of accessible security properties. Durability is an attribute of security that refers to the capability of software to conclude of a creation on time. Software security is affected with security attributes as well as durability. A stable state of the secure software enhances additional security.

34 citations


Cites background from "Comparative Study of the Factors th..."

  • ...As the time goes on viruses and malwares got active in the absence of any updated software....

    [...]

Journal ArticleDOI
TL;DR: This paper identified a set of commonly used software architectures in the software engineering literature and applied the Formal Concept Analysis technique to classify each one of these architectures according to ISO 25010 quality characteristics.
Abstract: As the complexity of software increases, the choice of the appropriate software architecture becomes a critical task. This paper provides a guideline for selecting the appropriate software architecture based on pertinent ISO 25010 quality characteristics. The guideline was established through an analytical survey of 113 papers published from 2010 to 2014. Through this survey, we first identified a set of commonly used software architectures in the software engineering literature. Secondly, we applied the Formal Concept Analysis technique to classify each one of these architectures according to ISO 25010 quality characteristics. Finally, we identified the relationships among ISO 25010 quality characteristics, which in turn helped us to develop a guideline on how to select the appropriate software architecture with respect to ISO 25010 quality characteristics. In order to make sure about the validation of the proposed guideline, a survey with industrial experts is in progress. Data were collected from two companies working in the software development field (ST2i and Telnet).

24 citations


Cites background from "Comparative Study of the Factors th..."

  • ...On the other hand, the study proposed by (Ghosh et al. 2011) focused on the factors affecting the software maintainability....

    [...]

Journal ArticleDOI
TL;DR: To what extent developers use a form of typing that affects the readability of a variable’s type and the length of its declaration and whether or not there is an adoption of a consistent set of guidelines in general and across each software project is investigated.
Abstract: When implicit typing with the “var” keyword was introduced into C#, it prompted contradictory opinions among developers. This paper starts by explaining the difference between implicit and explicit typing and then provides an overview of developers’ opinions and guidelines that are available online. This paper then reports on the results of a study that investigated how C# developers use and misuse implicit and explicit typing. This study involved analyzing the source code of 10 different open-source software projects including more than 16,500,000 lines of code and more than 930,000 variables. This study investigated to what extent developers use a form of typing that affects the readability of a variable’s type and the length of its declaration. It also investigated whether or not there is an adoption of a consistent set of guidelines in general and across each software project. A tool called “Code Analysis and Refactoring Engine for C#” (Care#) was developed and used to conduct the code analysis for this study.

5 citations

Proceedings ArticleDOI
21 Mar 2015
TL;DR: The primary objective of this paper is to investigate the design of MPMS framework taking into account the reusability concept and to evaluate theReusability of a presented MP MS framework, and the results show that the framework reUSability is satisfied.
Abstract: Mobile Patient Monitoring Systems (MPMS) enable the patients with chronic diseases to monitor themselves during their daily lives. However, the development of MPMS is very complex. To overcome this problem, the MPMS framework was introduced as an ideal reuse technique to overcome the development complexity of MPMS. While a few studies have designed such frameworks, reusability was neither considered in the design of these frameworks nor evaluated. This is despite the fact that reusability is among the primary characteristics that distinguish successful frameworks. Therefore, the primary objective of this paper is to investigate the design of MPMS framework taking into account the reusability concept and to evaluate the reusability of a presented MPMS framework. To achieve this objective, the framework reusability evaluation method was used. The results show that the framework reusability is satisfied.

2 citations

References
More filters
Book
01 Jan 1982
TL;DR: Software Engineering A Practitioner's Approach recognizes the dramatic growth in the field of software engineering and emphasizes new and important methods and tools used in the industry.
Abstract: From the Publisher: Well-suited for both the student and the working professional,Software Engineering A Practitioner's Approach recognizes the dramatic growth in the field of software engineering and emphasizes new and important methods and tools used in the industry.

8,224 citations


"Comparative Study of the Factors th..." refers background or methods in this paper

  • ...[52] Extensibility The ease with which an application or component can be enhanced in the future to meet changing requirements or goals....

    [...]

  • ...[52] Stability The capability of software product to avoid unexpected effects from modifications of software....

    [...]

  • ...[52] Understandability The capability of the software product to enable the user to understand whether the software is suitable and how it can be used for particular tasks and conditions of use....

    [...]

  • ...[52] Complexity The degree to which a component or system has a design and internal structure that is difficult to understand, maintain and verify....

    [...]

  • ...[52] Consistency The use of uniform design and documentation techniques throughout the software development project....

    [...]

Journal ArticleDOI
Eugene Miya1
TL;DR: The software engineering baccalaureate program consists of a rigorous curriculum of science, math, computer science, and software engineering courses.
Abstract: Software engineers work on multidisciplinary teams to identify and develop software solutions and to maintain software intensive systems of all sizes. The focus of this program is on the rigorous engineering practices necessary to build, maintain, and protect modern software intensive systems. Consistent with this focus, the software engineering baccalaureate program consists of a rigorous curriculum of science, math, computer science, and software engineering courses.

1,124 citations

Book
01 Jan 1980

666 citations

Journal ArticleDOI
R.G. Dromey1
TL;DR: The model supports building quality into software, definition of language-specific coding standards, systematically classifying quality defects, and the development of automated code auditors for detecting defects in software.
Abstract: A model for software product quality is defined, it has been formulated by associating a set of quality-carrying properties with each of the structural forms that are used to define the statements and statement components of a programming language. These quality-carrying properties are in turn linked to the high-level quality attributes of the International Standard for Software Product Evaluation ISO-9126. The model supports building quality into software, definition of language-specific coding standards, systematically classifying quality defects, and the development of automated code auditors for detecting defects in software. >

507 citations

Book
06 Jun 1987
TL;DR: This dissertation is the most detailed study of a metrics program ever done.
Abstract: For Grad level courses in software engineering, software development and software metrics. Explains what metrics are and when they are useful. Most detailed study of a metrics program ever done.

480 citations