144
қолданған кездегі деректер типтерінің сәйкестілігінің бұзылуы, олар
айнымалы, ашық массивтер, бірлестіктер, динамикалық жады,
мекенжайлік арифметика және т.с.с. типтендірілгендерін қолданған
кезде жадыда орналасқан деректер типін анықтау;
■
есептеу қателері, мысалы, арифметикалық емес айнымалыларды
дұрыс пайдаланбау, бүтін сандармен дұрыс жұмыс істемеу, есептеу
процесінде деректер типтерін дұрыс қайта түрлендіру және т.с.с.;
■
модульдердің өзара әрекет қателері, яғни, модульаралық интерфейс,
мысалы, параметрердің берілісі кезінде типтер мен бірізділіктің
бұзылуы, формалды және нақты параметрлерді өлшем бірлігінің
бірлігін сақтамау, оқшаулар және өзекті айнымалылардың
әрекеттерінің саласын бұзу;
■
кодтаудың өзге қателері, мысалы, бағдарламалаудың нақты тілінің
шектеулері немесе ерекшеліктерін ескермеу, кодтау кезіндегі
бағдарлама логикасын дұрыс іске асырмау.
Ретке келтіру процесі бағдарламашыдан техникалық құралдар,
операциялық жүйелер, бағдарламалау аясы мен тілі қолданатын басқару
сипаттаманы, түрлі қателердің табиғаты мен сипаттамаларын, тиісті
бағдарламалық құралдарды және ретке келтіру әдістемесін терең білуді
талап ететін күрделі процесс болып табылады.
Ретке келтірудің күрделілігі келесі факторлардың әсерінің
салдарынан артуы мүмкін:
■
қателердің жанама білінуі;
■
қателердің өзара әсерінің мүмкіндігі;
■
түрлі қателердің сыртынан бірдей білінуін алу мүмкіндіктері;
■
кейбір қателердің іске қосудан іске қосуға көрінуінің қайталануы
(стохастикалық қателер);
■
бағдарламаға кейбір өзгертулерді енгізу кезінде зерттеліп отырған
жағдайда сыртқы қателерінің білінуін жою мүмкіндігі, мысалы,
бағдарламаға диагностикалық үзінділер қосылғанда жойылуы
мүмкін немесе қателердің сыртынан көрінуі өзгертілу мүмкін;
■
әртүрлі бағдарламашылардың бағдарламаның жеке бөліктерін
жазуы.
Бағдарламаны ретке келтіру кез келген жағдайда қате туралы барлық
бар ақпараттың ойланып, логикалық түсіндірілуін болжайды. Қателер
көбінесе қосымша ақпарат алусыз тестілеу нәтижелерін және
бағдарлама мәтіндерін мұқият талдаудың жанама белгілері бойынша
анықтауға болады. Бұл ретте түрлі әдістерді қолданады:
■
қолмен тестілеу;
■
индукция
■
дедукция;
■
кері бақылау.
Достарыңызбен бөлісу: