Manjari Gupta - Academia.edu (original) (raw)
Papers by Manjari Gupta
Enhanced quality with reduced cost and reduced time-tomarket is the primary goal of any software ... more Enhanced quality with reduced cost and reduced time-tomarket is the primary goal of any software industry. Researchers and practitioners are trying to aspire it with many techniques. Object-oriented framework is the promising technology to promote reuse, thus realizing desired goal. Inherently complex design and large size of a framework make it difficult to understand the framework, thus inhibit the purpose of reuse of framework. Conventionally, test is performed after the implementation phase of the waterfall model and any fault detection at this stage is a very costly affair. In this paper, we are introducing Hook_Test document to assist in test-first development approach of instantiation of framework known as Hook-Driven Test-First Development (HDTFD) of framework based application. Hook_Test guides the user of the framework to generate hook method specification based test cases for different types of hooks. These test cases can be further customized during the framework instant...
International Journal of Advanced Research in Computer Science, 2019
Software Frameworks attempt to capture and implement a software system architecture that is reusa... more Software Frameworks attempt to capture and implement a software system architecture that is reusable. A frameworks, thus, is a semicode that needs to be customized for a particular reuse. The problem of finding an optimal task allocation in distributed computing system (DCS) is an NP-hard. There are various task allocation algorithms and hence a Task Allocator may implement any of them. Any Task Allocator, hence will have many portions that can be reused to define and implement a Task Allocator. In distributed system a Task Allocation mechanism may be replaced by a new one if a standardized definition of a reusable system architecture for this purpose is available. This work attempts at formalizing a system architecture of a Task Allocator by proposing a framework for the purpose. Here we start the design methodology for OO software and identify the various parts of the software system architecture for task allocation. This effort finally results into a semicode framework. The interesting conclusions include "Identification of that code portion of the semicode framework that does not change when reused", "Characteristics of the code portion that need customization" and the nature of framework definitions that need to be coded at the time of reuse. In this work OO design of various activities of task allocation process has been carried out as per the OO design methodology. To be objects have been identified the dynamic and functional modeling along with identification use cases, corresponding scenarios and data flow diagrams.
Communications in Computer and Information Science, 2018
Journal of Computer Science and Technology
Journal of scientific research
In object oriented software, design pattern gives the particular solution for common design probl... more In object oriented software, design pattern gives the particular solution for common design problems. In software engineering it's very difficult task to find out design information due to improper documentation of software systems. It is very much necessary to recover pattern instances so that system would be understandable and can do modifications in them. Actually recovery of design patterns play a significant role in object oriented programming for software developers and researchers during development of system software and their maintenance. Hence mining of design patterns are very important. The paper describes detection of design patterns from software or system design by using the String Encoding Format in which pattern and system graphs are transformed in string after that process of matching is performed to extract instances from software systems. Here we match string of system design graph and design pattern graph using structural analysis.
SN Applied Sciences
Design patterns are general reusable solutions for recurrent occurring problems. When software sy... more Design patterns are general reusable solutions for recurrent occurring problems. When software systems become more complicated due to the lack of documentation of design patterns in software and the maintenance and evolution costs become a challenge. Design pattern detection is used to reduce the complexity and to increase the understandability of the design in the software. In this paper, we propose a design pattern detection approach based on tree-based machine learning algorithms and software metrics to study the effectiveness of software metrics in distinguishing between similar structural design patterns. We build our datasets using P-MARt repository by extracting the roles of design patterns and calculating the metrics for each role. We used parameter optimization techniques based on the Grid search algorithm to define the optimal parameter of each algorithm. We used two feature selection methods based on a genetic algorithm to find features that influence the most in the distinguishing process. Through our experimental study, we showed the effectiveness of machine learning and software metrics when distinguishing similar structure design patterns. Moreover, we extracted the essential metrics in each dataset that supported the machine learning model to take its decision. We presented the detection conditions for each role in the design pattern by extracting them from the decision tree model.
International Journal of Computer Sciences and Engineering
International Journal of Engineering & Technology
Meta-patterns are a sort of basic object-oriented constructs that have been used to design an obj... more Meta-patterns are a sort of basic object-oriented constructs that have been used to design an object-oriented framework. It has been used to precisely describe possible design pattern of a framework at meta-level to manifest framework hot-spots and its corresponding adaptability. The present study is an attempt to develop a genetic algorithm approach for detecting the types and numbers of meta-patterns. For this purpose we have converted the UML class diagram of object-oriented framework and meta-patterns into directed graph and applied hybrid genetic algorithm. The obtained results from the proposed algorithm are further validated manually with the recall and precision percentage of 86.20 and 80.64 respectively. Overall the study demonstrates the utility of the uniquely proposed algorithm for the near accurate identification of meta-patterns for high reusability. This can be applied on frameworks for assessing the evolution process, documentation of hot-spots and reducing the custo...
Evolutionary Intelligence
International Journal of System and Software Engineering, 2015
International Journal of Computer Applications, 2016
Design patterns have been proposed as a technique to introduce reuse in design phase. In industry... more Design patterns have been proposed as a technique to introduce reuse in design phase. In industry, it is focused to reuse design patterns as a reusable part when designing a new application. Reusable Design Pattern, that are proven solutions to common design problems, to improves many qualities of applications like Reusability and its maintainability. If better reusability is required for an application where design patterns were used, then an automated tool that can detect the used design pattern in the application will be useful. Therefore, a reliable design pattern discovery is required to promote software reusability. The techniques of finding an isomorphic sub-graph were used to solve design pattern detection in past. Furthermore, we are applying a hybrid genetic algorithm for sub-graph isomorphism problem which uses an incremental approach to detect design patterns. Moreover, detection is done with increasing the size of sub-problem step by step. A hybrid GA is applied to each sub-problem, initialized with the evolved population of previous step. This proposed work of identifying and then later reusing of design pattern facilitate to bring software design in reduced time and consequently expedite software reusability.
International Journal of Computer Applications, 2015
During last decade, software developers have given much more attention to the aspects and aspect-... more During last decade, software developers have given much more attention to the aspects and aspect-oriented programming (AOP). It offers a unique module to encapsulate scattered and tangled code. This approach might be helpful to solve the problem of crosscutting concerns. To the best of our knowledge, there are few reports are available in open source on design and programming part of framework, especially in modularising framework hot spots. Further, these reports are limited to the systematic approach for developing flexible hot spots. In this paper, we propose an aspect-oriented approach to redesign of hot spots by explaining how framework hot spots are related to the scattering and tangling problem. Further, we also introduced a comprehensive approach for descattering and untangling of hot spots using template-hook model in which these methods are rehabilitated into aspect. Our approach might be beneficial in the reusability of aspectoriented implementation of a framework that is more flexible and modular. Besides that, the present study is suitable for being applied in available frameworks.
Proceeding for the 4th Annual International Conference on Software Engineering & Applications (SEA 2013), 2013
Communications in Computer and Information Science, 2011
Abstract. Design Pattern Detection is a part of many solutions to Software Engineering problems. ... more Abstract. Design Pattern Detection is a part of many solutions to Software Engineering problems. It is a part of reengineering process and thus gives significant information to the designer. Design Pattern improves the program understanding and software ...
Communications in Computer and Information Science, 2010
Design Pattern Detection is a part of many solutions to Software Engineering difficulties. It is ... more Design Pattern Detection is a part of many solutions to Software Engineering difficulties. It is a part of reengineering process and thus gives important information to the designer. Design Pattern existence improve the program understanding and software maintenance. With the help of these patterns specific design problem can be solved and object oriented design become more flexible and reusable. Hence
Communications in Computer and Information Science, 2010
In many object oriented softwares, there are recurring patterns of classes. Design pattern instan... more In many object oriented softwares, there are recurring patterns of classes. Design pattern instances are important for program understanding and software maintenance.Hence a reliable design pattern mining is required. Here we are applying decision tree approach followed by subgraph isomorphism technique for design pattern detection.
2010 3rd International Conference on Computer Science and Information Technology, 2010
Design Pattern Detection is a part of many solutions to Software Engineering difficulties. It is ... more Design Pattern Detection is a part of many solutions to Software Engineering difficulties. It is a part of reengineering process and thus gives important information to the designer. Design Pattern existence improve the program understanding and software maintenance. With the help of these patterns specific design problem can be solved and object oriented design become more flexible and reusable. Hence a reliable design pattern mining is required. A GIS is an information system designed to work with data referenced by spatial / geographical coordinates. Here we are detecting design patterns so that it can be used as a conceptual tool to cope with recurrent problems appearing in the GIS domain. In this way, GIS applications can evolve smoothly, because maintenance is achieved by focusing on different concerns at different times.
Enhanced quality with reduced cost and reduced time-tomarket is the primary goal of any software ... more Enhanced quality with reduced cost and reduced time-tomarket is the primary goal of any software industry. Researchers and practitioners are trying to aspire it with many techniques. Object-oriented framework is the promising technology to promote reuse, thus realizing desired goal. Inherently complex design and large size of a framework make it difficult to understand the framework, thus inhibit the purpose of reuse of framework. Conventionally, test is performed after the implementation phase of the waterfall model and any fault detection at this stage is a very costly affair. In this paper, we are introducing Hook_Test document to assist in test-first development approach of instantiation of framework known as Hook-Driven Test-First Development (HDTFD) of framework based application. Hook_Test guides the user of the framework to generate hook method specification based test cases for different types of hooks. These test cases can be further customized during the framework instant...
International Journal of Advanced Research in Computer Science, 2019
Software Frameworks attempt to capture and implement a software system architecture that is reusa... more Software Frameworks attempt to capture and implement a software system architecture that is reusable. A frameworks, thus, is a semicode that needs to be customized for a particular reuse. The problem of finding an optimal task allocation in distributed computing system (DCS) is an NP-hard. There are various task allocation algorithms and hence a Task Allocator may implement any of them. Any Task Allocator, hence will have many portions that can be reused to define and implement a Task Allocator. In distributed system a Task Allocation mechanism may be replaced by a new one if a standardized definition of a reusable system architecture for this purpose is available. This work attempts at formalizing a system architecture of a Task Allocator by proposing a framework for the purpose. Here we start the design methodology for OO software and identify the various parts of the software system architecture for task allocation. This effort finally results into a semicode framework. The interesting conclusions include "Identification of that code portion of the semicode framework that does not change when reused", "Characteristics of the code portion that need customization" and the nature of framework definitions that need to be coded at the time of reuse. In this work OO design of various activities of task allocation process has been carried out as per the OO design methodology. To be objects have been identified the dynamic and functional modeling along with identification use cases, corresponding scenarios and data flow diagrams.
Communications in Computer and Information Science, 2018
Journal of Computer Science and Technology
Journal of scientific research
In object oriented software, design pattern gives the particular solution for common design probl... more In object oriented software, design pattern gives the particular solution for common design problems. In software engineering it's very difficult task to find out design information due to improper documentation of software systems. It is very much necessary to recover pattern instances so that system would be understandable and can do modifications in them. Actually recovery of design patterns play a significant role in object oriented programming for software developers and researchers during development of system software and their maintenance. Hence mining of design patterns are very important. The paper describes detection of design patterns from software or system design by using the String Encoding Format in which pattern and system graphs are transformed in string after that process of matching is performed to extract instances from software systems. Here we match string of system design graph and design pattern graph using structural analysis.
SN Applied Sciences
Design patterns are general reusable solutions for recurrent occurring problems. When software sy... more Design patterns are general reusable solutions for recurrent occurring problems. When software systems become more complicated due to the lack of documentation of design patterns in software and the maintenance and evolution costs become a challenge. Design pattern detection is used to reduce the complexity and to increase the understandability of the design in the software. In this paper, we propose a design pattern detection approach based on tree-based machine learning algorithms and software metrics to study the effectiveness of software metrics in distinguishing between similar structural design patterns. We build our datasets using P-MARt repository by extracting the roles of design patterns and calculating the metrics for each role. We used parameter optimization techniques based on the Grid search algorithm to define the optimal parameter of each algorithm. We used two feature selection methods based on a genetic algorithm to find features that influence the most in the distinguishing process. Through our experimental study, we showed the effectiveness of machine learning and software metrics when distinguishing similar structure design patterns. Moreover, we extracted the essential metrics in each dataset that supported the machine learning model to take its decision. We presented the detection conditions for each role in the design pattern by extracting them from the decision tree model.
International Journal of Computer Sciences and Engineering
International Journal of Engineering & Technology
Meta-patterns are a sort of basic object-oriented constructs that have been used to design an obj... more Meta-patterns are a sort of basic object-oriented constructs that have been used to design an object-oriented framework. It has been used to precisely describe possible design pattern of a framework at meta-level to manifest framework hot-spots and its corresponding adaptability. The present study is an attempt to develop a genetic algorithm approach for detecting the types and numbers of meta-patterns. For this purpose we have converted the UML class diagram of object-oriented framework and meta-patterns into directed graph and applied hybrid genetic algorithm. The obtained results from the proposed algorithm are further validated manually with the recall and precision percentage of 86.20 and 80.64 respectively. Overall the study demonstrates the utility of the uniquely proposed algorithm for the near accurate identification of meta-patterns for high reusability. This can be applied on frameworks for assessing the evolution process, documentation of hot-spots and reducing the custo...
Evolutionary Intelligence
International Journal of System and Software Engineering, 2015
International Journal of Computer Applications, 2016
Design patterns have been proposed as a technique to introduce reuse in design phase. In industry... more Design patterns have been proposed as a technique to introduce reuse in design phase. In industry, it is focused to reuse design patterns as a reusable part when designing a new application. Reusable Design Pattern, that are proven solutions to common design problems, to improves many qualities of applications like Reusability and its maintainability. If better reusability is required for an application where design patterns were used, then an automated tool that can detect the used design pattern in the application will be useful. Therefore, a reliable design pattern discovery is required to promote software reusability. The techniques of finding an isomorphic sub-graph were used to solve design pattern detection in past. Furthermore, we are applying a hybrid genetic algorithm for sub-graph isomorphism problem which uses an incremental approach to detect design patterns. Moreover, detection is done with increasing the size of sub-problem step by step. A hybrid GA is applied to each sub-problem, initialized with the evolved population of previous step. This proposed work of identifying and then later reusing of design pattern facilitate to bring software design in reduced time and consequently expedite software reusability.
International Journal of Computer Applications, 2015
During last decade, software developers have given much more attention to the aspects and aspect-... more During last decade, software developers have given much more attention to the aspects and aspect-oriented programming (AOP). It offers a unique module to encapsulate scattered and tangled code. This approach might be helpful to solve the problem of crosscutting concerns. To the best of our knowledge, there are few reports are available in open source on design and programming part of framework, especially in modularising framework hot spots. Further, these reports are limited to the systematic approach for developing flexible hot spots. In this paper, we propose an aspect-oriented approach to redesign of hot spots by explaining how framework hot spots are related to the scattering and tangling problem. Further, we also introduced a comprehensive approach for descattering and untangling of hot spots using template-hook model in which these methods are rehabilitated into aspect. Our approach might be beneficial in the reusability of aspectoriented implementation of a framework that is more flexible and modular. Besides that, the present study is suitable for being applied in available frameworks.
Proceeding for the 4th Annual International Conference on Software Engineering & Applications (SEA 2013), 2013
Communications in Computer and Information Science, 2011
Abstract. Design Pattern Detection is a part of many solutions to Software Engineering problems. ... more Abstract. Design Pattern Detection is a part of many solutions to Software Engineering problems. It is a part of reengineering process and thus gives significant information to the designer. Design Pattern improves the program understanding and software ...
Communications in Computer and Information Science, 2010
Design Pattern Detection is a part of many solutions to Software Engineering difficulties. It is ... more Design Pattern Detection is a part of many solutions to Software Engineering difficulties. It is a part of reengineering process and thus gives important information to the designer. Design Pattern existence improve the program understanding and software maintenance. With the help of these patterns specific design problem can be solved and object oriented design become more flexible and reusable. Hence
Communications in Computer and Information Science, 2010
In many object oriented softwares, there are recurring patterns of classes. Design pattern instan... more In many object oriented softwares, there are recurring patterns of classes. Design pattern instances are important for program understanding and software maintenance.Hence a reliable design pattern mining is required. Here we are applying decision tree approach followed by subgraph isomorphism technique for design pattern detection.
2010 3rd International Conference on Computer Science and Information Technology, 2010
Design Pattern Detection is a part of many solutions to Software Engineering difficulties. It is ... more Design Pattern Detection is a part of many solutions to Software Engineering difficulties. It is a part of reengineering process and thus gives important information to the designer. Design Pattern existence improve the program understanding and software maintenance. With the help of these patterns specific design problem can be solved and object oriented design become more flexible and reusable. Hence a reliable design pattern mining is required. A GIS is an information system designed to work with data referenced by spatial / geographical coordinates. Here we are detecting design patterns so that it can be used as a conceptual tool to cope with recurrent problems appearing in the GIS domain. In this way, GIS applications can evolve smoothly, because maintenance is achieved by focusing on different concerns at different times.