Search Results Heading

MBRLSearchResults

mbrl.module.common.modules.added.book.to.shelf
Title added to your shelf!
View what I already have on My Shelf.
Oops! Something went wrong.
Oops! Something went wrong.
While trying to add the title to your shelf something went wrong :( Kindly try again later!
Are you sure you want to remove the book from the shelf?
Oops! Something went wrong.
Oops! Something went wrong.
While trying to remove the title from your shelf something went wrong :( Kindly try again later!
    Done
    Filters
    Reset
  • Discipline
      Discipline
      Clear All
      Discipline
  • Is Peer Reviewed
      Is Peer Reviewed
      Clear All
      Is Peer Reviewed
  • Item Type
      Item Type
      Clear All
      Item Type
  • Subject
      Subject
      Clear All
      Subject
  • Year
      Year
      Clear All
      From:
      -
      To:
  • More Filters
13 result(s) for "class maintainability"
Sort by:
On the relationship of class stability and maintainability
Maintainability is an essential software quality attribute as software maintenance is a costly process. ISO 9126 characterised maintainability with five sub-characteristics, one of which is stability. Unstable software may lead to high maintenance cost and effort. Classes in object-oriented systems form the basic elements of the software architecture; hence, stable classes may contribute to reducing the software maintenance cost and effort. In this study, the author conducts an empirical study to evaluate the relationship between class stability and maintainability. The author correlates class stability with maintainability effort measured by the number of hours spent on maintenance activities and by the line of code changes. Results show that classes with higher values of stability measured by the class stability metric (CSM) are associated with a lower value of perfective maintenance effort measured by hours. CSM also correlated with all types of maintenance (corrective, adaptive and perfective) if measured for the cumulatively combined system classes in all iterations rather than per iteration. The author also found that none of the stability metrics show a relationship with maintainability when measured by number of line of code changes.
The Impact of Design-level Class Decomposition on the Software Maintainability
The quality of the software's internal structure tends to decay due to the adaptation to environmental changes. Therefore, it is beneficial to maintain the internal structure of the software to benefit future phases of the software life cycle. A common correlation exists between decaying internal structures and problems like software smell and maintenance costs. Refactoring is a process to maintain the internal structure of software artifacts based on the smell. Decomposition of classes is one of the most common refactoring actions based on Blob smell performed at the source code level. Moving the class decomposition process to the design artifact seems to affect the quality and maintainability of the source code positively. Therefore, studying the impact of design-level class decomposition on source code quality and software maintainability is essential to ascertain the benefits of implementing design-level class decomposition. The metrics-based evaluation shows that the design-level class decomposition positively impacts the source code quality and maintainability with the rank biserial value is 0.69.
Improving accuracy of code smells detection using machine learning with data balancing techniques
Code smells indicate potential symptoms or problems in software due to inefficient design or incomplete implementation. These problems can affect software quality in the long-term. Code smell detection is fundamental to improving software quality and maintainability, reducing software failure risk, and helping to refactor the code. Previous works have applied several prediction methods for code smell detection. However, many of them show that machine learning (ML) and deep learning (DL) techniques are not always suitable for code smell detection due to the problem of imbalanced data. So, data imbalance is the main challenge for ML and DL techniques in detecting code smells. To overcome these challenges, this study aims to present a method for detecting code smell based on DL algorithms (Bidirectional Long Short-Term Memory (Bi-LSTM) and Gated Recurrent Unit (GRU)) combined with data balancing techniques (random oversampling and Tomek links) to mitigate data imbalance issue. To establish the effectiveness of the proposed models, the experiments were conducted on four code smells datasets (God class, data Class, feature envy, and long method) extracted from 74 open-source systems. We compare and evaluate the performance of the models according to seven different performance measures accuracy, precision, recall, f -measure, Matthew’s correlation coefficient (MCC), the area under a receiver operating characteristic curve (AUC), the area under the precision–recall curve (AUCPR) and mean square error (MSE). After comparing the results obtained by the proposed models on the original and balanced data sets, we found out that the best accuracy of 98% was obtained for the Long method by using both models (Bi-LSTM and GRU) on the original datasets, the best accuracy of 100% was obtained for the long method by using both models (Bi-LSTM and GRU) on the balanced datasets (using random oversampling), and the best accuracy 99% was obtained for the long method by using Bi-LSTM model and 99% was obtained for the data class and Feature envy by using GRU model on the balanced datasets (using Tomek links). The results indicate that the use of data balancing techniques had a positive effect on the predictive accuracy of the models presented. The results show that the proposed models can detect the code smells more accurately and effectively.
Detecting broken receiver tubes in CSP plants using intelligent sampling and dual loss
Concentrated solar power (CSP) is one of the growing technologies that is leading the process of change from fossil fuels to renewable energies for electricity production. The sophistication and size of the systems require an increase in maintenance tasks to ensure reliability, availability, maintainability, and safety. Currently, automatic detection of broken glass envelopes of receiver tubes in CSP plants using parabolic trough collector systems has two main drawbacks: 1) the devices in use need to be manually placed near the receiver tube, 2) the machine learning–based solutions have only been tested in constrained environments. We address both gaps by combining the data collected by an unmanned aerial vehicle with data provided by sensors placed within 7 real CSP plants. The resulting dataset is the first of this type and can help standardize research activities for the problem of fault detection in this type of power plant. Our work proposes supervised machine-learning algorithms for detecting broken envelopes of the receiver tubes in CSP plants. The proposed solution takes the class imbalance problem into account, boosting the accuracy of the algorithms for the minority class without harming the overall performance of the models. For a deep residual network, we solve an imbalance and a balance problem at the same time, which increases the recall of the minority class by 5% with no harm to the F1 score. Additionally, the random under-sampling technique boosts the performance of traditional machine learning models. The histogram gradient boost classifier was found to be the algorithm with the highest increase (3%) in the F1 score. To the best of our knowledge, this paper is the first to provide an automated solution to this problem using data from operating plants, drones, and highly unbalanced datasets.
Refactoring practices in the context of data-intensive systems
Developers often refactor code to improve the maintainability and comprehension of the software. There are many studies on refactoring activities in traditional software systems. However, refactoring in data-intensive systems is not well explored. Understanding the refactoring practices of developers is important to develop efficient tool support. We conducted a longitudinal study of refactoring activities in data-access classes using 29 SQL and NoSQL database based data-intensive systems. We investigated the prevalence, co-occurrence, and evolution of data-access refactorings, and the association of data-access refactorings with data-access smells. We also conducted a manual analysis of 500 samples of data-access refactoring instances to identify the functionalities of the code that are targeted by such refactorings. Furthermore, we analyzed 500 sample data-access refactoring commits to understand the context behind the applied refactorings and explored the characteristics and contribution of developers involved in the refactorings. We also conducted a developer survey to complement our analysis on the subject systems. Our results show that data-access refactorings are prevalent and different in type. Most of the data-access refactorings target codes that implement data fetching and insertion, but they mostly do not modify data-access queries. Most of the data-access refactorings are done when adding or modifying features and during bug fixes. data-access refactoring is often performed by developers with higher development and refactoring experience. Overall, the results show that data-access refactorings focus on improving the code quality but not optimizing the underlying data-access operations by fixing data-access smells. Hence, more work is needed from the research community on providing awareness and support to practitioners on the benefits of addressing data-access smells with refactorings.
Exploratory study of the impact of project domain and size category on the detection of the God class design smell
Design smell detection has proven to be an efficient strategy to improve software quality and consequently decrease maintainability expenses. This work explores the influence of the information about project context expressed as project domain and size category information, on the automatic detection of the god class design smell by machine learning techniques. A set of experiments using eight classifiers to detect god classes was conducted on a dataset containing 12, 587 classes from 24 Java projects. The results show that classifiers change their behavior when they are used on datasets that differ in these kinds of project information. The results show that god class design smell detection can be improved by feeding machine learning classifiers with this project context information.
ID-22-569: Analysis of Antecedents of Consumers’ Attitude and Consumer Buying Behaviour towards Wellness Products
Worldwide utilization designs are impractical. Clearly effectiveness gains and innovative advances are not sufficiently adequate to support worldwide utilization. Thusly, customers need to zero in on supportable utilization, while organizations coordinate practices on reasonable creation. The reason for this study was to look at purchasers' purchasing conduct and customers' mentality on maintainable creation and utilization in the food and refreshment area. The hypothetical foundation of the review depended on the ideas of buyer purchasing conduct, maintainability and practical turn of events. The experimental piece of the review was directed by a quantitative exploration technique. The information assortment was carried out through an organized web-based poll that was planned to investigate a general buyer purchasing conduct and respondents' inspiration on moving its ongoing purchasing conduct towards manageable food decisions. The examination discoveries showed a positive inspiration and mentality of shoppers to conform to more economical utilization designs and their eagerness to add to the supportability progress as a person. It has been recognized that purchasers really should make inclinations towards brands, which conveys execution in view of supportability. Because of impediments in the explored populace among understudies in Finland and geological area, there are different potential outcomes to concentrate on the analyzed subject with future executions of the exploration.
Cross-Platform Drilling 3D Visualization System Based on WebGL
This study develops a novel drilling 3D visualization solution based on WebGL, termed as WebDrillingViz, and introduces the system architecture design and software programming implementation. The software is part of the Engineering Technology Internet of Things (IoT) System, interfacing with other software, and also capable of direct hardware interfacing for data retrieval and system control. It is fully web-based, used real time, and used in RTOC (Real-Time Operating Center) of IoT system, which is a software system for drilling process remote monitor and decision. WebDrillingViz uses the most frontier HTML5 technology to realize a brand-new drilling 3D visualization system. The front end is designed in single-page application (SPA) mode and adopts technologies such as angular, bootstrap, and WebGL. The front-end uses single page application (SPA) mode, Angular, Bootstrap, WebGL and other technologies are used. The back-end data services provide data interface support for front-end visualization applications based on HTTP protocol which uses NodeJS, a lightweight development platform suitable for cloud platform, and Restify to realize a REST JSON API. Both sides are using the same object-oriented oriented development language—TypeScript. The front-end develops an easy-to-extend 3D visualization class library based on WebGL for drilling. It is encapsulated as Angular modularization to form an Angular component, which can be used standalone or integrated into other Angular applications. At the same time, the back-end microservice architecture combined with container and cloud technology is easy to maintain, deploy, and expand and has the advantages of being lightweight, cross-platform, flexible, and efficient. Using HTML5 standard and Bootstrap's responsive layout achieves cross-platform, which can support different operating systems and screen sizes. The system has better robustness and maintainability, thanks to the object-oriented and strong typing characteristics of TypeScript. Practical application shows that WebDrillingViz is efficient, capable of visualization of large drilling 3D scene, and compatible with mainstream devices, such as Windows, Linux, macOS, iOS, and Android. The use of open standards-based modern web technologies and data format enables a more lightweight and economical solution. WebGL, Angular, NodeJS, and TypeScript formed a powerful technology stack, which can be used as an excellent reference for other browser-based visualization development.
Building measure-based prediction models for UML class diagram maintainability
The usefulness of measures for the analysis and design of object oriented (OO) software is increasingly being recognized in the field of software engineering research. In particular, recognition of the need for early indicators of external quality attributes is increasing. We investigate through experimentation whether a collection of UML class diagram measures could be good predictors of two main subcharacteristics of the maintainability of class diagrams: understandability and modifiability. Results obtained from a controlled experiment and a replica support the idea that useful prediction models for class diagrams understandability and modifiability can be built on the basis of early measures, in particular, measures that capture structural complexity through associations and generalizations. Moreover, these measures seem to be correlated with the subjective perception of the subjects about the complexity of the diagrams. This fact shows, to some extent, that the objective measures capture the same aspects as the subjective ones. However, despite our encouraging findings, further empirical studies, especially using data taken from real projects performed in industrial settings, are needed. Such further study will yield a comprehensive body of knowledge and experience about building prediction models for understandability and modifiability.[PUBLICATION ABSTRACT]
Modeling Design/Coding Factors That Drive Maintainability of Software Systems
It is cost-effective for software practitioners to monitor and control quality of software systems from the early phases of development. Assessing and modeling the effects of design and coding factors on software system maintainability can help provide heuristics to human designers and programmers to reduce maintenance costs and improve quality. This paper presents a study based on intuitive and experimental analyses that use a suite of twenty design/code measures to obtain indications of their effect on maintainability. This paper lists several important contributions of the work, one of which is the investigation of an unprecedentedly large number of systems (fifty) in a single study. The previous related studies on the other hand, have investigated 2-8 systems. The results reported in this paper using experimental procedures are unique, many of which have not been empirically established in the previous literatures, and are interesting because they are not normally intuitively obvious in most cases. The study also serves to empirically validate those results that seem to be intuitive. The results of the study indicate a number of promising effects of design and coding factors on system maintainability. The use of the results from the relatively early phases of software development could significantly help practitioners to improve the quality of systems and thus optimize maintenance costs. [PUBLICATION ABSTRACT]