Skip to content

manushakaru/Impact-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plugin icon dependencies GitHub issues GitHub forks GitHub stars GitHub repo size GitHub followers

Automated Impact Analysis of Changing Parts of a Large Codebase


About

In professional software development and productive software development, most of the companies choose IntelliJ IDEA as the main IDE for java development. Also, more than 65% of Java developers use IntelliJ IDEA. Because Intellij IDEA provides developer-friendly features like code suggestions, error handling, searching, etc.

In this project, we were focusing on change impact analysis in a java project. Because we recognized that the effort they have given on the change impact analysis is less in IntelliJ IDEA. Therefore, we decided to develop a plugin for Intellij IDEA which can handle change impact analysis.

Our plugin provides changes between the last commit and local changes and developers can view the impacts of selected changes. When the developer needs to know the impact of a method in a class which is not changed during the developments, the developer can run change impact analysis on the opened class and identify the impact of the methods in that class.

One major objective of the project is to reduce the time taken to identify the impact of a change. By using the depth controlling mechanism, developers can limit the scanning depth of the impact of a change. It will reduce the time and computational cost because it stops scanning without exceeding the depth. We have done prototype plugin design and implementation, identify callers and callees of a method.

Run

  • Clone this project
git clone https://github.com/manushakaru/Impact-analysis
  • Open project using IntelliJ
  • Open Gradle Tool Window - Access: View | Tool Windows | Gradle
  • Navigate to Impact Analaysis -> Tasks -> intellijin Gradle Tool Window
  • Run runIde under intellij

Build Plugin

  • Clone this project
git clone https://github.com/manushakaru/Impact-analysis
  • Open project using IntelliJ
  • Open Gradle Tool Window - Access: View | Tool Windows | Gradle
  • Navigate to Impact Analaysis -> Tasks -> intellijin Gradle Tool Window
  • Run buildPlugin under intellij
  • You can find the Impact Analysis-1.0.zip under Impact-analysis\build\distributions folder

Install

  • Follow the instructions in Build Plugin to build the plugin or download the Impact Analaysis-1.0.zip
  • In the Settings/Preferences dialog Ctrl+Alt+S , select Plugins.
  • On the Plugins page, click The Settings button and then click Install Plugin from Disk.
  • Select the plugin archive file from Impact-analysis\build\distributions folder or downloaded file and click OK.
  • Click OK to apply the changes and restart the IDE if prompted.
  • You can find the plugin at bottom right corner - Access: View | Tool Windows | Impact Analysis

Usage

Impact analysis on current .java file

  • Open any java project in IntelliJ
  • Open java file you need to analyze
  • Open Impact analysis plugin window
  • Select Current radio button in plugin window
  • Set the Depth you need to analyze
  • Click Run to get all the methods from opened java file
  • Select method from Methods list and you can see the impacted methods in Impact list

Impact analysis on Git changes

  • Select Git radio button in plugin window
  • Click Run to get all the git changes
  • Set the Depth you need to analyze
  • Select method from Methods list and you can see the impacted methods in Impact list

Special Notations

class - Class
method - Method
up arrow - Caller
down arrow - Callee

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages