barcha ma'lumotlarga asoslanib, DScope topilgan halqa xatosi noto'g'ri ijobiy
ekanligi to'g'risida qaror qabul qilishi mumkin.
Boshqa Java sinflarini qamrab olish uchun tahlilimizni yanada kengaytirishni rejalashtirmoqdamiz
9-rasmda $i9 qadam o'zgaruvchisi Cassandra'da CounterContext sinfida STEP_LENGTH
tomonidan yangilangan misol ko'rsatilgan .
DScope ning sikl qadami va bog'langan tahlil sxemalari ikkita holatni ko'rib
chiqadi: a) sikl indeksi, qadam va chegaralar numerik primitivlar bilan belgilanadi
(masalan, butun son); va b) halqa indeksi, qadam va chegaralar 1-jadvalda ko'rsatilgan
60 ta tez-tez ishlatiladigan Java sinflari va interfeyslarida API bilan belgilanadi. E'tibor
bering, ushbu Java sinflari va interfeyslari I/U sinflari bo'lishi shart emas, lekin tez-
tez I-da paydo bo'ladi. /O bog'liq tsikllar. Bundan tashqari, ular loop bilan bog'liq
APIlarni o'z ichiga olgan barcha Java sinflari va interfeyslarini o'z ichiga olmaydi.
1-jadval: 60 ta tez-tez ishlatiladigan Java sinflari va interfeyslari, ularda pastadir
indeksi, qadam va bog'lanish bilan bog'liq API mavjud.
Agar tsikl indeksi, qadami va chegaralari koÿp sonli ibtidoiylar yoki sikl
joylashgan joriy ilova funksiyasidan tashqarida joylashgan sonli primitivlar bilan
belgilangan boÿlsa, DScope koÿrsatkichlarga javob beradigan ilova sinfining barcha
bayonotlari boÿyicha protsedura ichidagi maÿlumotlarni tahlil qiladi. aniq noto'g'ri
ijobiy l tering erishish. Misol uchun, 8-rasmda Kassandradagi OffHeapBitSet sinfida bir
nechta qadamlar bilan halqa ko'rsatilgan . i1 o'zgaruvchisi pastadir indeksi, i0
o'zgaruvchisi esa yuqori chegara hisoblanadi. Loop indeksi i1 ÿ130 qatordan 137-
qatorgacha bir necha marta yangilanadi. DScope i1 = i1 + 8 ni olish uchun ÿ130-
Do'stlaringiz bilan baham: |