Question
Per their Gödel prize citation, Brooks and O’Hearn simultaneously solved the two major challenges of handling this data type and concurrency by developing CSL. In separation logic, the right arrow binary operator makes an assertion about an object with this data type; more generally, separation logic was created to improve on Hoare logic’s difficulty with manipulating and reasoning about this data type. Reasoning about data structures is aided by diagrams consisting of pairs of squares called “box-and-[this word] diagrams”. Formal verification of programs using this data type is harder because of (*) aliasing, a phenomenon where two objects of this type overlap. Every individual node in a linked list contains some data along with an object of this type. For 10 points, dynamic memory allocation returns an object of what data type that references a location in the heap? ■END■
ANSWER: pointers [accept references before read; accept addresses; accept heap pointers; prompt on “mutable data types”; reject “heap”]
<BC and AW>
= Average correct buzz position
Conv. % | Power % | Average Buzz |
---|
100% | 25% | 100.00 |
Back to tossups