software maintenance
Recently Published Documents


TOTAL DOCUMENTS

1339
(FIVE YEARS 130)

H-INDEX

47
(FIVE YEARS 4)

Author(s):  
Sameh S. Ismail ◽  
◽  
Shubair A. Abdullah

Assessment has always been fundamental to teaching as it aims to gauge the impact of the teaching on students learning. The current assessment in teaching computer literacy is objective assessment that focuses on making it intentional, informative, and formalized. Although this assessment is the best way when assessing large groups of students at one limited time, it has a drawback of being limited to check the knowledge of understanding terminology and recalling steps of a particular process. This study introduces a screen-capture technology based approach to performative and authentic assessment. It involved design and implementation of screen-capture assignments to assess computer maintenance skills. The sample consisted of 28 students enrolled in computer hardware and software maintenance classes. Data from students was collected through a multi-modal student survey and a semi-structured interview. The results analysis has indicated that screen-capture performative assessment promotes students’ engagement and learning level of solving real-world problems.


2022 ◽  
Vol 14 (1) ◽  
pp. 0-0

Software maintenance is an element-key of the life cycle of software. However,the techniques of software maintenance do not consider the diversity and the complexity of decisions which do not stop increasing. So, there are at present a few tools, susceptible to insure the relevance and the efficiency of the decision-making in this phase. The work presented in this paper aims to eliminate or at least to reduce the effect to fall in an expensive change by reducing the time to find a compromise on the adequate change. The development of the decision support system for software maintenance is an answer to the problem. The developed tool allows:-to make a fast diagnosis on the software by using the coupling metrics;-to help the decision-makers of the maintenance, according to their preferences often conflicting, to adopt a change among several proposed. To answer this group decision where various points of view are considered, we propose a negotiation protocol. This protocol try to find a compromise that suits best all the decision-makers.


2021 ◽  
Vol 9 (4A) ◽  
Author(s):  
Jaswinder Singh ◽  
◽  
Kanwalvir Singh Dhindsa ◽  
Jaiteg Singh ◽  
◽  
...  

In software development life cycle, software maintenance is among the critical phases. It is a post-implementation activity that requires rigorous human efforts. For any software developer, maintaining software for a longer period is the primary objective. This objective can be accomplished if good quality software is developed. Maintainability is one of the vital characteristics of software maintenance. Maintainability enables developers to keep the system alive for a longer period of time at a limited cost. Software Maintainability can be enhanced using reengineering. The proposed research validates improvement in the quality of the reengineered software system. The quality of the software is analyzed using a coupling, cohesion, inheritance, and other essential design metrics. The observed improvement in the software design is 62.1%. The execution time of the software is also reduced by 6.5%. Reduction in the cost of maintenance is also another important outcome of this research. The observed reduction in the maintenance cost is 36.8%. Thus, the main objective of the proposed research is to analyze and validate the quality improvement in the reengineered software. Agile Scrum methodology has been used to perform software reengineering. Design Metrics are measured using the Chidamber and Kemerer Java metric (CKJM) version-9.0 tool. For reengineering implementation, Net Beans 7.3 has been used.


2021 ◽  
Author(s):  
Shraddha Birari ◽  
Sukhada Bhingarkar

Source code summarization is the methodology of generating the description from the source code. The summary of the source code gives the brief idea of the functionality performed by the source code. Summary of the code is always necessary for software maintenance. Summaries are not only beneficial for software maintenance but also for code categorization and retrieval. Generation of summary in an automated fashion instead of manual intervention can save the time and efforts. Artificial Intelligence is a very popular branch in the field of computer science that demonstrates machine intelligence and covers a wide range of applications. This paper focuses on the use of Artificial Intelligence for source code summarization. Natural Language Processing (NLP) and Machine Learning (ML) are considered to be the subsets of Artificial Intelligence. Thus, this paper presents a critical review of various NLP and ML techniques implemented so far for generating summaries from the source code and points out research challenges in this field.


