Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ankita Jain Bansal is active.

Publication


Featured researches published by Ankita Jain Bansal.


Expert Systems | 2015

Fault prediction considering threshold effects of object-oriented metrics

Ruchika Malhotra; Ankita Jain Bansal

Software product quality can be enhanced significantly if we have a good knowledge and understanding of the potential faults therein. This paper describes a study to build predictive models to identify parts of the software that have high probability of occurrence of fault. We have considered the effect of thresholds of object-oriented metrics on fault proneness and built predictive models based on the threshold values of the metrics used. Prediction of fault prone classes in earlier phases of software development life cycle will help software developers in allocating the resources efficiently. In this paper, we have used a statistical model derived from logistic regression to calculate the threshold values of object oriented, Chidamber and Kemerer metrics. Thresholds help developers to alarm the classes that fall outside a specified risk level. In this way, using the threshold values, we can divide the classes into two levels of risk - low risk and high risk. We have shown threshold effects at various risk levels and validated the use of these thresholds on a public domain, proprietary dataset, KC1 obtained from NASA and two open source, Promise datasets, IVY and JEdit using various machine learning methods and data mining classifiers. Interproject validation has also been carried out on three different open source datasets, Ant and Tomcat and Sakura. This will provide practitioners and researchers with well formed theories and generalised results. The results concluded that the proposed threshold methodology works well for the projects of similar nature or having similar characteristics.


Computer Languages, Systems & Structures | 2017

Empirical analysis of search based algorithms to identify change prone classes of open source software

Ankita Jain Bansal

There are numerous reasons leading to change in software such as changing requirements, changing technology, increasing customer demands, fixing of defects etc. Thus, identifying and analyzing the change-prone classes of the software during software evolution is gaining wide importance in the field of software engineering. This would help software developers to judiciously allocate the resources used for testing and maintenance. Software metrics can be used for constructing various classification models which can be used for timely identification of change prone classes. Search based algorithms which form a subset of machine learning algorithms can be utilized for constructing prediction models to identify change prone classes of software. Search based algorithms use a fitness function to find the best optimal solution among all the possible solutions. In this work, we analyze the effectiveness of hybridized search based algorithms for change prediction. In other words, the aim of this work is to find whether search based algorithms are capable for accurate model construction to predict change prone classes. We have also constructed models using machine learning techniques and compared the performance of these models with the models constructed using Search Based Algorithms. The validation is carried out on two open source Apache projects, Rave and Commons Math. The results prove the effectiveness of hybridized search based algorithms in predicting change prone classes of software. Thus, they can be utilized by the software developers to produce an efficient and better developed software. Used hybridized search based algorithms to identify change prone classes.For empirical validation, two open source projects (Apache Rave,Commons Math) used.Assessed performance of search based algorithms using g-mean and accuracy.Machine learning models constructed and performance compared with hybridised models.Results showed that hybridised models outperformed machine learning models.


advances in computing and communications | 2014

Cross project change prediction using open source projects.

Ruchika Malhotra; Ankita Jain Bansal

Predicting the changes in the next release of software, during the early phases of software development is gaining wide importance. Such a prediction helps in allocating the resources appropriately and thus, reduces costs associated with software maintenance. But predicting the changes using the historical data (data of past releases) of the software is not always possible due to unavailability of data. Thus, it would be highly advantageous if we can train the model using the data from other projects rather than the same project. In this paper, we have performed cross project predictions using 12 datasets obtained from three open source Apache projects, Abdera, POI and Rave. In the study, cross project predictions include both the inter-project (different projects) and inter-version (different versions of same projects) predictions. For cross project predictions, we investigated whether the characteristics of the datasets are valuable for selecting the training set for a known testing set. We concluded that cross project predictions give high accuracy and the distributional characteristics of the datasets are extremely useful for selecting the appropriate training set. Besides this, within cross project predictions, we also examined the accuracy of inter-version predictions.


international conference on computer communications | 2015

Predicting change using software metrics: A review

Ruchika Malhotra; Ankita Jain Bansal

Software change prediction deals with identifying the classes that are prone to changes during the early phases of software development life cycle. Prediction of change prone classes leads to higher quality, maintainable software with low cost. This study reports a systematic review of change prediction studies published in journals and conference proceedings. This review will help researchers and practitioners to examine the previous studies from different viewpoints: metrics, data analysis techniques, datasets, and experimental results perspectives. Besides this, the research questions formulated in the review allow us to identify gaps in the current technology. The key findings of the review are: (i) less use of method level metrics, machine learning methods and commercial datasets; (ii) inappropriate use of performance measures and statistical tests; (iii) lack of use of feature reduction techniques; (iv) lack of risk indicators used for identifying change prone classes and (v) inappropriate use of validation methods.


Journal of Information and Optimization Sciences | 2017

Identifying threshold values of an open source software using Receiver Operating Characteristics curve (ROC)

Ruchika Malhotra; Ankita Jain Bansal

Abstract Software metrics are widely used to predict the classes in a software that are comparatively more change prone than others. Developers construct various prediction models which are used for the prediction of change prone classes. Thus, focussed attention can be laid on such classes leading to saving of lots of resources in terms of money, manpower and cost. But construction and usage of the prediction models using metrics is not always efficient and practical for developers. Thus, the alternative approach can be to identify certain alarming values of metrics above which a class is said to be at high risk. These alarming values are known as thresholds of the metrics. The main focus of this study is to identify metric threshold values using receiver operating characteristic curves. We have used threshold values to identify change prone classes (or classes that may lead to some risk in future) so that developers can carefully examine and pay attention on those classes. The study has used five releases of an open source, widely used operating system, Android. To predict change prone classes in any release of software, the threshold values of its immediate predecessor release are used. For example, to predict change prone classes in Android 4.0, the threshold values of Android 2.3 are used. In addition to this, the threshold methodology based on receiver operating characteristics curve is compared with the traditional statistical methodology based on logistic regression. We conclude that researchers may use the methodology based on receiver operating characteristics curve to calculate the thresholds.


