Vipin Balachandran

dblp:49/7536 · DBLP profile ↗
← Back
7ranked-venue papers
7as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 5 first-authorDatabases, data management, data science and information retrieval · 2 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Software maintenance and evolution · 50% Program analysis · 50%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
code review
0.212013
Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation · ICSE 2013
Software maintenance and evolution › code review
reviewer recommendation
0.212013
Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation · ICSE 2013
Program analysis
static analysis
0.212013
Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation · ICSE 2013
Program analysis › static analysis
static analysis tools
0.212013
Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation · ICSE 2013

Methods — techniques the papers use, named apart from their topics

static analysis · 0.2reviewer recommendation · 0.2change history analysis · 0.2
YearPublicationVenuePosition
2020 On the need for automatic knowledge management in modern collaboration tools to improve software maintenance
abstract
The adoption of modern collaboration tools such as Slack has reduced email communication and discussions in other forums in software organizations. The absence of automatic knowledge management in these tools can significantly impact software maintenance and developer productivity in the long run. In this paper, we discuss the need and characteristics of such knowledge management systems.
Vipin Balachandran
ICSME1
2020 Reducing accidental clones using instant clone search in automatic code review
abstract
Accidental clones occur when developers are not familiar with the codebase. We propose changes in the developer code review workflow to leverage online clone detection to identify duplicate code during code review. A developer survey’s responses indicate that the proposed workflow change will increase the usage of clone detection tools and can reduce accidental clones.
Vipin Balachandran
ICSME1
2015 Query by example in large-scale code repositories
abstract
Searching code samples in a code repository is an important part of program comprehension. Most of the existing tools for code search support syntactic element search and regular expression pattern search. However, they are text-based and hence cannot handle queries which are syntactic patterns. The proposed solutions for querying syntactic patterns using specialized query languages present a steep learning curve for users. The querying would be more user-friendly if the syntactic pattern can be formulated in the underlying programming language (as a sample code snippet) instead of a specialized query language. In this paper, we propose a solution for the query by example problem using Abstract Syntax Tree (AST) structural similarity match. The query snippet is converted to an AST, then its subtrees are compared against AST subtrees of source files in the repository and the similarity values of matching subtrees are aggregated to arrive at a relevance score for each of the source files. To scale this approach to large code repositories, we use locality-sensitive hash functions and numerical vector approximation of trees. Our experimental evaluation involves running control queries against a real project. The results show that our algorithm can achieve high precision (0.73) and recall (0.81) and scale to large code repositories without compromising quality.
Vipin Balachandran
ICSME1
2013 Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation
abstract
Peer code review is a cost-effective software defect detection technique. Tool assisted code review is a form of peer code review, which can improve both quality and quantity of reviews. However, there is a significant amount of human effort involved even in tool based code reviews. Using static analysis tools, it is possible to reduce the human effort by automating the checks for coding standard violations and common defect patterns. Towards this goal, we propose a tool called Review Bot for the integration of automatic static analysis with the code review process. Review Bot uses output of multiple static analysis tools to publish reviews automatically. Through a user study, we show that integrating static analysis tools with code review process can improve the quality of code review. The developer feedback for a subset of comments from automatic reviews shows that the developers agree to fix 93% of all the automatically generated comments. There is only 14.71% of all the accepted comments which need improvements in terms of priority, comment message, etc. Another problem with tool assisted code review is the assignment of appropriate reviewers. Review Bot solves this problem by generating reviewer recommendations based on change history of source code lines. Our experimental results show that the recommendation accuracy is in the range of 60%-92%, which is significantly better than a comparable method based on file change history.
Vipin Balachandran
ICSE1
2013 Fix-it: An extensible code auto-fix component in Review Bot
abstract
Coding standard violations, defect patterns and non-conformance to best practices are abundant in checked-in source code. This often leads to unmaintainable code and potential bugs in later stages of software life cycle. It is important to detect and correct these issues early in the development cycle, when it is less expensive to fix. Even though static analysis techniques such as tool-assisted code review are effective in addressing this problem, there is significant amount of human effort involved in identifying the source code issues and fixing it. Review Bot is a tool designed to reduce the human effort and improve the quality in code reviews by generating automatic reviews using static analysis output. In this paper, we propose an extension to Review Bot- addition of a component called Fix-it for the auto-correction of various source code issues using Abstract Syntax Tree (AST) transformations. Fix-it uses built-in fixes to automatically fix various issues reported by the auto-reviewer component in Review Bot, thereby reducing the human effort to greater extent. Fix-it is designed to be highly extensible-users can add support for the detection of new defect patterns using XPath or XQuery and provide fixes for it based on AST transformations written in a high-level programming language. It allows the user to treat the AST as a DOM tree and run XQuery UPDATE expressions to perform AST transformations as part of a fix. Fix-it also includes a designer application which enables Review Bot administrators to design new defect patterns and fixes. The developer feedback on a stand-alone prototype indicates the possibility of significant human effort reduction in code reviews using Fix-it.
Vipin Balachandran
SCAM1
2012 Interpretable and reconfigurable clustering of document datasets by deriving word-based rules
Vipin Balachandran, Deepak P 0001, Deepak Khemani
Knowl. Inf. Syst.1
2009 Interpretable and reconfigurable clustering of document datasets by deriving word-based rules
abstract
Clusters of text documents output by clustering algorithms are often hard to interpret. We describe motivating real-world scenarios that necessitate reconfigurability and high interpretability of clusters and outline the problem of generating clusterings with interpretable and reconfigurable cluster models. We develop a clustering algorithm toward the outlined goal of building interpretable and reconfigurable cluster models; it works by generating rules with disjunctions and conditions on the frequencies of words, to decide on the membership of a document to a cluster. Each cluster is comprised of precisely the set of documents that satisfy the corresponding rule. We show that our approach outperforms the unsupervised decision tree approach by huge margins. We show that the purity and f-measure losses to achieve interpretability are as little as 5% and 3% respectively using our approach.
Vipin Balachandran, Deepak P 0001, Deepak Khemani
CIKM1