Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Constrained Execution Regions

In which situations are CERs useful? I mean, real-life situations, not some abstract examples.

Do you personally use them? Haven't seen their usage except for examples in books and articles. That, for sure, can be because of my insufficient programming experience. So I am also interested how wide-spread technique it is.

What are the pros and cons for using them?

like image 575
26071986 Avatar asked Dec 22 '10 18:12

26071986


1 Answers

In which situations are CERs useful? I mean, real-life situations, not some abstract examples.

When building software that has stringent reliability requirements. Database servers, for example, must not leak resources, must not corrupt internal data structures, and must keep running, period, end of story, even in the face of godawful scenarios like thread aborts.

Building managed code that cannot possibly leak, that maintains consistent data structures when aborts can happen at arbitrary places, and keeps the service going is a difficult task. CERs are one of the tools in the toolbox for building such reliable services; in this case, by restricting where aborts can occur.

One can imagine other services that must stay reliable in difficult circumstances. Software that, say, finds efficient routes for ambulances, or moves robot arms around in factories, has higher reliability constraints than your average end user code running on a desktop machine.

Do you personally use them?

No. I build compilers that run on end-user machines. If the compiler fails halfway through a compilation, that's unfortunate but it is not likely to have a human life safety impact or result in the destruction of important data.

I am also interested how wide-spread technique it is.

I have no idea.

What are the pros and cons for using them?

I don't understand the question. You might as well ask what the pros and cons of a roofing hatchet are; unless you state the task that you intend to use the hatchet for, it's hard to say what the pros and cons of the tool are. What task do you wish to perform with CERs? Once we know the task we can describe the pros and cons of using any particular tool to accomplish that task.

like image 101
Eric Lippert Avatar answered Nov 12 '22 07:11

Eric Lippert