Redundant development wastes effort for both maintainers and developers. INTRUDE is a GitHub bot to detect potentially redundant pull requests. It monitors all pull requests in a repository, and if it finds two pull requests that are very similar, it automatically comments on the issue, pointing out the similarity.
Our goal is to identify redundant code changes in forks as early as possible by extracting clues indicating similarities between code changes, and building a machine learning model to predict redundancies.
An academic paper describing more technical details and an evaluation has been published:
L. Ren, S. Zhou, C. Kästner, and A. Wąsowski. Identifying Redundancies in Fork-based Development. In Proceedings of the 27th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pages 230--241, 2019. pdf
[Project Webpage] [Source Code]
repo | PR1 | PR2 |
---|---|---|
gomods/athens | 1423 | 1370 |
matomo-org/matomo | 14137 | 14975 |
mrdoob/three.js | 10597 | 13706 |
mrdoob/three.js | 6230 | 6301 |
spring-projects/spring-framework | 1695 | 1817 |
spring-projects/spring-framework | 1492 | 1628 |
spring-projects/spring-framework | 1218 | 1653 |
spring-projects/spring-framework | 569 | 566 |
spring-projects/spring-framework | 758 | 1827 |
hashicorp/terraform | 18186 | 18296 |
cocos2d/cocos2d-x | 14883 | 13687 |
cocos2d/cocos2d-x | 14794 | 7565 |
facebook/react | 12760 | 13169 |
We are researchers at Carnegie Mellon University developing a bot to monitor GitHub projects and alert project maintainers to potentially duplicate pull requests. Shurui Zhou is a Ph.D. student studying under Professor Christian Kästner. Annika Esau and Luyao Ren are undergraduate REU students.
INTRUDE comes out of an NSF-funded research project at Carnegie Mellon University, identfying potentially redundant development in open-source software development. INTRUDE is open source and hosted for the community. We would love to hear your ideas and feedback. Explore the source or open an issue.