Many existing tools analyze the changes between two revisions by comparing the changes line by line. This method quickly reaches its limitations, for example if the code has been reformatted. InspecDiff solves this problem by comparing the logic of the program, rather than the text representation. The result is prepared in such a way that the changes are as easy as possible for the developer to understand.
The improved visualization ensures that changes which are usually easy to overlook are immediately apparent. InspecDiff detects when code has been moved, even if adjustments have been made at the same time. This also applies if changes have been made within a line, they are immediately noticeable due to the highlighting.
By using machine learning methods, InspecDiff is able to detect groups of similar changes, such as renaming a variable and its occurrences in the code. Review all related changes at once or hide specific groups to see the remaining modifications more clearly. Instead of being overwhelmed by a multitude of changes, you can familiarize yourself with the code step by step.
InspecDiff is not limited to one programming language. At the current time, we support Python, TypeScript, Golang, HTML, CSS, Sass, JSON and Lua. Experimental support for C and C++ is also available. Since our core algorithms are language independent, we can quickly extend our software by adding parsers for further languages. Get in touch with us if you are interested in our technology and your language is not yet supported.