-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tools for assessing the risk of changes to the MPS #177
base: master
Are you sure you want to change the base?
Conversation
llvm-diff could be used to detect changes to functions, using clang to generate intermediate code. A quick test on my Ubuntu 22 looked promising. Use |
Hax. I put the following script in a file called git-lldiff:
Then, for example, It's far from perfect because it uses the current contents of the code directory to compile against, and that may well be inconsistent with the file versions being compared. To work properly the script needs to check out the tree temporarily. Later! |
EDIT: Don't use this hack. See https://github.com/Ravenbrook/mps/blob/branch/2023-02-24/risk-tool/tool/git-fundiff Late night hax. This in git-lldiff:
then, for example, |
Unfortunately llvm-diff isn't very good. It reports changes to functions even when comparing a file with itself, e.g. |
JPH+RB: We need to determine how useful this tool is now or might be in future. There's no need to merge this now, this can live on a branch as something we did. Worthwhile to consider this more: the consideration is "optional". Tool has served its purpose for now |
This is primarily a tool to help with resolving #110 by assessing the risk to Configura of changes since version 1.115. However, we'd like to develop this into a general-purpose tool. Then we can use it as input to review, for example.
See also the checklist at #127 (comment) which is partially automated by such a tool.
See also #167 (comment) which discusses how developers can know about risks of updating the critical path.