Кіріспе

Нақтылау – компьютерлік ғылымның жалпылама термині, компьютерлік бағдарламаларды дұрыс жасау және қолданыстағы бағдарламаларды формалды тексеруге қолайлы ету үшін қолданылатын әртүрлі тәсілдерді қамтиды.

Бағдарламаны жетілдіру

Ресми әдістерде бағдарламаны жетілдіру – абстрактілік (жоғары деңгейдегі) ресми сипаттаманы нақты (төмен деңгейдегі) орындалатын бағдарламаға тексеріле алатын түрлендіру. Кезеңдемелі жетілдіру осы процесті сатылар бойынша жүргізуге мүмкіндік береді. Логикалық тұрғыдан алғанда, жетілдіру көбінесе қынауды қамтиды, бірақ қосымша қиындықтар туындауы мүмкін. Scrum сияқты икемді бағдарламалық жасақтаманы әзірлеу тәсілдеріндегі өнімдік артта қалудың (талаптар тізімі) уақтылы және кезеңдемелі дайындалуы да жиі жетілдіру деп сипатталады.

Деректерді жетілдіру

Деректерді жетілдіру абстрактілі дерек моделін (мысалы, жиынтар түрінде) іске асырылатын дерек құрылымдарына (мысалы, массивтерге) түрлендіру үшін қолданылады. Операцияны жетілдіру жүйедегі операцияның сипаттамасын іске асырылатын бағдарламаға (мысалы, процедураға) айналдырады. Бұл процесте постшартты күшейтуге және/немесе алғышартты әлсіретуге болады. Бұл сипаттамадағы кез келген беймәлімдікті, әдетте, толыққанды детерминистік іске асыруға дейін азайтады. Мысалы, x ∈ {1,2,3} (мұнда x – операциядан кейін x айнымалысының мәні) x ∈ {1,2}, содан кейін x ∈ {1} деп тазартылуы мүмкін және x := 1 ретінде іске асырылуы мүмкін. Бұл жағдайда x := 2 және x := 3 іске асырулары да бірдей қабылданады, тазарту үшін басқа жол қолданылады. Дегенмен, x ∈ {} (жалғанға тең) деп тазартпауға сақтану керек, өйткені мұны іске асыру мүмкін емес; бос жиыннан элемент таңдау мүмкін емес. Кейде реификация термині де қолданылады (Клифф Джонс ұсынған). Формалды тазарту мүмкін болмаған жағдайда қолданылатын балама әдіс – ретроспекция. Тазартудың қарама-қарсысы – абстракция.

Тазарту калькулі

Тазарту калькулі – бағдарламаны жетілдіруге бағытталған формальды жүйе (Хоар логикасынан шабыттанған). ФермаТ трансформация жүйесі – тазартудың өнеркәсіптік деңгейдегі іске асырылуы. B әдісі – тазарту калькулісін компоненттік тілмен толықтыратын формальды әдіс; ол өнеркәсіптік жобаларда қолданылған.

Тазарту түрлері

Типтер теориясында, тазартылған тип – кез келген элементі үшін дұрыс деп есептелетін предикатпен жабдықталған тип. Тазартылған типтер функция аргументтері ретінде алдын-шарттарды немесе қайтарым типтері ретінде пост-шарттарды білдіре алады: мысалы, табиғи сандарды қабылдап, 5-тен үлкен табиғи сандарды қайтаратын функцияның типі осылай жазылуы мүмкін. Тазартылған типтер осылайша мінез-құлықтық субтипімен байланысты.