- Title of session: Using automated systems to recommend reviewers in the MediaWiki project
- Session description: A review and discussion of my undergrad dissertation work on automatically recommending code reviewers for the MediaWiki project.
- Username for contact: Dreamy Jazz
- Session duration (25 or 50 min): Unsure, but probably 25 min would be all that's needed.
- Session type (presentation, workshop, discussion, etc.): Presentation with some discussion - whatever suits those who are interested
- Language of session (English, Arabic, etc.): English
- Prerequisites (some Python, etc.): If it would include running the code, then some Python experience would be useful. Basic levels of understanding regarding machine learning would also be useful.
- Any other details to share?: My work on my dissertation would be completed by the time of the Hackathon, and while it won't have been marked, it will be fresh in my memory and if it sounds interesting to people I can detail what I did.
- Interested? Add your username below:
Description
Related Objects
Event Timeline
Thanks for this proposal! All proposed sessions couldn't become part of the agenda published today due to limited space, including yours. I'll ping here if a room becomes available to organize remaining or impromptu sessions.
Hello! There is now additional space available for you to schedule a session: https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2023/Program#Schedule (See "Small Hacking Room Corner (up to 20 participants)"). If you are still interested in organizing a session, you can claim this slot on a first-come, first-serve basis. There may not be any AV equipment in this small room, just a bunch of tables, and the room might be separated from the big hacking room with a bunch of dividers.
Some relevant tasks: T101131: Enable Gerrit reviewers-by-blame plugin / T214397: Gerrit: reviewers-by-blame plugin improvements (not AI but the discussions on social and UX aspects might apply), T155851: AI which suggests best reviewers for a patch ("Patch wrangler")
Thanks. What I will discuss is two systems that do an okay job at recommending users based on multiple evaluation methods.
Specifically the implementations use more than just inspecting the history of the code (which is what the reviewers-by-blame plugin), as it also includes the number of code review votes and comment counts to recommend users. One implementation uses a neural network classifier to make recommendations. The other applies weights to the data to make recommendations (i.e. multiply a float by another number and sum these together).
I hope to discuss how something like this could be used, though it would need a fair amount of work to get it running on a live Gerrit instance. The GitHub repository for this project is at https://github.com/wpgbrown/CS4529 and I would show the code running on my laptop.
I understand that such a system is likely going to be annoying, but I have built in several ways to make the recommendations in some way slightly random to reduce overreliance on one particular user.