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 code
MINOR- values have been added, existing values are unchanged
MAJOR- existing values have been changed or removed
elm-packagewill 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.