Signature based API comparison

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 :smiley:

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-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. :wink:

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.

@hoodie @payload FYI we’re interested in having an intern work on a semver validation project next summer. If you haven’t, you might consider applying.

1 Like