Not the hardest, not the thing with the most sophisticated theories behind it, not the thing that helped her academic career the most... but definitely the best and the most useful.
There must be a lot of other academics who could do things that are less theoretical but more useful than what they normally do.
There must be a lot of undervalued academics who in effect are punished for doing things that useful without requiring quite as much deep theory as their fields can muster.
I'm glad she did something that she wasn't really rewarded for and I'm sad that the academic reward functions are so off.
One example is that there are patches for Android kernels to allow rooting the phone with maximum discretion in order to bypass integrity checks. Unfortunately manufacturers modify Linux sources so sloppily that diffs never apply cleanly and you have to endlessly fix hunk rejects.
I created Coccinelle patches that can universally apply to any Linux kernel between 3.18 and 5.15. It has been tested over 100+ Linux kernel sources from Android phone manufacturers and works flawlessly! https://github.com/devnoname120/kernelsu-coccinelle
The learning curve is steep (documentation is thin so you have to look at the code), but the rewards are well worth it. I compiled a list of conferences, slides, and examples to get started if anyone is interested: https://github.com/devnoname120/kernelsu-coccinelle#how-to-l...
> Nevertheless, detecting the holding of locks requires a careful and occasionally interprocedural analysis of the source code, and the other conditions, such as "in a completion handler", are not formally defined and require study of multiple files.
> Due to the complexity of the conditions governing the choice of new argument for usb_submit_urb, 71 of the 158 calls to this function were initially transformed incorrectly to use GFP_KERNEL instead of GFP_ATOMIC.
Okay, but how does Coccinelle help? Is it able to do this careful and not formally defined analysis? Or does it automate the undifferentiated heavy lifting and so make it easier for humans to do it?
I think semantic patching is an idea whose time has come though. I'm making a more modern set of tools for source-to-source transformation that will work with any desired languages as the input and output.
Edit: I feel like it needs the addition that Coccinelle was the stage name of Jacqueline Charlotte Dufresnoy (1931), a French performer and probably the first celebrity who underwent a transition from male to female.
https://github.com/openrewrite/rewrite
And i assume any large organisation running a monorepo has some vaguely equivalent tooling for making mass changes. Have any of them published about that?
I used to drink this stuff back in the late 1960s, when my Dad was an RAF pilot based in Cyprus and I was about 15. You had to take it with a Sprite mixer if you wanted to retain your teeth.
It would be a good name for a project, though.