Nasib Singh Gill
Maharshi Dayanand University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Nasib Singh Gill.
ACM Sigsoft Software Engineering Notes | 2003
Nasib Singh Gill; P. S. Grover
Software industries are striving for new techniques and approaches that could improve software developer productivity, reduce time-to-market, deliver excellent performance and produce systems that are flexible, scalable, secure, and robust. Only software components can meet these demands and following this; component-based software engineering (CBSE) has emerged, which has generated tremendous interest in software development community. The paradigm shift to software components appears inevitable, necessitating drastic changes to current software development and business practices. The scope of this paper is to suggest few necessary guidelines for deriving component-based metrics. The paper discusses issues related to component-based development (CBD) and suggests a general definition of software component based on several existing definitions. Further, the paper outlines the necessity of component measurement and also discusses the limitations of traditional software metrics for component-based development (CBD) systems. Finally, this paper also suggest few necessary guidelines for CBD measurement and proposes some relevant metrics applicable to CBD systems, which after proper quantification and validation may help guiding risk and quality management of component-based systems.
ACM Sigsoft Software Engineering Notes | 2003
Nasib Singh Gill
Component-based development (CBD) advocates the acquisition, adaptation, and integration of reusable software components to rapidly develop and deploy complex software systems with minimum engineering effort and resource cost. Software reusability is an attribute that refers to the expected reuse potential of a software component. Software reuse not only improves productivity but also has a positive impact on the quality and maintainability of software products. The paper first discusses CBD and its associated challenges, and later outlines the issues concerning component reusability and its benefits in terms of cost and time-savings. Guidelines are presented to further assist software engineers in the development of reusable software products and to extract reusable components from existing software. Quality and productivity improvement activities within organisations adopting CBD can also benefit from the adoption of these guidelines.
ACM Sigsoft Software Engineering Notes | 2004
Nasib Singh Gill; P. S. Grover
Component-based software engineering (CBSE) represents an exciting and promising paradigm for software development. Software components are one of the key issues in CBSE. The software development community is continuously seeking new methods for improving software quality and enhancing development productivity. There is an increasing need for component-based metrics to help manage and foster quality in component-based software development. The traditional software product and process metrics are neither suitable nor sufficient in measuring the complexity of software components, which ultimately is necessary for quality and productivity improvement within organisations adopting CBSE. In this paper, we propose an interface complexity metric (ICM) aimed at measuring the complexity of a software component based on the interface characterisation model of a software component that mainly include such as interface signature, interface constraints, interface packaging and configurations. Based on the value of this metric, the complexity of the software component could be managed within reasonable complexity limits. In this way, the software components could be kept simple which in turn help in enhancing the quality and productivity.
ACM Sigsoft Software Engineering Notes | 2006
Nasib Singh Gill
Component-based software development (CBSD) is the process of assembling existing software components in an application such that they interact to satisfy a predefined functionality. This approach can potentially be used to reduce software development costs, assemble systems rapidly, and reduce the maintenance overhead. One of the key challenges faced by software developers is to make component-based development (CBD) an efficient and effective approach. Since components are to be reused across various products and product-families, components must be characterized and tested properly. The present paper is a survey paper and firstly, it discusses CBD and related issues that help improving software reuse. Testing of third party components is a very difficult task in the absence a properly characterized software component. Besides improving software reusability, component characterization also provides better understanding of architecture, better retrieval, better usage and better cataloguing. This paper mainly discusses the essence of proper component characterization that ultimately helps the developers in software reuse, which is highly desirable in component-based software development. Further, paper also discusses other benefits of component characterization that are most essential in component-based development.
ACM Sigsoft Software Engineering Notes | 2008
Nasib Singh Gill; Balkishan
Component-Based Development (CBD) practice is gaining popularity among software developers in the software industry. Researcher community is striving hard to identify the attributes characterizing component-based development and further proposing metrics that may help in controlling the complexity of the component-based systems. The present paper introduces a set of component-based metrics, namely, Component Dependency Metric (CDM) and Component Interaction Density Metric (CIDM), which measure the dependency and coupling aspects of the software components respectively. Graph theoretic notions have been used to illustrate the dependency and interaction among software components for all the four cases chosen for present study. Dependency and interaction-oriented complexity metrics for component-based systems have been computed. The results of the present study are quite encouraging and may further help the researchers in controlling the complexity of component-based systems so as to minimize the integration and maintenance costs.
ACM Sigsoft Software Engineering Notes | 2005
Nasib Singh Gill
Developing a good software system is a very complex task. In order to produce a good software product, several measures for software quality attributes need to be taken into account. System complexity measurement plays a vital role in controlling and managing software quality because it generally affects the software quality attributes like software reliability, software testability and software maintainability. Thus, software quality assurance (SQA) needs to be addressed keeping in view the new strategies, tool, methodologies and techniques applicable to software development life cycle.This paper is primarily aimed at revisiting and examining peculiar aspects of software development process that affect software quality management process. These aspects of software development process include software reliability measurement, ISO approach applicable to software quality and some aspects related to software testing improvement. Software testing and evaluation methods/tools/techniques do not guarantee effective testing and ensure high software quality. The way to improve the effectiveness of testing is to improve the attitude of software developers towards testing.In this paper, all these factors affecting software quality management have been discussed as well as all the possible improvements have been suggested. The results of this paper may be quite helpful to the researchers in quantifying the specific measuring tools for these software quality attributes.
ACM Sigsoft Software Engineering Notes | 2007
Nasib Singh Gill; Pradeep Tomar
Component-based software testing is an important capability that supports productivity and quality assurance in component-based software development. The increased size and complexity of software systems has led to the current focus on developing distributed applications that are constructed primarily using components. Thus, the component-based systems require efficient and effective ways to test these systems and need to develop effective techniques for testing various aspects of the components such as reusability, security, dependability and safety. Study on the subject by several researchers indicates that more than fifty percent of the cost of software development is devoted to testing and it results into very high cost for testing complex software. The present paper is aimed at improving component-based system testing while considering two factors: component-based system testing requirement and test case process documentation. Lastly, the paper also discusses the limitations of component-based software testing that hinders component-based development.
International Journal of Computer Applications | 2012
Rajan Gupta; Nasib Singh Gill
Financial statement fraud has reached the epidemic proportion globally. Recently, financial statement fraud has dominated the corporate news causing debacle at number of companies worldwide. In the wake of failure of many organisations, there is a dire need of prevention and detection of financial statement fraud. Prevention of financial statement fraud is a measure to stop its occurrence initially whereas detection means the identification of such fraud as soon as possible. Fraud detection is required only if prevention has failed. Therefore, a continuous fraud detection mechanism should be in place because management may be unaware about the failure of prevention mechanism. In this paper we propose a data mining framework for prevention and detection of financial statement fraud.
ACM Sigsoft Software Engineering Notes | 2010
Nasib Singh Gill; Pradeep Tomar
Component-based software engineering (CBSE) is a branch of software engineering, the priority of which is the separation of concerns in respect of the wide-ranging functionality available throughout a given software system. CBSE emphasizes on building system by reusing high quality configurable software components. This reduces its development cost as well as time-to-market and ensures higher reliability, better maintainability and quality by exploiting reusability. In the traditional approach, when a software system is going to be developed, the implementation has to be done from scratch. With the advent of Object-Oriented Technology (OOT), reusable software components have become an indispensable part of programming knowledge. In addition to those classes and methods included in standard libraries of programming languages, such as the Java API library, many reusable software components are developed by software development organizations specifically for reuse or repackaged from previously developed systems. We propose here a modified development process of CBSE and present our modified development process of CBSE for increasing reusability in different abstraction levels: architecture level, modular design level and framework level. This modified development process of CBSE change the reusability approach into two different approaches composition-based approach and generation-based. Lastly on the basis of these two approaches we divide component reuse into two different processes. First one is process of development of reusable components which is composition-based approach and second one is process of development with reusable components which is based on the generation-based according X model with the benefits of reusable components in programming
Lecture Notes on Software Engineering | 2013
Pradeep Tomar; Nasib Singh Gill
is an approach which is used to enhance the reusability with the development of component-based software from the preexisting software components or with the components which is developed from the scratch. A new algorithm is proposed for component selection by using best-fit strategy and first-fit strategy through X model which is used to develop componentbased software with two approaches likely development for reuse and development with reuse. But when reuse a preexisting software component through the development with reuse, component selection play an important role. Component selection for Component-Based Software Development (CBSD) is very challenging field for researchers and practitioners. This paper also presents the two component selection problem viz. Simple Component Selection Problems (SCSP) and Criteria Component Selection Problem (CCSP). On the basis of these two problems, this paper presents a new optimal solution with new algorithm for optimal component selection from repositories. Lastly, paper summarizes the factors used in algorithm for optimal selection of components with the help of X model repositories to fulfill the requirements of client by using SCSP and CCSP.