Inferring Channel Buffer Bounds Via Linear Programming
We present a static analysis for inferring the maximum amount of buffer space used by a program consisting of concurrently running processes communicating via buffered channels. We reduce the problem to linear programming by casting the analysis as a fractional capability calculus system. Our analysis can reason about buffers used by multiple processes concurrently, and runs in time polynomial in the size of the program.
- 1.Boyland, J.: Checking interference with fractional permissions. In: Static Analysis, Tenth International Symposium, San Diego, CA, June 2003, pp. 55–72 (2003)Google Scholar
- 3.Kobayashi, N., Nakade, M., Yonezawa, A.: Static analysis of communication for asynchronous concurrent programming languages. In: Static Analysis, Second International Symposium, Glasgow, Scotland, September 1995, pp. 225–242 (1995)Google Scholar
- 5.Terauchi, T., Aiken, A.: Witnessing side-effects. In: 10th ACM SIGPLAN International Conference on Functional Programming, Tallinn, Estonia, September 2005, pp. 105–115 (2005)Google Scholar