Кіріспе

Компьютерлік ғылымда, сирек шартты тұрақты тарату (SCCP) – статикалық бір тапсырма түріне (SSA) түрлендірілгеннен кейін компиляторларда жиі қолданылатын оптимизация. Ол тұрақтыларды таратуды жүзеге асырады, яғни компиляция уақытында есептелетін статикалық мәндерді анықтау. Бұдан әрі, ол өлі кодты жою және кез келген ретпен немесе кез келген санымен тұрақты таратуды жеке-жеке қолдануға қарағанда көбірек тұрақты мәндерді таба алады, демек, жақсартуға көбірек мүмкіндіктер ашылады. Алгоритм SSA түріндегі кодты абстрактілі интерпретациялау арқылы жұмыс істейді. Абстрактілі интерпретация кезінде, әдетте, мәндер үшін тұрақтылардың жазық торы және осы тордағы мәндерге SSA айнымалыларын бейнелейтін жаһандық орта қолданылады. Алгоритмнің өзегі – оның тармақталу нұсқауларын интерпретациялау әдісінде. Кездескен кезде, тармақталу шарты шарттағы айнымалыларға байланысты абстрактілі мәндердің дәлдігін ескере отырып, мүмкіндігінше жақсы бағаланады. Мүмкін, мәндер толыққанды дәл (жоғарғы немесе төменгі емес) болып келеді, сондықтан абстрактілі орындау тармақталу бағытын анықтай алады. Егер мәндер тұрақты болмаса немесе шарттағы айнымалы анықталмаған болса, консервативтік болу үшін екі тармақ бағытын да қарастыру қажет. Абстрактілі интерпретация аяқталғаннан кейін, ешқашан орындалмаған нұсқаулар өлі код деп белгіленеді. Содан кейін тұрақты мәндері бар SSA айнымалылары олардың қолданылу орнында (тарату) енгізіле алады.