Explore chapters and articles related to this topic
Software Maintenance
Published in B.S. Dhillon, Engineering Maintenance, 2002
During the early years of computing, software maintenance was a relatively small component of the overall software life cycle. Over the years, it has become a major factor. For example, in 1955, the proportion of time spent on maintenance was 23%; in 1970, it was 36%; and the prediction for 1985 was 58%.3,4 Software maintenance may be defined as the process of modifying the software system/component subsequent to delivery to rectify faults, improve performance or other attributes, or adapt to a change in the use environment.5,6
Software Engineering Paradigm for Real-Time Accurate Decision Making for Code Smell Prioritization
Published in Kavita Taneja, Harmunish Taneja, Kuldeep Kumar, Arvind Selwal, Eng Lieh Ouh, Data Science and Innovations for Intelligent Systems, 2021
Randeep Singh, Amit Bindal, Ashok Kumar
Software maintenance is a necessary and inevitable activity in software engineering. It helps in keeping a software system healthy with the continuous change mandated by the changing technical and business environments. Different kinds of change include bug fixing, capacity enhancement, removal of outdated functions, and performance improvement. Software maintenance is an ongoing activity and it constitutes about 75% of the total involved cost especially for large and complex software systems (April & Abran, 2012; Seacord, Plakosh, & Lewis, 2003). Different developer’s activities like reading, navigating, searching, and editing that is involved during the process of software maintenance possess a direct link along with the structural attributes of the underlying source code of the system (Soh, Yamashita, Khomh, & Guéhéneuc, 2016). Moreover, usually, strict deadlines along with various external constraints usually guide these activities. The external constraints includes: bad design decisions, inexperienced developers’ team, limited/no business knowledge, high workload and pressure on developers, little importance given to the quality aspect of the software system (Tufano et al., 2015; Vale, Souza, & Sant’Anna, 2014). Therefore, such activities/constraints result in the introduction of technical debts (Shull, Falessi, Seaman, Diep, & Layman, 2013) that ultimately negatively affects software maintenance. Data Science is a modern interdisciplinary computer science field that aims at extracting useful knowledge out of typically large-sized data (Hayashi, 1998). Software system plays important role in this data analysis phase of data science that handles complex mathematical and statistical data analysis, information visualization, etc. (Akerkar & Sajja, 2016). It is the opinion of the authors that such software systems are complex in design and maintaining them is a challenging task due to the frequently changing requirements of users. Moreover, code smell prioritization can further reduce involved maintenance efforts.
Extending data-driven model of software with software change request service
Published in Enterprise Information Systems, 2018
Zeljko Stojanov, Dalibor Dobrilovic, Jelena Stojanov
Software maintenance mainly relates to modifications of software systems after their delivery into target environments. Most of the costs of software systems occur in the maintenance phase of software life cycle (Jones 2010; Sommerville 2011; Concas et al. 2013; Bourque and Fairley 2014; Ulziit et al. 2015). Sousa (1998) reported that only 2.7% of specialists involved in software maintenance activities considered software maintenance process as being very efficient, while 70.2% of them thought that maintenance process has a very low efficiency level. According to Sousa, the costs and the complexity of maintenance are the consequences of the complexity of change requests, the complexity of systems to be changed or the lack of qualified software maintainers. In the practice, users expect software systems that are reliable and easy to maintain, while software development organizations see important economic benefits from maintenance. Users usually initiate maintenance activities by issuing maintenance requests that relate to: identified problems within software systems, enhancements of software systems, or adaptation of software systems to new conditions in environments (Junio et al. 2011; Sommerville 2011). In any case, the fundamental process in software maintenance relates to modification of software, and in that case maintenance request is named modification request or change request (which is adopted in this approach).
DevFemOps: enhancing maintainability based on microservices using formal engineering methods
Published in Connection Science, 2022
Tetsuo Fukuzaki, Shaoying Liu, Michael Butler
E. Burton Swanson (Burton Swanson, 1976) stated there are three bases of software maintenance, Corrective, Adaptive and Perfective maintenances. The Maintainability is a part of Perfective maintenance. An improvement in program maintainability is understood here to mean that the program will be more easily modified when it must be modified.