Ooh, sorry for letting this slip by. @payload @hoodie any progress in this direction? Is there anything I can do to unblock you?
No problem, we are both currently looking into making this a research project, because weāre both currently looking for a thesis topic. So if we get that through, one of us is gonna make this solid. If not however, I think we are still going to hack it. So give us a week or to two, to do some more research.
If you however have any idea to ake this a bit more complex, so it would be easier to formulate a thesis topic that would keep somebody busy for about 3-4 months, that would be great
Just in case we need to answer such research questions like āHow was software quality improved?ā, we maybe need something in rust/cargo nightly early on. But we are still discussing research questions and the complexity of the work. I hope next week we meet the professor.
For what itās worth, the minimal thing I want in a tool is: take two pieces of source code and their semver versions, say āyes, this is a valid changeā, āno, this is not a valid changeā. A very simple version might just find all regular functions with identical paths and flag any changes the arguments as invalid.
Elmās package manager does automatic semver enforcement based on a packageās exposed types:
Versions are incremented based on how the API changes:
PATCH
- the API is the same, no risk of breaking codeMINOR
- values have been added, existing values are unchangedMAJOR
- existing values have been changed or removed
elm-package
will bump versions for you, automatically enforcing these rules
Might be useful food for thought.
Edit: Ok, it seems to have already been mentioned in a quote in the opening post. Woopsie!
Still useful for people who (like me) did not read that.
Okay, there will be no thesis on that. So @hoodie and I are going to do it in our free time in the next two weeks.