2021 ◽  
Vol 2021 ◽  
pp. 1-8
Author(s):  
Tong Wang ◽  
Yebin Chen ◽  
Xiaoyan Wang

Software architecture evolution may lead to architecture erosion, resulting in the increase of software maintenance cost, the deterioration of software quality, the decline of software performance, and so on. In order to avoid software architecture erosion, we should evaluate the evolution effect of software architecture in time. This paper proposes a prediction method for the evolution effects of software architecture based on BP network. Firstly, this method proposes four evolution principles and evaluates the overall evolution effects based on the combined measurements. Then, we extract the evolutionary activities from release notes. Finally, we establish a prediction model for evolution effect based on BP network. Experimental results show that the proposed method can be used to predict the evolution effect.


Mathematics ◽  
2021 ◽  
Vol 9 (21) ◽  
pp. 2822
Author(s):  
Tamas Galli ◽  
Francisco Chiclana ◽  
Francois Siewe

Execution tracing is a tool used in the course of software development and software maintenance to identify the internal routes of execution and state changes while the software operates. Its quality has a high influence on the duration of the analysis required to locate software faults. Nevertheless, execution tracing quality has not been described by a quality model, which is an impediment while measuring software product quality. In addition, such a model needs to consider uncertainty, as the underlying factors involve human analysis and assessment. The goal of this study is to address both issues and to fill the gap by defining a quality model for execution tracing. The data collection was conducted on a defined study population with the inclusion of software professionals to consider their accumulated experiences; moreover, the data were processed by genetic algorithms to identify the linguistic rules of a fuzzy inference system. The linguistic rules constitute a human-interpretable rule set that offers further insights into the problem domain. The study found that the quality properties accuracy, design and implementation have the strongest impact on the quality of execution tracing, while the property legibility is necessary but not completely inevitable. Furthermore, the quality property security shows adverse effects on the quality of execution tracing, but its presence is required to some extent to avoid leaking information and to satisfy legal expectations. The created model is able to describe execution tracing quality appropriately. In future work, the researchers plan to link the constructed quality model to overall software product quality frameworks to consider execution tracing quality with regard to software product quality as a whole. In addition, the simplification of the mathematically complex model is also planned to ensure an easy-to-tailor approach to specific application domains.


2021 ◽  
Vol 27 (1) ◽  
Author(s):  
Fengcai Wen ◽  
Csaba Nagy ◽  
Michele Lanza ◽  
Gabriele Bavota

AbstractMost changes during software maintenance and evolution are not atomic changes, but rather the result of several related changes affecting different parts of the code. It may happen that developers omit needed changes, thus leaving a task partially unfinished, introducing technical debt or injecting bugs. We present a study investigating “quick remedy commits” performed by developers to implement changes omitted in previous commits. With quick remedy commits we refer to commits that (i) quickly follow a commit performed by the same developer, and (ii) aim at remedying issues introduced as the result of code changes omitted in the previous commit (e.g., fix references to code components that have been broken as a consequence of a rename refactoring) or simply improve the previously committed change (e.g., improve the name of a newly introduced variable). Through a manual analysis of 500 quick remedy commits, we define a taxonomy categorizing the types of changes that developers tend to omit. The taxonomy can (i) guide the development of tools aimed at detecting omitted changes and (ii) help researchers in identifying corner cases that must be properly handled. For example, one of the categories in our taxonomy groups the reverted commits, meaning changes that are undone in a subsequent commit. We show that not accounting for such commits when mining software repositories can undermine one’s findings. In particular, our results show that considering completely reverted commits when mining software repositories accounts, on average, for 0.07 and 0.27 noisy data points when dealing with two typical MSR data collection tasks (i.e., bug-fixing commits identification and refactoring operations mining, respectively).


2021 ◽  
Author(s):  
Gumma B. Alshokry ◽  
Mohamed A. Hagal ◽  
Bilal A. Aljabour
Keyword(s):  

Sign in / Sign up

Export Citation Format

Share Document