Bacon edited subsubsection_Finding_Pledge_Call_Locations__.tex  about 8 years ago

Commit id: 0d92bdd12316aed386c2f6456c7cf045f6b28dea

deletions | additions      

       

\subsubsection{Finding \subsection{Finding  Pledge Call Locations } The core of our analysis performs an in-order traversal of the call graph per code segment. A set \(A\) of system calls is generated by querying a single call in a precomputed table; the set \(A'\), by taking the union of a global context (passed in recursively) and the local context, computed by taking the union of all function local-instructions. Whenever \(A \cup A' < A'\), the function descends and attempts to discover another location in the code which would allow for a pledge call of higher granularity. If it fails, a pledge call is inserted after the initial call. Due to the previous passes, this will never insert a pledge call inside a function that may be called later on or inside of a cycle.