Skip to content

A merge tool that uses behaviour change by generating tests to find semantic conflicts

Notifications You must be signed in to change notification settings

aldibergjr/SemanticMergeTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Semantic analysis merge tool

The semantic analysis merge(SAM) tool can be used to identify behaviour changes, that are caused by semantic conflicts after changes in the same region of the code.

Requirements

  • Java 8
  • Maven
  • Python3
  • Setup JAVA_HOME and MAVEN_HOME environment variables

Installation

to install the semantic analysis merge tool in your local repository, simply run
./setup.sh ${path_to_your_repository}

Workflow

SAM flow

The post merge hook is called after the commit is done and there is already a generated merge commit.
By comparing the parents and the ancestor of this merge commit, its possible to find mutual changes on functions and check if there was a behaviour change by executing test cases.

References

DiffJ
Osean
SMAT

About

A merge tool that uses behaviour change by generating tests to find semantic conflicts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages