Article
Chemistry, Multidisciplinary
Tjasa Hericko, Bostjan Sumak
Summary: During software maintenance, continuous correction and enhancement activities are required. This often leads to high costs and time consumption, surpassing the initial developmental expenses. To manage software development and maintenance better, various measures of maintainability have been proposed. The Maintainability Index is commonly used to quantitatively assess the ease of software maintenance. An experiment conducted on 45 Java-based object-oriented software systems showed that the choice of maintainability index variant could impact the perception of maintainability. However, despite different values among variants, they were strongly positively correlated and generally indicated similar trends in maintainability evolution.
APPLIED SCIENCES-BASEL
(2023)
Article
Computer Science, Software Engineering
Javier Yuste, Abraham Duarte, Eduardo G. Pardo
Summary: In software projects, maintenance tasks often consume a significant portion of the total costs, with the majority of efforts dedicated to understanding the program. To enhance software maintainability, the code is typically organized into components and modules based on good design principles, aiming to reduce coupling and increase cohesion. The Software Module Clustering Problem (SMCP) is an optimization problem that seeks to maximize the modularity of software projects within the context of Search-Based Software Engineering. In this work, a new heuristic algorithm is proposed for software modularization, utilizing a Greedy Randomized Adaptive Search Procedure with Variable Neighborhood Descent. The algorithm demonstrates improved performance in terms of Modularization Quality compared to existing approaches, and has the potential to be integrated into real-time software development tools for enhancing software project quality.
JOURNAL OF SYSTEMS AND SOFTWARE
(2022)
Article
Computer Science, Artificial Intelligence
Luca Ardito, Luca Barbato, Riccardo Coppola, Michele Valsesia
Summary: This study analyzes the characteristics of the Rust programming language using a set of common static software metrics and compares them with other popular languages. The findings suggest that Rust has advantages over C and C++ in certain aspects but performs worse compared to other object-oriented languages. Rust language exhibits average complexity and maintainability when compared with a set of popular languages.
PEERJ COMPUTER SCIENCE
(2021)
Article
Computer Science, Information Systems
Bahman Arasteh, Razieh Sadegi, Keyvan Arasteh, Peri Gunes, Farzad Kiani, Mahsa Torkamanian-Afshar
Summary: This study aims to solve the software module clustering problem using the proposed Olympiad optimization algorithm. The experimental results show that the algorithm outperforms previous approaches in terms of modularization quality, convergence, and stability, and can efficiently solve other discrete optimization problems.
JOURNAL OF KING SAUD UNIVERSITY-COMPUTER AND INFORMATION SCIENCES
(2023)
Article
Multidisciplinary Sciences
Xiaowei Wang, Yanqiao Chen, Jiashan Jin, Baohua Zhang
Summary: This paper proposes a prediction model based on a hybrid fuzzy c-means clustering algorithm and fuzzy network method, which combines expert knowledge and numerical data to achieve excellent interpretability, transparency, and accuracy.
SCIENTIFIC REPORTS
(2022)
Article
Green & Sustainable Science & Technology
Thomas Karanikiotis, Michail D. Papamichail, Andreas L. Symeonidis
Summary: This research emphasizes that software component maintainability is a continuous process rather than a one-time fix for technical debt. By evaluating the changing behavior of static analysis metrics, non-maintainable components could be identified around 50% ahead of the software life cycle.
Article
Chemistry, Multidisciplinary
Alok Mishra, Raed Shatnawi, Cagatay Catal, Akhan Akbulut
Summary: This paper systematically investigates research on software metric threshold calculation techniques and finds that a majority of studies rely on empirical analysis and apply statistical techniques to derive threshold values. Chidamber and Kemerer (CK) metrics are widely used in the research.
APPLIED SCIENCES-BASEL
(2021)
Article
Computer Science, Artificial Intelligence
Rizwan Muhammad, Aamer Nadeem, Muddassar Azam Sindhu
Summary: This study evaluates the effectiveness of two coupling metrics, Vovel-in and Vovel-out, in determining fault-prone entities in software systems. The results show that these metrics significantly improve the prediction of fault-prone classes and cover a significant amount of unique information.
PEERJ COMPUTER SCIENCE
(2021)
Article
Computer Science, Software Engineering
Bilal Mehboob, Chun Yong Chong
Summary: Measuring and estimating software component reusability is crucial to finding reusable candidates. It can help reduce development cost and facilitate software maintenance. However, assessing software reusability is challenging as developers must decide on reuse strategies and consider the stability of candidates. In this research, risk of change is proposed as a proxy measure for software stability and reuse, showing that high impact and high risk of change classes should be avoided for reuse.
SOFTWARE-PRACTICE & EXPERIENCE
(2023)
Article
Computer Science, Software Engineering
Yi-Ting Chen, Chin-Yu Huang, Tsung-Han Yang
Summary: Software development process involves various activities for developing, testing, maintaining, and evolving a software system. However, software maintenance occupies the majority of the cost and can lead to degrading software quality. To address this issue, this study proposes a multi-pattern clustering algorithm for software modularisation. Experimental results show that the proposed algorithm improves the modularisation quality by nearly 1.6 times compared to expert decomposition and has a 13% enhancement in producing results similar to human thinking.
Article
Computer Science, Artificial Intelligence
Liming Xiao, Guangquan Huang, Genbao Zhang
Summary: Modular technology is a significant trend in the manufacturing industry, especially in the transformation and upgrading processes. However, previous studies have overlooked the modularization of large-scale and complex mechanical products. This study proposes an action-granularity-oriented modularization strategy to obtain finer-granularity modules, emphasizing simplicity and generality. The strategy utilizes the concept of key action components and a modularity-driven factor system to cluster components into modules and constructs a synthetic association DSM using the design structure matrix theory and evidence theory. Additionally, a hybrid genetic algorithm method is developed to search for optimal modular schemes based on the synthetic association DSM.
NEURAL COMPUTING & APPLICATIONS
(2022)
Article
Computer Science, Information Systems
Abdullah Almogahed, Hairulnizam Mahdin, Mazni Omar, Nur Haryani Zakaria, Ghulam Muhammad, Zulfiqar Ali
Summary: Refactoring is a predominant approach for enhancing software product quality, but different refactoring methods have varying impacts on software quality. Existing literature lacks in-depth exploration of the reasons behind these impacts and refined protocols for employing these techniques. This research aims to explore and fine-tune the utilization mechanisms of refactoring methods, empowering software developers to make informed choices for quality enhancement.
Article
Computer Science, Information Systems
Abdullah Almogahed, Hairulnizam Mahdin, Mazni Omar, Nur Haryani Zakaria, Salama A. Mostafa, Salman A. AlQahtani, Pranavkumar Pathak, Shazlyn Milleana Shaharudin, Rahmat Hidayat
Summary: The expenses associated with software maintenance and evolution constitute a significant portion, surpassing more than 80% of the overall costs involved in software development. Refactoring plays a crucial role in streamlining maintenance activities and expenses, but its effect on quality attributes is inconsistent and conflicting. This research introduces a framework for classifying refactoring techniques based on their influence on internal quality attributes, providing valuable guidance for developers. By understanding the effects of different refactoring techniques, developers can make informed decisions and enhance specific aspects of their software, potentially reducing maintenance activities and costs.
Article
Computer Science, Hardware & Architecture
Gholamali Nejad Hajali Irani, Habib Izadkhah
Summary: Providing models for intelligent decision-making is crucial in software projects. This paper proposes a new model called Sahand, which utilizes a Relational Database Repository (RDP) to store source code and extract necessary information. This model extends open-source tools and provides an infrastructure for developers to extract information using SQL language or its extensions.
COMPUTER STANDARDS & INTERFACES
(2024)
Article
Physics, Multidisciplinary
Junfeng Lv, Tian Hui, Yongfeng Zhi, Yuelei Xu
Summary: With the development of image technology, automatic image captioning for infrared images has become increasingly important in various industries. This task is widely used in night security and understanding night scenes. However, generating captions for infrared images remains challenging due to differences in image features and the complexity of semantic information. To improve the correlation between descriptions and objects, we introduced YOLOv6 and LSTM as encoder-decoder structure and proposed an object-oriented attention method for infrared image captioning.
Article
Computer Science, Theory & Methods
Arpan Roy, Santonu Sarkar, Rajeshwari Ganesan, Geetika Goel
ACM COMPUTING SURVEYS
(2015)
Article
Computer Science, Theory & Methods
Nidhi Tiwari, Santonu Sarkar, Umesh Bellur, Maria Indrawan
ACM COMPUTING SURVEYS
(2015)
Article
Computer Science, Software Engineering
Sreekrishnan Venkateswaran, Santonu Sarkar
SOFTWARE-PRACTICE & EXPERIENCE
(2018)
Article
Computer Science, Information Systems
Antonio Pecchia, Stefano Russo, Santonu Sarkar
IEEE TRANSACTIONS ON SERVICES COMPUTING
(2020)
Article
Computer Science, Software Engineering
Santonu Sarkar, Ajai V. George, Sankar Manoj
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE
(2018)
Editorial Material
Computer Science, Software Engineering
Santonu Sarkar, Shubha Ramachandran, Sathish Kumar, Madhu K. Iyengar, K. Rangarajan, Saravanan Sivagnanam
Article
Computer Science, Software Engineering
Santonu Sarkar, Girish Maskeri, Shubha Ramachandran
JOURNAL OF SYSTEMS AND SOFTWARE
(2009)
Article
Computer Science, Information Systems
Subhajit Datta, Rumana Lakdawala, Santonu Sarkar
Summary: The study demonstrates that the inter-domain presence of research topics is influenced by the collective eminence of researchers, the number of authors, and the closeness of topics clusters. These findings have implications for defining and sustaining research agendas, as well as advancing the computing discipline.
IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING
(2021)
Article
Computer Science, Software Engineering
Gargi Alavani, Santonu Sarkar
Summary: This study presents a model for predicting the execution time of NVIDIA GPU kernels using static analysis of CUDA code, avoiding the need to run the code. By building memory access penalty models and a scheduling algorithm, combined with dynamic analysis, the execution time of the code was successfully estimated. Experimental results demonstrate the effectiveness of this approach across different architectures of NVIDIA GPUs.
CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE
(2022)
Article
Computer Science, Information Systems
Sreekrishnan Venkateswaran, Santonu Sarkar
Summary: The article discusses the containerized deployment of microservices and proposes a novel fitness-aware containerization-as-a-service to address the challenges faced by developers in selecting and deploying containers across different cloud providers. Leveraging machine learning techniques, automation is achieved through two-phase pruning and relationship discovery.
IEEE TRANSACTIONS ON SERVICES COMPUTING
(2021)
Proceedings Paper
Computer Science, Software Engineering
Subhajit Datta, Aniruddha Mysore, Haziqshah Wira, Santonu Sarkar
Summary: This study explores the variations of clustering, connection, and separation between developers over time in large software development ecosystems. It reveals that developers cluster closely at the beginning of a project when the system architecture is unstable, then separate and stabilize around a certain value, while their connections continue to increase throughout the observation period. The findings provide insights into the evolutionary trends of large scale software development and can help in improving team assembly and governance processes.
2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2021)
(2021)
Proceedings Paper
Computer Science, Theory & Methods
Nidhi Tiwari, Santonu Sarkar, Umesh Bellur, Maria Indrawan
2014 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE
(2014)
Proceedings Paper
Computer Science, Hardware & Architecture
Geetika Goel, Rajeshwari Ganesan, Santonu Sarkar, Kavish Kaup
PROCEEDINGS OF THE 2012 IEEE 18TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS 2012)
(2012)
Article
Computer Science, Software Engineering
Santonu Sarkar, Girish Maskeri Rama, Avinash C. Kak
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2007)