Re: Capabilities interact nicely with Substructural Types and Reactivity

David Barbour <[email protected]>
Newsgroups gmane.comp.capabilities.general
Message-ID <CAAOQMSsuATw1HgnX=ZH_FgMcT+Aj=x9fuf4bSt3TGNd_sYmeGg@mail.gmail.com>
On Thu, Sep 12, 2013 at 3:40 PM, Karp, Alan H <[email protected]> wrote:

>  **è **For example, it may be that we want to forbid the untrusted code
> from constructing its own local state
>
> OK.  I’ll be the kid in class who asks the question a lot of the other
> kids are too shy to ask.  What is the value of such a restriction?  It
> sounds to me like a language that doesn’t allow you to allocate temporary
> space.  A simple use case would help me understand the requirement.
>

Temporary space isn't the issue; it's very easy to model temporary space in
a pure way.

But controlling *state* is valuable.

If you know an object isn't stateful - i.e. that it cannot remember its
past inputs - then whole classes of security, consistency, and correctness
issues can be eliminated. One can prevent time-bomb behaviors that might be
resistant to basic testing and analysis. And some implicit optimizations
(e.g. parallelization) are feasible.

If you can control what state an object uses - i.e. if you provide it
through a factory - then it becomes easier to audit that state, plus a
bunch of non-security benefits (easier to persist, extend, reset, freeze,
rewind, etc. the state).

_______________________________________________
cap-talk mailing list
[email protected]
http://www.eros-os.org/mailman/listinfo/cap-talk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.