SearcharxivSearch

arXiv subjects

Md. Masudur Rahman

Publications and source records attributed to Md. Masudur Rahman.

5 recordsLinked to original sources

Do Internal Software Metrics Have Relationship with Fault-proneness and Change-proneness?

Fault-proneness is a measure that indicates the possibility of programming errors occurring within a software system. On the other hand, change-proneness refers to the potential for modifications to be made to the software. Both of these measures are crucial indicators of software maintainability, as they influence internal software metrics such as size, inheritance, and coupling, particularly when numerous changes are made to the system. In the literature, research has predicted change- and fault-proneness using internal software metrics that is almost a decade old. However, given the continuous evolution of software systems, it is essential to revisit and update our understanding of these relationships. Therefore, we have conducted an empirical study to revisit the relationship between internal software metrics and change-proneness, and faultproneness, aiming to provide current and relevant insights. In our study, we identified 25 internal software metrics along with the measures of change-proneness and fault-proneness within the wellknown open-source systems from the Apache and Eclipse ecosystems. We then analyzed the relationships between these metrics using statistical correlation methods. Our results revealed that most of the metrics have little to no correlation with fault-proneness. However, metrics related to inheritance, coupling, and comments showed a moderate to high correlation with change-proneness. These findings will assist developers to minimize the higher correlated software metrics to enhance maintainability in terms of change- and fault-proneness. Additionally, these insights can guide researchers in developing new approaches for predicting changes and faults by incorporating the metrics that have been shown to have stronger correlations.

cs.SE

Does Code Smell Frequency Have a Relationship with Fault-proneness?

Fault-proneness is an indication of programming errors that decreases software quality and maintainability. On the contrary, code smell is a symptom of potential design problems which has impact on fault-proneness. In the literature, negative impact of code smells on fault-proneness has been investigated. However, it is still unclear that how frequency of each code smell type impacts on the fault-proneness. To mitigate this research gap, we present an empirical study to identify whether frequency of individual code smell types has a relationship with fault-proneness. More specifically, we identify 13 code smell types and fault-proneness of the corresponding smelly classes in the well-known open source systems from Apache and Eclipse ecosystems. Then we analyse the relationship between their frequency of occurrences based on the correlation. The results show that Anti Singleton, Blob and Class Data Should Be Private smell types have strong relationship with fault-proneness though their frequencies are not very high. On the other hand, comparatively high frequent code smell types such as Complex Class, Large Class and Long Parameter List have moderate relationship with fault-proneness. These findings will assist developers to prioritize code smells while performing refactoring activities in order to improve software quality.

cs.SE

Existence of Stack Overflow Vulnerabilities in Well-known Open Source Projects

A stack overflow occurs when a program or process tries to store more data in a buffer (or stack) than it was intended to hold. If the affected program is running with special privileges or accepts data from untrusted network hosts (e.g. a web-server), then it is a potential security vulnerability. Overflowing a stack, an attacker can corrupt the stack in such a way as to inject executable code into the running program and take control of the process. This is one of the easiest and more reliable methods for attackers to gain unauthorized access to a computer. In this paper, we show that how stack overflow occurs and many open source projects, such as - Linux, Git, PHP, etc. contain such code portions in which it is possible to overflow the stacks as well as inject malicious script to harm the normal execution of the processes. In addition, this paper raises a concern to avoid writing such codes those are potentially sources for stack overflow attack.

cs.CR

Requirements Model for Cyber-Physical System

The development of cyber-physical system (CPS) is a big challenge because of its complexity and its complex requirements. Especially in Requirements Engineering (RE), there exist many redundant and conflict requirements. Eliminating conflict requirements and merged redundant/common requirements lead a challenging task at the elicitation phase in the requirements engineering process for CPS. Collecting and optimizing requirements through appropriate process reduce both development time and cost as every functional requirement gets refined and optimized at very first stage (requirements elicitation phase) of the whole development process. Existing researches have focused on requirements those have already been collected. However, none of the researches have worked on how the requirements are collected and refined. This paper provides a requirements model for CPS that gives a direction about the requirements be gathered, refined and cluster in order to developing the CPS independently. The paper also shows a case study about the application of the proposed model to transport system.

cs.SE

Material Independent Long Distance Pulling, Trapping, and Rotation of Fully Immersed Multiple Objects with a Single Optical Set-up

Optical pulling with tractor beams is so far highly dependent on (i) the property of embedding background or the particle itself , (ii) the number of the particles and/or (iii) the manual ramping of beam phase. A necessary theoretical solution of these problems is proposed here. This article demonstrates a novel active tractor beam for multiple fully immersed objects with its additional abilities of yielding a controlled rotation and a desired 3D trapping. Continuous and stable long distance levitation, controlled rotation and 3D trapping are demonstrated with a single optical set-up by using two coaxial, or even non-coaxial, superimposed non-diffracting higher order Bessel beams of reverse helical nature and different frequencies. The superimposed beam has periodic intensity variations both along and around the beam-axis because of the difference in longitudinal wave-vectors and beam orders, respectively. The difference in frequencies of two laser beams makes the intensity pattern move along and around the beam-axis in a continuous way without manual ramping of phase, which allows for either linear motion (forward or backward) or angular movement (clockwise or anticlockwise) of fully immersed multiple particles. As a major contribution, the condition for increasing the target binding regions is also proposed to manipulate multiple immersed objects of different sizes and shapes.

physics.optics