[HN Gopher] Refactoring the FreeBSD Kernel with Checked C [pdf]
___________________________________________________________________
Refactoring the FreeBSD Kernel with Checked C [pdf]
Author : wglb
Score : 78 points
Date : 2021-02-01 14:48 UTC (1 days ago)
(HTM) web link (cs.rochester.edu)
(TXT) w3m dump (cs.rochester.edu)
| ornxka wrote:
| >Checked C has low performance overhead (only 8.6% on selected
| benchmarks [25])
|
| Isn't that actually kind of significant?
| superjan wrote:
| That 8.6 figure comes from the paper linked below [0]. It's an
| average. For many benchmarks, the difference is less than one
| percent, for others it's 20 or more. In the freebsd article,
| they see around 1%.
|
| [0] https://www.microsoft.com/en-
| us/research/uploads/prod/2018/0...
| tandr wrote:
| The numbers on a paper itself are much lower, so I would say it
| is a worthy idea. If not for "whole" kernel, then at least for
| the calls that they have replaced.
| dvfjsdhgfv wrote:
| It would be interesting if someone refactored ReactOS with
| Microsoft Checked C.
| sgt wrote:
| I've looked at some source code written in Checked C. Doesn't it
| possibly take away some of the pleasure of writing C?
| chubot wrote:
| I don't think pleasure is really the goal. The goal is systems
| that don't fail spectacularly on unexpected inputs ...
| saagarjha wrote:
| Clearly the pleasure of C is the feeling you get when your
| software fails spectacularly on unexpected inputs.
| AdmiralAsshat wrote:
| Checked C appears to be a relatively recent research project from
| Microsoft[0][1], so I'm not sure that FreeBSD would be terribly
| keen on refactoring around it. There have also been many "safer
| C" languages before, so the only advantage that the paper offers
| is that Checked C seems to have a higher degree of backwards
| compatibility. I suppose that would allow the
| implementation/refactoring to gradually occur over time, rather
| than requiring a herculean initial effort.
|
| [0] https://www.microsoft.com/en-us/research/project/checked-c/
|
| [1]https://github.com/Microsoft/checkedc
___________________________________________________________________
(page generated 2021-02-02 23:00 UTC)