تجزیه و تحلیل جریان کنترل، روش تجزیه و تحلیل استاتیک کد برای تعیین جریان کنترل یک برنامه است.کنترل جریان به عنوان یک گراف کنترل جریان (CFG) بیان شدهاست.
برای بسیاری از زبان ها، کنترل جریان از یک برنامه در کد منبع برنامه صریح و روشن بیان شدهاست.به عنوان یک نتیجه، تجزیه و تحلیل جریان کنترل بهطور ضمنی معمولاً به یک تکنیک تجزیه و تحلیل استاتیک برای تعیین گیرنده (ها) از تابع یا روش تماس در برنامههای کامپیوتری نوشته شده در زبان برنامهنویسی بالاتر اشاره دارد.برای هر دو زبانهای برنامهنویسی تابعی و زبانهای برنامهنویسی شی گرا، CFA مدت اشاره به یک الگوریتم است که کنترل جریان را محاسبه میشود.
اصطلاح تجزیه و تحلیل جریان کنترل بهطور مستقل توسط'Neil D. Jones' و'Olin Shivers' بیان شدهاست.
در زبان برنامهنویسی مانند Schame، هدف از فراخوانی تابع ممکن است صریح نباشد.
به عنوان مثال در بیان مجزا:
((lambda (f) (f x)
معلوم نیست که در آن F به کجا ممکن است اشاره کند. برای تعیین اهداف احتمالی، تجزیه و تحلیل جریان کنترل را باید در نظر گرفت که در آن این عبارت را میتوان استناد کرد و استدلال آن را دریافت.
منابع
- Neil D. Jones (1981), "Flow analysis of lambda expressions", Automata, Languages and Programming: 114–128, doi:10.1007/3-540-10843-2_10
- Shivers, Olin (1988), "Control-flow analysis in Scheme", Proceedings of the ACM SIGPLAN'88 Conference on Programming Language Design and Implementation (PLDI), SIGPLAN Notices, Vol.23, No.7: 164–174, doi:10.1145/53990.54007