From: ramsdell@mitre.org (John D. Ramsdell)
To: "Christopher Ashworth" <cashworth@tresys.com>
Cc: <selinux@tycho.nsa.gov>
Subject: Re: FCGlob
Date: 17 Apr 2007 14:10:02 -0400 [thread overview]
Message-ID: <ogtslaykh39.fsf@oolong.mitre.org> (raw)
In-Reply-To: <6FE441CD9F0C0C479F2D88F959B01588A7153E@exchange.columbia.tresys.com>
I think I understand now. When you say ambiguous, you mean your
heuristic is unable to determine if two patterns are related by
subset, superset, or being disjoint. In short, it always gives the
correct answer when two patterns are related by subset, superset, or
is disjoint, so the heuristic is safe.
John
"Christopher Ashworth" <cashworth@tresys.com> writes:
> Hullo John,
>
> > -----Original Message-----
> > From: owner-selinux@tycho.nsa.gov
> > [mailto:owner-selinux@tycho.nsa.gov] On Behalf Of John D. Ramsdell
> > Sent: Tuesday, April 17, 2007 7:24 AM
> > To: russell@coker.com.au
> > Cc: SE-Linux
> > Subject: Re: FCGlob
> >
> > Russell Coker <russell@coker.com.au> writes:
> >
> > > Why would it be desirable to compile FCGlob to regular expressions?
> > > Once the performance benefits are proven we might as well go
> > > full-speed ahead.
> >
> > I too spent some time thinking about the FCGlob paper. I
> > believe the reason one wants to be able to translate FCGlob
> > patterns into regular expressions is so that one can
> > implement the comparison function described in the paper as follows:
>
> [...snip...]
>
> > It seems to me that finite automata theory is called for.
> > The FCGlob pattern language as described can easily be
> > translated into a regular expression. A regular expression
> > can be translated into a deterministic finite automata
> > without epsilon transitions. It is easy to convert this
> > machine into one that recognizes the complement of its
> > language by complementing the set of final states of the
> > machine. A machine that computes the intersection of two
> > languages can be produced by taking the cross product of the
> > states of the machine for each language. Finally, it is easy
> > to test if a machine accepts no strings. These primitives
> > can be used to implement the comparison function as specified.
>
> Ack! Wait! Danger! Will Robinson! :)
>
> One of the goals for using FCGlob is to avoid everything you just
> described.
>
> Since in a subsequent email you said "I have no experience implementing
> finite state machines" I assume that what you mean above by all the "it
> is easy" bits is that it is easy in theory. No arguments there. I
> think one of the main points of FCGlob is that it is NOT easy in
> practice. That's why the current file context system uses heuristics
> instead of a real sorting algorithm.
>
> I'm not trying to bash on the idea of using FAs in theory, because a lot
> of the points you make are interesting. But the observation at hand is
> that replacing regular expressions in the file context specs would buy
> us a lot of improvements--not the least of which is that we wouldn't
> have to sort the darn things with a complicated finite automata
> mechanism to get proper sorting.
>
> Cheers,
> Christopher
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
next prev parent reply other threads:[~2007-04-17 18:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-17 10:07 FCGlob Russell Coker
2007-04-17 11:23 ` FCGlob John D. Ramsdell
2007-04-17 12:54 ` FCGlob (does someone have the time to generate a special purpose machine) Zwartsenberg, Remmolt
2007-04-17 14:19 ` John D. Ramsdell
2007-04-17 16:08 ` FCGlob Christopher Ashworth
2007-04-17 17:51 ` FCGlob John D. Ramsdell
2007-04-17 18:42 ` FCGlob James Antill
2007-04-17 18:10 ` John D. Ramsdell [this message]
2007-04-17 19:07 ` FCGlob James Athey
2007-04-18 0:35 ` FCGlob Russell Coker
2007-04-20 13:32 ` FCGlob John D. Ramsdell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ogtslaykh39.fsf@oolong.mitre.org \
--to=ramsdell@mitre.org \
--cc=cashworth@tresys.com \
--cc=selinux@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.