advances in computing and communications | 2016

An automated tool for generating change report from open-source software

Ruchika Malhotra; Ankita Jain Bansal; Sourabh Jajoria

Classes in object-oriented software systems are continuously subject to change. Change prediction is a very important activity in software development. Change data consists of the number of lines of codes added, deleted and modified for each common class between any two versions of a software system. It is important to develop tools to calculate change data and object-oriented metrics that will assist software practitioners in identifying change prone classes in early stages of the software development life cycle. In this paper, we develop a tool, Change Report Generator (CRG) to generate the change report from software source codes of various versions of open-source software. We also extend this tool to automate object-oriented metrics calculation from the source codes of software systems. The generated files store the total number of changes class wise and corresponding values of different object-oriented metrics for each common class between the two versions. This paper gives an overview of some of the applications of the collected data like statistical comparison of two versions and prediction of change-prone classes.


Journal of Computer Applications in Technology | 2016

Software change prediction: a literature review

Ruchika Malhotra; Ankita Jain Bansal

In industrial organisations, software products are quite large and complex, consisting of a number of classes. Thus, it is not possible to test all the products with a finite number of resources. Hence, it would be beneficial if we could predict in advance some of the attributes associated with the classes such as change proneness, defect proneness, maintenance effort, etc. In this paper, we have dealt with one of the quality attributes, i.e., change proneness. Changes in the software are unavoidable and thus, early prediction of change proneness will help the developers to focus the limited resources on the classes which are predicted to be change-prone. We have conducted a systematic review which evaluates all the available important studies relevant to the area of change proneness. This will help us to identify gaps in the current technology and discuss possible new directions of research in the areas related to change proneness.


International Journal of Systems Assurance Engineering and Management | 2018

Investigation of various data analysis techniques to identify change prone parts of an open source software

Ruchika Malhotra; Ankita Jain Bansal

Identifying and examining the change-prone parts of the software is gaining wide importance in the field of software engineering. This would help software practitioners to cautiously assign the resources for testing and maintenance. Software metrics can be used for constructing various classification models which allow timely identification of change prone classes. There have been various machine learning classification models proposed in the literature. However, due to varying results across studies, more research needs to be done to increase the confidence in the results and provide a valuable conclusion. In this paper, we have used a number of data analysis techniques (14 machine learning techniques and a statistical technique) to construct change prediction models and performed statistical testing to compare the performance of these models. The application of a large number of techniques will allow for fair evaluation and will thus, increase the conclusion validity of the study. The results are validated on five releases of an open source, widely used operating system in mobile phone and tablet computers, ‘Android’. To make the results more generalizable, we have also conducted inter-release and cross-project predictions. The results conclude that the machine learning techniques are effective in predicting change prone classes and thus, should be widely used by researchers and practitioners to reduce maintenance effort and thus efficient and better development of software.


2016 International Conference on Innovation and Challenges in Cyber Security (ICICCS-INBUSH) | 2016

Analyzing and assessing the security-related defects

Ankita Jain Bansal; Ruchika Malhotra; Kimaya Raje

The use of the Internet has become an integral part of everyones life. Due to this, the introduction of virus and other malicious crackers is increasing everyday. This in turn leads to the introduction of defects which adversely affect the security. Thus, protecting vital information in this cyber world is not an easy task. We need to deal with security related defects to ensure failure free and smooth functioning of the software. Thus, in this paper, we intend to study and analyze various aspects of security-related defects by analyzing the defect reports available in various open-source software repositories. Besides this, prediction models can also be constructed which can be used by researchers and practitioners to predict various aspects of security - related defects. Such prediction models are especially beneficial for large-scale systems, where testing experts need to focus their attention and resources to the problem areas of the system under development. Thus, application of software prediction models in the early phases of the software life cycle contributes to efficient defect removal and results in delivering more reliable and better quality software products. Empirical studies lack the use of proper research methodology and thus result in reporting inconsistent results. This study will review the sequence of steps followed in the research process for carrying empirical and replicated studies. The steps include (a) literature survey and definition of variables (b) data collection (c) report findings using statistical and machine learning techniques (d) analyzing performance measures for evaluating the performance of the predicted models and (e) interpretation of the obtained results for developing a software prediction model. These steps are explained with the help of experimental public domain data set. In addition, the paper provides an overview of repositories for mining software engineering data, tools for analyzing this data and various categories of machine learning methods. It also discusses existing research avenues and provides future research directions in this area.


International Journal of Applied Metaheuristic Computing | 2019

Cross-Project Change Prediction Using Meta-Heuristic Techniques

Ankita Jain Bansal; Sourabh Jajoria

Collaboration


Dive into the Ankita Jain Bansal's collaboration.

Top Co-Authors

Avatar

Ruchika Malhotra

Delhi Technological University

View shared research outputs
Top Co-Authors

Avatar

Sourabh Jajoria

Netaji Subhas Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

LinRuchika Malhotra

Delhi Technological University

View shared research outputs
Researchain Logo
Decentralizing Knowledge