Abstract
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.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Boyland, J.: Checking interference with fractional permissions. In: Static Analysis, Tenth International Symposium, San Diego, CA, June 2003, pp. 55–72 (2003)
Crary, K., Walker, D., Morrisett, G.: Typed memory management in a calculus of capabilities. In: Proceedings of the 26th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1999, pp. 262–275. San Antonio, Texas (1999)
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)
Steensgaard, B.: Points-to analysis in almost linear time. In: Proceedings of the 23rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1996, pp. 32–41. St. Petersburg Beach, Florida (1996)
Terauchi, T., Aiken, A.: Witnessing side-effects. In: 10th ACM SIGPLAN International Conference on Functional Programming, Tallinn, Estonia, September 2005, pp. 105–115 (2005)
Terauchi, T., Aiken, A.: A Capability Calculus for Concurrency and Determinism. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 218–232. Springer, Heidelberg (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Terauchi, T., Megacz, A. (2008). Inferring Channel Buffer Bounds Via Linear Programming. In: Drossopoulou, S. (eds) Programming Languages and Systems. ESOP 2008. Lecture Notes in Computer Science, vol 4960. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78739-6_22
Download citation
DOI: https://doi.org/10.1007/978-3-540-78739-6_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78738-9
Online ISBN: 978-3-540-78739-6
eBook Packages: Computer ScienceComputer Science (R0)