Catalogue Search | MBRL
Search Results Heading
Explore the vast range of titles available.
MBRLSearchResults
-
DisciplineDiscipline
-
Is Peer ReviewedIs Peer Reviewed
-
Item TypeItem Type
-
SubjectSubject
-
YearFrom:-To:
-
More FiltersMore FiltersSourceLanguage
Done
Filters
Reset
16
result(s) for
"Rathee, Amit"
Sort by:
Mining Reusable Software Components from Object-Oriented Source Code using Discrete PSO and Modeling Them as Java Beans
2020
Object-based software development in the IT-industry during the last decade has focused on reusing the already developed elements. Current software development models and technologies promote software reuse by utilizing component-oriented programming. Component-oriented programming provides more effective reuse as compared to its object-oriented language counterpart. This is because a component provides more abstractness in terms of the functionality in contrast to the object-oriented software element (e.g. class/ interface). The component-based development is highly dependent on the availability of the component library that contains well-defined and already tested functionality in terms of the available components. However, the suitable availability of such component library is still a problem. The lack of a suitable component library is tackled either by designing new components from scratch or by identifying them from the existing software systems. These identified components must be transformed as per component models, such as a Java Bean, in order to increase software reuse and faster software development, and little research has been carried out in this direction. Although many approaches have been proposed to identify components from existing systems and build a component library. But, such approaches lack in transforming the identified components as per specifications of a component model. Further identification of reusable elements also needs to be more accurate and efficient. Accuracy is dependent on the structural and semantic properties of a component. A component can consist of a single or a group of individual elements of the software, and thus identifying components from a set of all elements becomes an exponentially growing problem. Such problems can be more efficiently solved using metaheuristic algorithms. Therefore, this paper targets identifying accurately the components from a singular existing software system and transform those identified components to the Java Bean component model standard. The component identification approach of this paper is based on clustering the underlying software system by utilizing a metaheuristic search-based PSO algorithm. The clusters are identified as a group containing 2/ 3/ 4 software elements. Moreover, the used fitness function is based on the structural (based on usage for member variables) and semantic relations belonging to a software. Since the PSO algorithm is generally applied to continuous problems, whereas our formulated component identification problem is discrete (due to the representation of particles) in nature. Therefore, we have also provided a mechanism through which the PSO algorithm is modified to become applicable to discrete problems. From the obtained clusters (components), the interfaces of the components are identified by identifying independent chains in call-graphs of the underlying components. Finally, these components are transformed as per the Java Bean component model specifications. The proposed approach is validated experimentally on 7 open-source object-oriented Java software systems and results are compared with competitive approaches. The obtained results confirm the correctness of the transformed component and hence their reusability.
Journal Article
Improving Software Modularity Using Software Remodularization: Challenges and Opportunities
2023
Long-period maintenance of software often causes the original program modularization to decay, resulting in a degraded quality of the software. Placement of software artifacts, namely code files or classes in a suboptimal manner among software packages is one of the most common causes of this decaying modularization of software. Software remodularization (remodularization) is an old reverse engineering approach that helps in alleviating this issue by improving the quality of software modularization. However, in literature, a multitude of software remodularization approaches exists leaving researchers and developers in a dilemma of choosing appropriate remodularization criteria. Therefore, this paper carries out a Systematic Literature Review (SLR) of the last two decades and presents concise information by answering different relevant research questions important to both developers and researchers of this field. This paper considers 54 research articles as primary studies.
Journal Article
Power Coordination for Efficient Resource Allocation in D2D Communication In 5G Networks
2022
Device to device communication for mobile networks establishes connections between parameters of mobile devices. As the number of D2D connections and resources are increasing, optimization of power allocation and spectrum feasibility is required. Most of the proposed algorithm schemes for resource allocation support slow-moving D2D terminals in a cellular network, therefore causing huge amount of signalling loss and reducing the efficiency of the cellular network. In energy and spectrum efficiency for the wireless network to meet the power requirement in D2D communication for better resource allocation in upcoming 5G technology is required. The proposed approach outplays the older power distribution approach using MATLAB simulation. The optimal allocation of resources and spectrum can enhance the system throughput with resource allocation techniques. D2D nodes not only perform better frequency resources but also provide better energy-efficient communication by using power control.
Journal Article
Feature-based critical components identification in multimedia software
by
Chhabra, Jitender Kumar
,
Rathee, Amit
in
1179: Multimedia Software Engineering: Challenges and Opportunities
,
Alliances
,
Clustering
2022
Software maintenance is a necessary and frequently occurring activity in software engineering. However, different factors such as inadequate documentation, project size, complex dependencies, and hard to understand architecture cause software maintenance to consume a large part of project resources. Therefore, it is important to assist the newcomers by providing program comprehension facilities that can reveal important information about the software system and can speed up the maintenance tasks. This important information about software includes knowledge about the core part (classes, components, design, etc.) of the system that mainly controls its whole functionality. In literature, different researches attempted to determine core part of the software using various structural, dynamic, and network metrics and termed them as key or critical classes. These approaches have an open scope for modeling coupling relations among different elements of software and most of these approaches need human expertise to identify key classes of the software. Moreover, multimedia software systems are generally interface driven and thus many micro level classes collectively constitute macro level units called as multimedia components. Therefore, this paper focuses to identify key critical units of the multimedia software at component level. The proposed approach in this paper consists of three main phases. In the first phase, different features of a class are identified and assigned a coupling based functional score that represents its significance in the overall functionality of the class. In the second phase, different independent components present in the multimedia software are identified by modeling the system as a dependency graph at the class level. Finally, key critical components of the multimedia software are identified by performing hierarchical agglomerative clustering based on the dependency strength among different identified components. The proposed approach is empirically evaluated on open-source multimedia software of different sizes and the obtained results support the feasibility and usability of the proposed approach of this paper.
Journal Article
Multi-dimensional information-driven many-objective software remodularization approach
2023
Most of the search-based software remodularization (SBSR) approaches designed to address the software remodularization problem (SRP) areutilizing only structural information-based coupling and cohesion quality criteria. However, in practice apart from these quality criteria, there require other aspects of coupling and cohesion quality criteria such as lexical and changed-history in designing the modules of the software systems. Therefore, consideration of limited aspects of software information in the SBSR may generate a sub-optimal modularization solution. Additionally, such modularization can be good from the quality metrics perspective but may not be acceptable to the developers. To produce a remodularization solution acceptable from both quality metrics and developers’ perspectives, this paper exploited more dimensions of software information to define the quality criteria as modularization objectives. Further, these objectives are simultaneously optimized using a tailored many-objective artificial bee colony (MaABC) to produce a remodularization solution. To assess the effectiveness of the proposed approach, we applied it over five software projects. The obtained remodularization solutions are evaluated with the software quality metrics and developers view of remodularization. Results demonstrate that the proposed software remodularization is an effective approach for generating good quality modularization solutions.
Journal Article
Reusability in multimedia softwares using structural and lexical dependencies
2019
Software reuse focuses on developing software using reusability principles. Component Based Software Engineering (CBSE) is one of the approaches that support software reuse by utilizing reusable software components. Many approaches have been proposed in the literature to mine reusable components from existing object-oriented software. But, almost all of these approaches are dependent on the selection of third-party application software as clients. Therefore, this paper proposes a reusable component identification approach from the source-code of a singular object-oriented software system especially related to multimedia tools. The proposed approach is based on making use of two kinds of dependency relations among different software elements namely structural and lexical relations. These relations, help us to measure cohesion at the component level using two proposed cohesion metrics. The cohesion values are further used as objective functions in the multi-objective search-based evolutionary algorithm, namely NSGA-III to identify the set of reusable components as different clusters. The proposed approach is validated by applying it to six open source Java applications of different sizes and belonging to multimedia domains.
Journal Article
Extraction and Evaluation of Software Components from Object-Oriented Artifacts
2021
A doctoral thesis is summarized in this paper that focuses on strengthening the Component-Based Software Development (CBSD) approach by proposing an efficient approach for extracting and evaluating reusable software components from an Object Oriented (OO) software by utilizing its various artifacts. The carried out research work mainly consists of two main steps: (1) extracting a possible set of components by utilizing optimal software artifacts and clustering techniques; (2) identifying reusable components by evaluating the quality of different components using the proposed reusability metric suite. The carried out research work significantly helps in identifying and extracting the reusable components for the CBSD environment and the proposed metric suite helps in evaluating the quality of all components.
Journal Article
Improving Code Smell Detection by Reducing Dimensionality Using Ensemble Feature Selection and Machine Learning
2024
Code smells negatively impact software maintenance and several mitigation tools and/ or techniques have been devised in the past. However, their interpretation is subjective and threshold-dependent. To overcome this limitation several supervised machine learning classifiers have been suggested in the past. However, their performance is highly dependent on the quality of the available dataset. An imbalanced dataset highly degrades a classifier's performance. Moreover, the size of the dataset (in terms of used training and testing features) directly affects the performance and time parameters of the classifier. A reduced dimensionality generally improves the performance and training/ testing time of the classifier. Therefore, this paper aims to propose a new ensemble feature selection technique that helps significantly reduce the dataset’s dimensionality (used features for training and testing purposes). Moreover, the performance of the proposed approach is experimentally evaluated by considering six classifiers for identifying six code smells from the dataset. The suitability of different classifiers in detecting considered code smells is evaluated in two cases, namely by considering all features at once and by considering selected features suggested by the proposed approach. Based on the experimentation, we conclude that the proposed approach is capable of improving and achieving sufficiently high accuracy (> 95%).
Journal Article
Data Sharing Storage Mechanism for Software as a Service using Meta-Data
2013
Software as a service referred as on-demand software is a software delivery model in which software and associated data are centrally hosted on the cloud. A multi-tenant database is the primary characteristic of SaaS which allows SaaS vendors to run a single application which supports multiple tenants on the same hardware and software infrastructure. This application should be highly customizable to meet tenants expectations and business requirements. This paper examined the current solutions on multi-tenancy and proposed a meta-data driven data-sharing storage model for multi-tenant applications. This enables tenants to extend their own database during multi-tenant application execution to satisfy their business needs. An experimental results show that this model made a good balance between efficiency and customization.
Journal Article
User authentication of industrial internet of things (IIoT) through Blockchain
2023
The Industrial IoT is starting an enormous advancement occasion in the industrial epoch. Data security as well as privacy becomes a challenge in almost every field in the real life for the duration of monitoring and collection of data in Industrial Internet of Things (IIoT) applications. The security and privacy of data in IIoT depends on the user’s reliability that can be obtained by using the user authentication scheme otherwise unable to secure the IIoT applications data. Many authors have proposed the user authentication schemes in industrial internet of things who suffer from some hindrances such as data security, throughput, single point of failure, storage problem and latency (due to which increases the eavesdropping attacks chances). Therefore, to eliminate the above security issues, this paper proposes a new hybrid authentication approach instead of that also increases the throughput of IIoT applications, reduces the latency as well as enhances the accuracy of IIoT users. To create smart contracts of user authentication approaches by using the PKI and ECC algorithms, whereas it helps to achieve the privacy preservation. Instead of that, ECC that constructs the trustworthy user authentication blockchain scheme which enhance the privacy further as well as helps to maintain the number of keys along, every time keys are updated continuously. Moreover, we implement the proposed approach on the Ethereum blockchain and put all the data through smart contract on the decentralized IPFS cloud server which is transparent, secure, traceable, and storage utilization. Only authenticated users can interface with IIoT applications, even if someone tries to corrupt them, and then revoke the digital certificate from the user. It will be known from the performance of this paper that the proposed approach not only provides the privacy of the users but also obtains the high authentication accuracy, throughput and reduces the latency in comparison of existing approach.
Journal Article