بخشی از پاورپوینت

اسلاید 1 :

یادگیری پیشبینی آزمونپذیری نرم افزارLearning to Predict Software Testability

اسلاید 2 :

رئوس ارائه
مقدمه
کارهای مرتبط
پیشبینی آزمونپذیری
ارزیابی
نتیجهگیری و کارهای آتی

اسلاید 3 :

مقدمه: آزمونپذیری
آزمونپذیری بهعنوان یکی از صفات کیفیت داخلی نرمافزار مطرح است.
کمی نیست!
توجه به آزمونپذیری از آزمون غیر مؤثر جلوگیری میکند.
بهبود آزمونپذیری منوط به توانایی سنجش آن است.

تعاریف متعددی برای آزمونپذیری (Garousi, Felderer, & Kılıçaslan, 2019)
از دیدگاه استاندارد ISO25010:2011 (جدیدترین استاندارد مدلهای کیفیت سیستم و نرمافزار)
«درجهای از کارامدی و کارایی که به کمک آن یک معیار آزمون میتواند برای یک سیستم برگزیده و آزمون برای ارضای آن انجام پذیرد».

تعاریف نحوه اندازهگیری را مشخص نمی کنند!

اسلاید 4 :

کارهای مرتبط
استفاده از متریکهای کد منبع برای سنجش آزمونپذیری (Khan & Mustafa, 2009, Muhammad Rabee Shaheen, 2014)
یکی از روشهای مرسوم اندازهگیری آزمونپذیری
متریکهای C&K (اندازه، پیچیدگی، انسجام و اتصال)
سهولت محاسبه
انتخاب زیر مجموعهای از متریکها بهصورت دستی
عدم توجه به معیارهای کفایت آزمون
عدم قابلیت تفسیر نتایج
متریکهای کد منبع آزادانه هر مقداری را میتوانند بگیرند.
استفاده از سنجههای مختص آزمونپذیری(Freedman, 1991)
مشاهده پذیری و کنترل پذیری
بر مبنای آزمونپذیری سخت افزار
مناسب برای سیستمهای نهفته و بلادرنگ
تعاریف متعدد و مبتنی بر مدل
تناقض با برخی اصول شیگرایی مانند چند ریختی

اسلاید 5 :

کارهای مرتبط
پوشش کد ابزارهای تولید خودکار داده آزمون (Grano, Titov, Panichella, & Gall, 2019)
استفاده از رگرسیون
پیشبینی پوشش شاخه
دقت پایین مدلهای رگرسیون
تعداد کم پروژهها (7 پروژه 3000 کلاس)
عدم توجه به متریکهای بسته و پروژه

اسلاید 6 :

روش پیشنهادی: چالشها و راهکارها
معیارهای کفایت آزمون بهعنوان یک نماینده واقعی (concrete proxy) از آزمونپذیری
پوشش شاخه (branch coverage)

چالش: محاسبه پوشش کد نیازمند اجرای برنامه است.
سنجش آزمونپذیری قبل از آزمون ارزشمند است.
تعیین زودهنگام قطعات کد (کلاسهای) آزمونناپذیر
برآورد قرض فنی (technical debt) مربوط به آزمون
برنامهریزی و بودجهبندی فعالیتهای آزمون

یادگیری ماشین نیاز به اجرای برنامه را از بین میبرد!
یادگیری ماشین نیاز به انتخاب دستی متریکها و آستانهها را از بین میبرد!
چالش: یادگیری ماشین نیاز به دادههای زیاد دارد!
T(X) ∝ TE(X) TE(X) ∝ C(X)
T(X) ∝ C(X)

اسلاید 7 :

روش پیشنهادی: یادگیری پیشبینی آزمونپذیری

اسلاید 8 :

ارزیابی: پرسشهای پژوهش
عملکرد و کارایی مدلهای یادگیری ماشین در پیشبینی آزمونپذیری چگونه است؟
انتخاب و بررسی مدلهای مختلف
انتخاب و بررسی پیشپردازشهای متنوع
کدام یک از متریکهای کد منبع تأثیر بیشتری در پیشبینی آزمونپذیری دارند؟
شرکت دادن حداکثری همه متریکهای ممکن در فرایند یادگیری
اعمال فنون بازپرسی مدل (model inspection)

اسلاید 9 :

ارزیابی: چیدمان آزمایش
پیکره پروژههای متن باز SF110
110 پروژه؛ 23000 < کلاس
280 متریک کد منبع
شش زیرمشخصه؛ سه سطح
پنج مرتبه اجرای EvoSuite (بیش از 3 ماه اجرا)
پنج مدل طبقهبندی
چهار مجموعه داده مختلف
https://m-zakeri.github.io/ADAFEST/

اسلاید 10 :

ارزیابی: عملکرد مدلهای یادگیرنده

اسلاید 11 :

ارزیابی: متریکهای مهم

Tree-based feature importance
Permutation importance

اسلاید 12 :

نتیجهگیری
معیارهای کفایت آزمون راهکار واقعی سنجش آزمونپذیری بهصورت قابل تفسیر هستند.
امکان یادگیری پیشبینی آزمونپذیری با مدلهای طبقهبندی با دقت %81.94 وجود دارد.
تعداد خطوط و دستورات توابع غیر accessor و mutator از مؤثرترین متریکهای آزمونپذیری هستند.
پیشبینی آزمونپذیری کم هزینه و سریع بوده و نیاز به اجرای برنامه تحت آزمون ندارد.

اسلاید 13 :

کارهای آتی
بهبود عملکرد مدلهای پیشبینی کننده آزمونپذیری
بررسی سایر مدلها و فنون یادگیری ماشینی
افزایش متریکها و مجموعه داده
برقراری ارتباط میان آزمونپذیری و بوی نرمافزار
شناسایی موقعیتهای آزمونناپذیر
ریزدانه بودن متریکهای کد منبع و عدم پیشنهاد موقعیتهای قابل بهبود
بهبود خودکار آزمونپذیری نرمافزار
فنون بازآرایی خودکار

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید