Network


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

Hotspot


Dive into the research topics where Vivek Nair is active.

Publication


Featured researches published by Vivek Nair.


symposium on search based software engineering | 2016

An (Accidental) Exploration of Alternatives to Evolutionary Algorithms for SBSE

Vivek Nair; Tim Menzies; Jianfeng Chen

SBSE researchers often use an evolutionary algorithm to solve various software engineering problems. This paper explores an alternate approach of sampling. This approach is called SWAY (Samplying WAY) and finds the (near) optimal solutions to the problem by (i) creating a larger initial population and (ii) intelligently sampling the solution space to find the best subspace. Unlike evolutionary algorithms, SWAY does not use mutation or cross-over or multi-generational reasoning to find interesting subspaces but relies on the underlying dimensions of the solution space. Experiments with Software Engineering (SE) models shows that SWAY’s performance improvement is competitive with standard MOEAs while, terminating over an order of magnitude faster.


automated software engineering | 2018

Faster discovery of faster system configurations with spectral learning

Vivek Nair; Tim Menzies; Norbert Siegmund; Sven Apel

Despite the huge spread and economical importance of configurable software systems, there is unsatisfactory support in utilizing the full potential of these systems with respect to finding performance-optimal configurations. Prior work on predicting the performance of software configurations suffered from either (a) requiring far too many sample configurations or (b) large variances in their predictions. Both these problems can be avoided using the WHAT spectral learner. WHAT’s innovation is the use of the spectrum (eigenvalues) of the distance matrix between the configurations of a configurable software system, to perform dimensionality reduction. Within that reduced configuration space, many closely associated configurations can be studied by executing only a few sample configurations. For the subject systems studied here, a few dozen samples yield accurate and stable predictors—less than 10% prediction error, with a standard deviation of less than 2%. When compared to the state of the art, WHAT (a) requires 2–10 times fewer samples to achieve similar prediction accuracies, and (b) its predictions are more stable (i.e., have lower standard deviation). Furthermore, we demonstrate that predictive models generated by WHAT can be used by optimizers to discover system configurations that closely approach the optimal performance.


foundations of software engineering | 2017

Using bad learners to find good configurations

Vivek Nair; Tim Menzies; Norbert Siegmund; Sven Apel

Finding the optimally performing configuration of a software system for a given setting is often challenging. Recent approaches address this challenge by learning performance models based on a sample set of configurations. However, building an accurate performance model can be very expensive (and is often infeasible in practice). The central insight of this paper is that exact performance values (e.g., the response time of a software system) are not required to rank configurations and to identify the optimal one. As shown by our experiments, performance models that are cheap to learn but inaccurate (with respect to the difference between actual and predicted performance) can still be used rank configurations and hence find the optimal configuration. This novel rank-based approach allows us to significantly reduce the cost (in terms of number of measurements of sample configuration) as well as the time required to build performance models. We evaluate our approach with 21 scenarios based on 9 software systems and demonstrate that our approach is beneficial in 16 scenarios; for the remaining 5 scenarios, an accurate model can be built by using very few samples anyway, without the need for a rank-based approach.


IEEE Transactions on Software Engineering | 2018

Sampling as a Baseline Optimizer for Search-based Software Engineering

Jianfeng Chen; Vivek Nair; Rahul Krishna; Tim Menzies

Increasingly, Software Engineering (SE) researchers use search-based optimization techniques to solve SE problems with multiple conflicting objectives. These techniques often apply CPU-intensive evolutionary algorithms to explore generations of mutations to a population of candidate solutions. An alternative approach, proposed in this paper, is to start with a very large population and sample down to just the better solutions. We call this method “Sway”, short for “the sampling way”. This paper compares Sway versus state-of-the-art search-based SE tools using seven models: five software product line models; and two other software process control models (concerned with project management, effort estimation, and selection of requirements) during incremental agile development. For these models, the experiments of this paper show that Sway is competitive with corresponding state-of-the-art evolutionary algorithms while requiring orders of magnitude fewer evaluations. Considering the simplicity and effectiveness of Sway, we, therefore, propose this approach as a baseline method for search-based software engineering models, especially for models that are very slow to execute.


Information & Software Technology | 2017

Beyond evolutionary algorithms for search-based software engineering

Jianfeng Chen; Vivek Nair; Tim Menzies

Abstract Context Evolutionary algorithms typically require large number of evaluations (of solutions) to converge – which can be very slow and expensive to evaluate. Objective To solve search-based software engineering (SE) problems, using fewer evaluations than evolutionary methods. Method Instead of mutating a small population, we build a very large initial population which is then culled using a recursive bi-clustering chop approach. We evaluate this approach on multiple SE models, unconstrained as well as constrained, and compare its performance with standard evolutionary algorithms. Results Using just a few evaluations (under 100), we can obtain comparable results to state-of-the-art evolutionary algorithms. Conclusion Just because something works, and is widespread use, does not necessarily mean that there is no value in seeking methods to improve that method. Before undertaking search-based SE optimization tasks using traditional EAs, it is recommended to try other techniques, like those explored here, to obtain the same results with fewer evaluations.


mining software repositories | 2018

Data-driven search-based software engineering

Vivek Nair; Amritanshu Agrawal; Jianfeng Chen; Wei Fu; George Mathew; Tim Menzies; Leandro L. Minku; Markus Wagner; Zhe Yu

This paper introduces Data-Driven Search-based Software Engineering (DSE), which combines insights from Mining Software Repositories (MSR) and Search-based Software Engineering (SBSE). While MSR formulates software engineering problems as data mining problems, SBSE reformulates Software Engineering (SE) problems as optimization problems and use meta-heuristic algorithms to solve them. Both MSR and SBSE share the common goal of providing insights to improve software engineering. The algorithms used in these two areas also have intrinsic relationships. We, therefore, argue that combining these two fields is useful for situations (a)~which require learning from a large data source or (b)~when optimizers need to know the lay of the land to find better solutions, faster. This paper aims to answer the following three questions: (1) What are the various topics addressed by DSE?, (2) What types of data are used by the researchers in this area?, and (3) What research approaches do researchers use? The paper briefly sets out to act as a practical guide to develop new DSE techniques and also to serve as a teaching resource. This paper also presents a resource (tiny.cc/data-se) for exploring DSE. The resource contains 89 artifacts which are related to DSE, divided into 13 groups such as requirements engineering, software product lines, software processes. All the materials in this repository have been used in recent software engineering papers; i.e., for all this material, there exist baseline results against which researchers can comparatively assess their new ideas.


arXiv: Software Engineering | 2016

Why is Differential Evolution Better than Grid Search for Tuning Defect Predictors

Wei Fu; Vivek Nair; Tim Menzies


IEEE Transactions on Software Engineering | 2018

Finding Faster Configurations using FLASH

Vivek Nair; Zhe Yu; Tim Menzies; Norbert Siegmund; Sven Apel


arXiv: Software Engineering | 2017

FLASH: A Faster Optimizer for SBSE Tasks.

Vivek Nair; Zhe Yu; Tim Menzies


international conference on distributed computing systems | 2018

Arrow: Low-Level Augmented Bayesian Optimization for Finding the Best Cloud VM

Chin-Jung Hsu; Vivek Nair; Vincent W. Freeh; Tim Menzies

Collaboration


Dive into the Vivek Nair's collaboration.

Top Co-Authors

Avatar

Tim Menzies

North Carolina State University

View shared research outputs
Top Co-Authors

Avatar

Jianfeng Chen

North Carolina State University

View shared research outputs
Top Co-Authors

Avatar

Chin-Jung Hsu

North Carolina State University

View shared research outputs
Top Co-Authors

Avatar

Rahul Krishna

North Carolina State University

View shared research outputs
Top Co-Authors

Avatar

Vincent W. Freeh

North Carolina State University

View shared research outputs
Top Co-Authors

Avatar

Zhe Yu

North Carolina State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Wei Fu

North Carolina State University

View shared research outputs
Top Co-Authors

Avatar

Amritanshu Agrawal

North Carolina State University

View shared research outputs
Researchain Logo
Decentralizing Knowledge