From d8ab3f2226e6eaf481d0d84623d1d9b3226b0180 Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Thu, 4 May 2023 21:01:20 -0700 Subject: [PATCH] Continue working on the Alloy blog post --- code/dyno-alloy/DynoAlloy.als | 59 ++++-- content/blog/dyno_alloy/bitfield_exists.png | Bin 0 -> 34258 bytes .../{dyno_alloy.md => dyno_alloy/index.md} | 184 +++++++++++++++++- .../dyno_alloy/matching_bitfield_exists.png | Bin 0 -> 51143 bytes .../dyno_alloy/matching_bitfield_exists_2.png | Bin 0 -> 71063 bytes .../dyno_alloy/matching_bitfield_exists_3.png | Bin 0 -> 66602 bytes 6 files changed, 222 insertions(+), 21 deletions(-) create mode 100644 content/blog/dyno_alloy/bitfield_exists.png rename content/blog/{dyno_alloy.md => dyno_alloy/index.md} (54%) create mode 100644 content/blog/dyno_alloy/matching_bitfield_exists.png create mode 100644 content/blog/dyno_alloy/matching_bitfield_exists_2.png create mode 100644 content/blog/dyno_alloy/matching_bitfield_exists_3.png diff --git a/code/dyno-alloy/DynoAlloy.als b/code/dyno-alloy/DynoAlloy.als index b51beb9..da16130 100644 --- a/code/dyno-alloy/DynoAlloy.als +++ b/code/dyno-alloy/DynoAlloy.als @@ -59,7 +59,7 @@ pred addBitfieldFlagNeg[b1: Bitfield, b2: Bitfield, flag: Flag] { enum Property { PMethod, PField, PPublic } -sig Props { +sig Symbol { properties: set Property } @@ -69,11 +69,46 @@ pred flagMatchesPropery[flag: Flag, property: Property] { (flag = Public and property = PPublic) } -pred bitfieldMatchesProperties[bitfield: Bitfield, props: Props] { - // All positive flags must be satisifed - all flag: bitfield.positiveFlags | some property: props.properties | flagMatchesPropery[flag, property] - // All negative flags must not be satisfied - all flag: bitfield.negativeFlags | no property: props.properties | flagMatchesPropery[flag, property] +pred bitfieldMatchesProperties[bitfield: Bitfield, symbol: Symbol] { + all flag: bitfield.positiveFlags | some property: symbol.properties | flagMatchesPropery[flag, property] + all flag: bitfield.negativeFlags | no property: symbol.properties | flagMatchesPropery[flag, property] +} + +bitfieldExists: run { + some Bitfield +} + +matchingBitfieldExists: run { + some bitfield : Bitfield, symbol : Symbol | bitfieldMatchesProperties[bitfield, symbol] +} + +matchingBitfieldExists2: run { + some bitfield : Bitfield, symbol : Symbol { + #bitfield.positiveFlags = 1 + #bitfield.negativeFlags = 1 + #symbol.properties = 2 + bitfieldMatchesProperties[bitfield, symbol] + } +} + +fact "method and field are incompatible" { + always no symbol: Symbol | { + PMethod in symbol.properties and PField in symbol.properties + } +} + +fact "public and field are incompatible" { + always no symbol: Symbol | { + PPublic in symbol.properties and PField in symbol.properties + } +} + +matchingBitfieldExists3: run { + some bitfield : Bitfield, symbol : Symbol { + #bitfield.positiveFlags = 2 + #symbol.properties = 2 + bitfieldMatchesProperties[bitfield, symbol] + } } pred configureState[filterState: FilterState] { @@ -141,7 +176,7 @@ fact step { example: run { all searchState: SearchState { // a way that subsequent results of searching it will miss things. - eventually some props: Props, fs: FilterState, fsBroken: FilterState, exclude: Bitfield { + eventually some symbol: Symbol, fs: FilterState, fsBroken: FilterState, exclude: Bitfield { // Some search (fs) will cause a transition / modification of the search state... configureState[fs] updateOrSet[searchState.found, fs] @@ -149,15 +184,15 @@ example: run { configureState[fsBroken] excludeBitfield[searchState.found', exclude] - // Will allow for a set of properties... + // Will allow for a symbol ... // ... that are left out of the original search... - not bitfieldMatchesProperties[searchState.found, props] + not bitfieldMatchesProperties[searchState.found, symbol] // ... and out of the current search - not (bitfieldMatchesProperties[fs.include, props] and not bitfieldMatchesProperties[searchState.found, props]) + not (bitfieldMatchesProperties[fs.include, symbol] and not bitfieldMatchesProperties[searchState.found, symbol]) // But would be matched by the broken search... - bitfieldMatchesProperties[fsBroken.include, props] + bitfieldMatchesProperties[fsBroken.include, symbol] // ... to not be matched by a search with the new state: - not (bitfieldMatchesProperties[fsBroken.include, props] and not bitfieldMatchesProperties[exclude, props]) + not (bitfieldMatchesProperties[fsBroken.include, symbol] and not bitfieldMatchesProperties[exclude, symbol]) } } } diff --git a/content/blog/dyno_alloy/bitfield_exists.png b/content/blog/dyno_alloy/bitfield_exists.png new file mode 100644 index 0000000000000000000000000000000000000000..d4de3f21619c3dff9a150c3ece6dc4dca91e45ed GIT binary patch literal 34258 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 literal 0 HcmV?d00001 diff --git a/content/blog/dyno_alloy.md b/content/blog/dyno_alloy/index.md similarity index 54% rename from content/blog/dyno_alloy.md rename to content/blog/dyno_alloy/index.md index 7f907f8..7aebc93 100644 --- a/content/blog/dyno_alloy.md +++ b/content/blog/dyno_alloy/index.md @@ -10,6 +10,8 @@ Intro section and disclaimer {{< /todo >}} I work as a compiler developer on the [Chapel](https://chapel-lang.org) team. + +### The Problem at Hand One of the things that a language like Chapel has to do is called _resolution_, which is the process of figuring out what each identifier, like `x`, refers to, and what its type is. Even the first part of that is pretty complicated, what @@ -119,8 +121,8 @@ different way of searching `M1`. So far, we've seen three: In Dyno, there are even more different ways of searching a single scope, and some of them are mixes of others (one might consider, for instance, searching for only public methods). To represent the various search configurations, -the Dyno team came up with using a bitset of _flags_, each of which indicated -a necessary condition for a symbol to be returned. A bitset with flags set +the Dyno team came up with using a bitfield of _flags_, each of which indicated +a necessary condition for a symbol to be returned. A bitfield with flags set for two properties (like "public" and "method") requires that both such properties be found on each symbol that's returned from a scope. This led to C++ code along the lines of: @@ -154,12 +156,12 @@ In Dyno, we like to avoid additional work when we can. To do so, we track which scopes have already been searched, and avoid searching them again. Since what comes up from a search depends on the flags, we store the flags alongside the scopes we've checked. __If we find that the previously-checked -bitset is a subset of the current biset, we just skip the search__. +bitfield is a subset of the current biset, we just skip the search__. But then, what if it _isn't_ a subset? Another concern here is avoiding duplicate results (it's easier to check for duplicate definitions if you know a symbol is only returned from a search once). So, another feature of -Dyno's scope search is an additional bitset of what to _exclude_, which we +Dyno's scope search is an additional bitfield of what to _exclude_, which we set to be the previous search's filter. So if the first search looked for symbols matching description \\(A\\), and the second search is supposed to look for symbols matching description \\(B\\), __then really we do a search @@ -167,7 +169,7 @@ for \\(A \\land \\lnot B\\) (that is, \\(A\\) and not \\(B\\))__. {{< dialog >}} {{< message "question" "reader" >}} -Hold on, why do you need a whole another bitset? There are already negated +Hold on, why do you need a whole another bitfield? There are already negated versions of each flag available. Can't you just add those to the filter? {{< /message >}} {{< message "answer" "Daniel" >}} @@ -175,7 +177,7 @@ Good question. The difference is a little bit tricky. If we just negated each flag, we'd turn an expression like \(A \land B\) into \(\lnot A \land \lnot B\). However, according to De Morgan's laws, the proper negation of \(A \land B\) is \(\lnot A \lor \lnot B\) (notice the use of "or" instead -of "and"). On the other hand, using an "exclude" bitset negates the whole +of "and"). On the other hand, using an "exclude" bitfield negates the whole conjunction, rather than the individual flags, and so gives us the result we need. {{< /message >}} @@ -186,7 +188,7 @@ need is to to somehow combine the two filters into one. Taking a cue from a previous example, in which "public" was followed by "public methods", we can observe that since the second search has additional flags, it's more restrictive, and thus guaranteed to not find anything. __So we try to create -the least restrictive bitset possible, by taking an intersection of the +the least restrictive bitfield possible, by taking an intersection of the flags used.__ Actually, that last point is not quite correct in every possible case @@ -196,7 +198,7 @@ cases in which it misbehaved. So, noting the potential issue in a comment, we moved on to other things. That is, until I decided that it was time to add another possible flag to -the bitset. At that point, sitting and trying to reason about the +the bitfield. At that point, sitting and trying to reason about the possible cases, I realized that it would be much nicer to describe this mathematically, and have a model checker generate outlandish scenarios for me. Having at some point seen [Hillel Wayne's @@ -223,7 +225,7 @@ field). Note that this is not the same as having two flags, `Method` and Notice also that the list of flags doesn't include the negative versions. Since the negative versions are one-for-one with the positive ones, I -instead chose to represent bitsets as simply two sets: one set of +instead chose to represent bitfields as simply two sets: one set of "positive" flags, in which the presence of e.g. `Method` indicates that the `METHOD` flag was set, and one set of "negative" flags, in which the presence of `Method` indicates that `NOT_METHOD` was set. This way, I'm @@ -232,6 +234,170 @@ automatically. Here's how I wrote that in Alloy. {{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 6 9 >}} +This definition (a _signature_ in Alloy terms) specifies what a bitfield is +like, but not any operations on it. My next order of business is to define +some common functionality on bitfields. Alloy is all about +[relations](https://en.wikipedia.org/wiki/Relation_(mathematics)) and +[predicates](https://en.wikipedia.org/wiki/Predicate_(mathematical_logic)), +so for all of these, I had to effectively write something that _checks_ if +some condition holds for some arguments. This might seem abstract; as an +example, here's `bitfieldEmpty`, which checks that a bitfield has no flags +set. + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 27 29 >}} + +The `#` operator in Alloy is used to check the size of a set. So, to check +if a bitfield is empty, I simply check if there are neither positive nor +negative flags. Probably the most unusual aspect of this piece of code is +that equality is written as `=`, as opposed to `==` like in most common +languages. This is because, like I said, alloy is all about relations and +predicates, and not at all about imperative manipulation of data. So, +there's no need to reserve `=` for assignment. + +The next step from here is a predicate that accepts two arguments, +`bitfieldEqual`. As its name suggests, this predicate accepts two +bitfields, and makes sure they have exactly the same flags set. + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 31 33 >}} + +So far, this has been pretty similar to just writing boolean functions in a +language like C++. However, the similarity is only superficial. An easy way +to see that is to try to determine the _intersection_ of two bitfields -- +that's the operation we will be having to model, since the Dyno +implementation uses `&` to combine filter sets. In a language like C++, you +might write a function like the following, in which you accept two bitfield +arguments and return a new bitfield. + +```C++ +Bitfield intersection(Bitfield b1, Bitfield b2) { /* ... */ } +``` + +However, in Alloy, you can't create a new bitfield, nor return something +from a `pred` that isn't a boolean. Instead, you describe how the inputs +will be related to the output. So, to model a binary function, you end up +with a three-parameter predicate: two inputs, and one output. But how +_does_ the output of a bitfield intersection connect to the two operands +being intersected? Well, its two flag sets will be intersections of the +flag sets of the inputs! + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 35 38 >}} + +Next, let's talk about what flags _do_. They are used to include and +exclude symbols based on certain properties. One property is being a +method: a `METHOD` flag requires this property, whereas a `NOT_METHOD` flag +ensures that a symbol does not have it. Another property is being a public +definition: if a symbol isn't public, it'll be ignored by searches with the +`PUBLIC` flag set. Just like a bitfield can have multiple flags, a symbol +can have multiple properties (e.g., a public method). Unlike our bitfields, +though, we won't be modeling symbols as having both positive and negative +properties. That is to say, we won't have a "not public" property: the +absence of the "public" property will be enough to make something private. +Here's the alloy definition for everything I just said: + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 60 64 >}} + +Now, we can specify how flags in a bitfield relates to properties on a +symbol. We can do so by saying which flags match which properties. The +`Method` flag, for instance, will be satisfied by the `PMethod` property. +The `MethodOrField` flag is more lenient, and will be satisfied by either +`PMethod` or `PField`. Here's a predicate `flagMatchesProperty` that +encodes all the flag-property combinations: + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 66 70 >}} + +A bitfield matching a symbol is a little bit more complicated. Said +informally, the condition for a bitfield matching a symbol is twofold: + +* Every single positive flag, like `METHOD`, must be satisfied by a + property on the symbol. +* None of the negative flags, like `NOT_METHOD`, must be satisfied by a + property on the symbol (that is to say, if `Method` is in the negative + flags set, then the symbol must not have `PMethod` property). It is more + conveniently to formulate this -- equivalently -- as follows: for each + negative flag, there most not be a property that satisfies it. + +Each of the above two conditions translate quite literally into Alloy: + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 72 75 >}} + +We can read line 73 as "for each flag in a bitfield's positive flags, there +must be some property in the symbol that matches it". Similarly, line 74 +can be read out loud as "for each flag in the negative flags, no property +in the symbol must match it". + +We've written a fair bit of alloy. If you're anything like me, you might be +getting a bit twitchy: how do we even check that any of this works? For +this, we'll need to run our model. We will give Alloy a claim, and ask +it to find a situation in which that claim holds true. The simplest claim +is "there exists a bitfield". + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 77 79 >}} + +Executing this model yields a pretty interesting bitfield: one in which every single flag is set -- both the positive and negative versions. + +{{< figure src="bitfield_exists.png" caption="Alloy's output satisfying \"a bit field exists\"" >}} + +That's a little bit ridiculous: this bitfield will never match anything! +You can't be and not be a method at the same time, for instance. For for a +more interesting example, let's ask for a bitfield that matches some +symbol. + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 81 83 >}} + +The output here is pretty interesting too. Alloy finds a symbol and a +bitfield that matches it, but they're both empty. In effect, it said: +"if you don't specify any filters, any private definition will match". Fair +enough, of course, but a curious departure from the previous maximalist +"put in all the flags!" approach. + +{{< figure src="matching_bitfield_exists.png" caption="Alloy's output satisfying \"a bit field that matches a symbol exists\"" >}} + +Let's try nudge it towards a more interesting case. I'm going to ask for a +filter with one positive and one negative flag, and a symbol with two +properties. + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 85 92 >}} + +The results are more interesting this time: we get a filter for private +methods, and a private symbol that was... both a field and a method? + +{{< figure src="matching_bitfield_exists_2.png" caption="Alloy's spiced up output satisfying \"a bit field that matches a symbol exists\"" >}} + +We never told alloy that a symbol can't be both a field and a method. It +had no idea what the flags meant, just that they exist. +To let Alloy know what we do -- that the two properties are incompatible -- +we can use a _fact_. To me, the most natural way of phrasing this is "there +is never a symbol that has both the method and field properties". Alas, +Alloy doesn't have a `never` keyword; it only has `always`. So I opt instead +for an alternative formulation: "there are always zero symbols that are +both methods and fields". In alloy, the claim looks like this: + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 94 99 >}} + +Re-running the example program with this fact, alloy spits out a filter for +public non-method symbols, and a symbol that's a public field. Public +fields also aren't a thing in Chapel (all fields in a class are publicly +readable in the current version of the language). Perhaps it's time for +another fact. + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 100 104 >}} + +But now, Alloy fails to come up with anything at all. That makes sense: by +restricting the search to a symbol with two properties, and making `PField` +incompatible with the other two possible properties, we've guaranteed that +our symbol would be a public method. But then, we also required a negative +flag in the filter; however, all the flags in the list match a public +method, so making any of them negative would guarantee that our symbol +would not be found. Let's change the example up a bit to only ask for +positive flags. + +{{< codelines "Alloy" "dyno-alloy/DynoAlloy.als" 106 112 >}} + +This time, alloy gives us a symbol that's a public method, and a filter +that only looks for public methods. Fair enough. + +{{< figure src="matching_bitfield_exists_3.png" caption="Alloy's spiced up output satisfying \"a bit field that matches a symbol exists\"" >}} + {{< todo >}} The rest of the article {{< /todo >}} diff --git a/content/blog/dyno_alloy/matching_bitfield_exists.png b/content/blog/dyno_alloy/matching_bitfield_exists.png new file mode 100644 index 0000000000000000000000000000000000000000..e51700d7b319413b865ea9b18b8c77a4589ac86b GIT binary patch literal 51143 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 &%yL_d1Y2H>p=t0WR1% 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 literal 0 HcmV?d00001 diff --git a/content/blog/dyno_alloy/matching_bitfield_exists_2.png b/content/blog/dyno_alloy/matching_bitfield_exists_2.png new file mode 100644 index 0000000000000000000000000000000000000000..21ae1cee4771750b8600369f2408d470b74d4d37 GIT binary patch literal 71063 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

    72-~*EZTi485it54OYsm|#3n2U8f^)u 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 H){g%JR3}oS literal 0 HcmV?d00001