As part of my thesis, I worked on improving and extending RESTRuler. To determine what to work on, I conducted interviews with 5 API experts to gather their opinions and analyse the results. While I worked on some of the things they brought up, I was unable to work on every rule they mentioned due to time constraints. These are listed below for future reference, so in the future we could split these into smaller tasks of their own and work on them as we find the time:
- Content-Type must be used: This was one of the highly rated rules for improvement; however, I could not work on improving it. Since this was rated highly by the experts, it could be prioritised for improvement in the future.
- Content-length should be used: This was a highly rated new rule that the experts suggested. I did not work on implementing it because conducting static analysis to determine the existence of Content-length could be misleading. We could think more about it in the future to see how it could be checked statically.
- API code should be checked for compliance using RESTRuler before any code is merged: Four of the experts explicitly stated they could benefit from a check on the CI that evaluates API code for compliance to our rules and warns the developers accordingly. In the future, we may see how RESTRuler can be integrated into CI pipelines.
- APIs should be easily extensible: Extensibility was raised by 2 API experts, we may look into what constitutes as extensibility in an API in the first place, and possibly implement a check for this.
- APIs should be understandable: Understandability was brought up by one expert, however I could not spend time on it as it is a rather abstract topic. A future study may focus on how to assess an API's understandability and implement this as a rule.
As part of my thesis, I worked on improving and extending RESTRuler. To determine what to work on, I conducted interviews with 5 API experts to gather their opinions and analyse the results. While I worked on some of the things they brought up, I was unable to work on every rule they mentioned due to time constraints. These are listed below for future reference, so in the future we could split these into smaller tasks of their own and work on them as we find the time: