Dasturiy ta'minot chirigan - Software rot

Dasturiy ta'minot chirigan, shuningdek, nomi bilan tanilgan biroz chirigan, kod chirishi, dastur eroziyasi, dasturiy ta'minotning buzilishi, yoki dasturiy ta'minot entropiyasi yoki vaqt o'tishi bilan dasturiy ta'minot sifatining sekin yomonlashishi yoki uning sezgirligining pasayishi, natijada dasturiy ta'minot noto'g'ri, yaroqsiz yoki ehtiyojga aylanib ketishiga olib keladi. yangilash. Bu jismoniy hodisa emas: dasturiy ta'minot aslida buzilmaydi, aksincha u o'zgaruvchan muhitga nisbatan sezgirlik va yangilanish etishmasligidan aziyat chekadi.

The Jargon fayli, xakerlar ilmi to'plami, "bit chirishi" ning tanazzulga uchrashi uchun tushunarli tushuncha sifatida belgilaydi dasturiy ta'minot vaqt o'tishi bilan dastur, "hech narsa o'zgarmagan" bo'lsa ham; bu g'oya deyarli dasturni tashkil etuvchi bitlar radioaktiv parchalanishga uchraganga o'xshaydi.[1]

Sabablari

Dasturiy ta'minotning chirishi uchun bir qancha omillar, shu jumladan dasturiy ta'minot ishlaydigan muhit o'zgarishi, dasturiy ta'minotning o'zi qismlari o'rtasidagi moslikning buzilishi va tashqi ko'rinishi xatolar ishlatilmaydigan yoki kamdan kam ishlatiladigan kodda.

Atrof muhit o'zgarishi

Agar dastur muhitida o'zgarishlar yuz bersa, xususan dastur yaratuvchisi kutmagan o'zgarishlar yuz bersa, dastur endi avvalgi maqsadda ishlay olmaydi. Masalan, ko'pchilik erta kompyuter o'yini dizaynerlar protsessordan foydalanganlar soat tezligi kabi taymer ularning o'yinlarida,[2] ammo yangi CPU soatlari tezroq edi, shuning uchun o'yin tezligi mos ravishda oshdi va vaqt o'tishi bilan o'yinlarni kamroq ishlatishga imkon berdi.

Bir martalik

Atrof muhitda dastur dizayneri bilan bog'liq emas, balki uning foydalanuvchilari bilan bog'liq o'zgarishlar mavjud. Dastlab, foydalanuvchi tizimni ish tartibiga keltirishi va uni ma'lum vaqt davomida beg'ubor ishlashi mumkin edi. Ammo, tizim to'g'ri ishlashni to'xtatganda yoki foydalanuvchilar konfiguratsiya boshqaruviga kirishni xohlasalar, ular turli xil kontekst va mavjud bo'lmagan ma'lumotlar (parol yo'qolgan, ko'rsatmalar etishmayotgan yoki oddiygina boshqarilishi qiyin bo'lgan foydalanuvchi) sababli ushbu dastlabki bosqichni takrorlay olmaydilar. birinchi sinov va xato bilan tuzilgan interfeys). Axborot me'mori Yonas Söderstrem ushbu kontseptsiyani nomladi Bir martalik,[3] va uni "foydalanuvchi tizimni ishlamay qolgandan so'ng uni qayta tiklashiga to'sqinlik qiladigan texnik tizimdagi sifat" deb ta'riflaydi.

Foydalanilmagan kod

Hujjat filtrlari yoki boshqa dasturlar tomonidan ishlatilishi uchun mo'ljallangan interfeyslar kabi kamdan-kam ishlatiladigan kod qismlari, e'tiborga olinmaydigan xatolarni o'z ichiga olishi mumkin. Foydalanuvchilarning talablari va boshqa tashqi omillarning o'zgarishi bilan ushbu kod keyinchalik bajarilishi mumkin va shu bilan xatolarni ochib beradi va dasturiy ta'minot kamroq ishlaydi.

Kamdan kam yangilangan kod

Oddiy dasturiy ta'minotga xizmat ko'rsatish va tizimlar dasturiy ta'minotning chirishiga olib kelishi mumkin. Xususan, qachon dastur o'z ichiga oladi bir nechta qismlar qaysi uzunlikdagi funktsiya bir-biridan, bir qismdagi o'zgarishlar boshqalarga qanday ta'sir qilishini o'ylamaslik, xatolarni keltirib chiqarishi mumkin.

Ba'zi hollarda, bu dasturiy ta'minot foydalanadigan kutubxonalar shaklida o'zgarishi mumkin, bu dasturga salbiy ta'sir ko'rsatishi mumkin. Agar ilgari dasturiy ta'minot bilan ishlagan kutubxonaning eski versiyasi boshqa dasturiy ta'minot bilan to'qnashuvi yoki eski versiyada topilgan xavfsizlik nuqsonlari tufayli endi ishlatib bo'lmaydigan bo'lsa, endi dastur uchun kerakli kutubxonaning hayotiy versiyasi bo'lmasligi mumkin foydalanish.

Tasnifi

Dasturiy ta'minot chirishi odatda ikkitasi sifatida tasniflanadi uxlab yotgan chirigan yoki faol chirigan.

Yomon chirigan

Hozirda ishlatilmayotgan dastur asta-sekin foydalanishga yaroqsiz bo'lib qoladi, chunki dasturning qolgan qismi o'zgaradi. Foydalanuvchilar talablari va dasturiy ta'minot muhitining o'zgarishi ham yomonlashishga yordam beradi.

Faol chirish

Doimiy ravishda o'zgartirilayotgan dasturiy ta`minot yumshatuvchi jarayonlar doimiy ravishda qo'llanilmasa, vaqt o'tishi bilan butunligini yo'qotishi mumkin. Biroq, ko'pgina dasturiy ta'minot yangi talablarni qondirish va xatolarni tuzatish uchun uzluksiz o'zgarishlarni talab qiladi va har safar o'zgartirish kiritilganda dasturiy ta'minotni qayta qurish kamdan-kam amaliy bo'ladi. Bu aslida an bo'lgan narsani yaratadi evolyutsiya Dastur uchun jarayon, bu uning asl dizaynidan chiqib ketishiga olib keladi. Buning va o'zgaruvchan muhit natijasida, dastlabki dizaynerlar tomonidan qilingan taxminlar bekor qilinishi va xatolarni keltirib chiqarishi mumkin.

Amalda, yangilanishdan oldin yangi xususiyatlarni qo'shish ustuvor bo'lishi mumkin hujjatlar; ammo hujjatlarsiz, dasturning ba'zi qismlariga oid aniq bilimlarni yo'qotish mumkin. Buni ma'lum darajada quyidagilar yordamida yumshatish mumkin eng yaxshi amaliyot uchun kodlash bo'yicha konvensiyalar.

Ilova tijorat muddati tugashiga yaqinlashganda va undan keyingi rivojlanish to'xtaganda, faol dasturiy ta'minot chirishi sekinlashadi. Foydalanuvchilar ko'pincha qolgan narsalar atrofida ishlashni o'rganadilar dasturiy ta'minotdagi xatolar va hech narsa o'zgarmaganligi sababli dasturiy ta'minotning xatti-harakati izchil bo'ladi.

Misollar

AI dasturining misoli

AI tadqiqotlarining dastlabki kunlaridanoq ko'plab seminal dasturlar dasturiy ta'minotni tuzatib bo'lmaydigan darajada chirigan. Masalan, asl nusxasi SHRDLU dasturni (tabiiy tilni erta anglash dasturi) har qanday zamonaviy kompyuterda yoki kompyuter simulyatorida ishlatish mumkin emas, chunki u LISP va PLANNER hali ham rivojlanish bosqichida bo'lgan va shu bilan nostandart makroslar va dasturiy ta'minot kutubxonalaridan foydalanadi. endi mavjud emas.

Onlayn forum misoli

Aytaylik, ma'mur forum yordamida forum yaratadi ochiq manba forum dasturiy ta'minoti, so'ngra uni yangi xususiyatlar va variantlarni qo'shish orqali qattiq o'zgartiradi. Ushbu jarayon mavjud kodga keng o'zgartirishlarni va ushbu dasturiy ta'minotning asl funktsiyasidan chetga chiqishni talab qiladi.

Dasturiy ta'minotning chirishi tizimga ta'sir ko'rsatadigan bir necha usullar mavjud:

  • Ma'mur tasodifan bir-biriga yoki asl dasturiy ta'minotga zid keladigan o'zgarishlarni amalga oshirishi mumkin, natijada forum kutilmaganda o'zini tutishi yoki umuman ishdan chiqishi mumkin. Bu ularni juda yomon ahvolda qoldiradi: ular asl koddan juda og'ishganligi sababli forumni tiklashda texnik yordam va yordam olish qiyin bo'ladi.
  • Forumning asl manba kodida xavfsizlik yamoqchasini talab qiladigan xavfsizlik teshigi topilishi mumkin. Ammo, ma'mur kodni juda keng o'zgartirganligi sababli, yamoq to'g'ridan-to'g'ri ularning kodlariga taalluqli bo'lmasligi mumkin, shuning uchun administrator yangilanishni samarali ravishda qayta yozishni talab qiladi.
  • O'zgarishlarni amalga oshirgan ma'mur o'z lavozimini bo'shatishi mumkin va yangi ma'murni to'liq hujjatlarga ega bo'lmagan, o'ralgan va juda o'zgartirilgan forum qoldirishi mumkin. O'zgarishlarni to'liq tushunmasdan, yangi administrator ziddiyatlar va xatolarni kiritmasdan o'zgartirish kiritishi qiyin. Bundan tashqari, asl tizimning hujjatlari endi mavjud bo'lmasligi mumkin, yoki yomonroq, funktsional talablarning nozik farqlari tufayli chalg'ituvchi.

Qayta ishlash

Qayta ishlash dasturiy ta'minotning chirishi muammosini hal qilish vositasidir. Bu tashqi tuzilishiga ta'sir qilmasdan tuzilishini takomillashtirish uchun mavjud kodni qayta yozish jarayoni sifatida tavsiflanadi.[4] Bunga quyidagilar kiradi o'lik kodni olib tashlash va keng miqyosda o'zgartirilgan va endi samarali ishlamaydigan bo'limlarni qayta yozish. Dasturiy ta'minotning tashqi xatti-harakatlarini o'zgartirmaslik uchun ehtiyot bo'lish kerak, chunki bu mos kelmasliklarni keltirib chiqarishi va shu bilan o'zi dasturiy ta'minotning chirishiga yordam beradi.

Shuningdek qarang

Adabiyotlar

  1. ^ Reymond, Erik. "Bit chirigan". Jargon fayli. Olingan 3 mart 2013.
  2. ^ Inc, Ziff Devis (1992-01-28). Kompyuter Mag. Ziff Devis, Inc. p. 286.
  3. ^ Jonas Söderström. "Bir martalik: texnologiyaning chirishi".
  4. ^ Fowler, Martin (2007 yil 11 oktyabr). "Qayta ishlash nima". Olingan 2007-11-22.