SEAug 13, 2019Code
Extract Method Refactoring by Successive Edge ContractionOmkarendra Tiwari, Rushikesh K. Joshi
Segmentation, a new approach based on successive edge contraction is introduced for extract method refactoring. It targets identification of distinct functionalities implemented within a method. Segmentation builds upon data and control dependencies among statements to extract functionalities from code by successive contraction of edges in the Structure Dependence Graph (SDG). Three edge contractions are explored, namely structural control edge contraction, exclusive data dependence edge contraction, and sequential data dependence edge contraction. The SDG is first constructed from the program, which is then collapsed into a segment graph that captures dependence between subtasks. An intermediate representation for data and control dependencies among statements keeps the technique language independent. The approach is evaluated on four case studies, including three from the open source domain, and the findings are reported.
AIJul 2, 2025
HCVR: A Hybrid Approach with Correlation-aware Voting Rules for Feature SelectionNikita Bhedasgaonkar, Rushikesh K. Joshi
In this paper, we propose HCVR (Hybrid approach with Correlation-aware Voting Rules), a lightweight rule-based feature selection method that combines Parameter-to-Parameter (P2P) and Parameter-to-Target (P2T) correlations to eliminate redundant features and retain relevant ones. This method is a hybrid of non-iterative and iterative filtering approaches for dimensionality reduction. It is a greedy method, which works by backward elimination, eliminating possibly multiple features at every step. The rules contribute to voting for features, and a decision to keep or discard is made by majority voting. The rules make use of correlation thresholds between every pair of features, and between features and the target. We provide the results from the application of HCVR to the SPAMBASE dataset. The results showed improvement performance as compared to traditional non-iterative (CFS, mRMR and MI) and iterative (RFE, SFS and Genetic Algorithm) techniques. The effectiveness was assessed based on the performance of different classifiers after applying filtering.
AIJul 9, 2020
Automation Strategies for Unconstrained Crossword Puzzle GenerationCharu Agarwal, Rushikesh K. Joshi
An unconstrained crossword puzzle is a generalization of the constrained crossword problem. In this problem, only the word vocabulary, and optionally the grid dimensions are known. Hence, it not only requires the algorithm to determine the word locations, but it also needs to come up with the grid geometry. This paper discusses algorithmic strategies for automatic crossword puzzle generation in such an unconstrained setting. The strategies proposed cover the tasks of selection of words from a given vocabulary, selection of grid sizes, grid resizing and adjustments, metrics for word fitting, back-tracking techniques, and also clue generation. The strategies have been formulated based on a study of the effect of word sequence permutation order on grid fitting. An end-to-end algorithm that combines these strategies is presented, and its performance is analyzed. The techniques have been found to be successful in quickly producing well-packed puzzles of even large sizes. Finally, a few example puzzles generated by our algorithm are also provided.
AIApr 7, 2020
A Structural Approach to Dynamic Migration in Petri Net Models of Structured WorkflowsAhana Pradhan, Rushikesh K. Joshi
In the context of dynamic evolution of workflow processes, the change region identifies the part of the old process from which migration to the new process is guaranteed to be inconsistent. However, this approach may lead to overestimated regions, incorrectly identifying migratable instances as non-migratable. This overestimation causes delays due to postponement of immediate migration. The paper analyzes this overestimation problem on a class of Petri nets models. Structural properties leading to conditions for minimal change regions and overestimations are developed resulting into classification of change regions into two types of change regions called Structural Change Regions and Perfect Structural Change Regions. Necessary and sufficient conditions for perfect regions are identified. The paper also discusses ways for computing the same in terms of structural properties of the old and the new processes.