کشف خودکار باگ‌های برنامه با استفاده از تبدیلات مدل و یادگیری عمیق

نوع مقاله : علمی-پژوهشی

نویسندگان

1 مدرس دانشگاه لرستان

2 دانشگاه اراک

3 گروه کامپیوتر، دانشگاه ملایر، ملایر

چکیده

امروزه توسعه دهندگان برنامه های کاربردی به صورت گسترده از تکنیک های کشف باگ های نرم افزاری استفاده می‌کنند. یکی از مشهور ترین تکنیک های مورد استفاده، تحلیل ایستا است که روشی مبتنی بر الگو است و الگوها بصورت دستی توسط افراد خبره نوشته و تنظیم می شوند. متأسفانه با وجود حجم انبوهی از الگوهایی که مربوط به باگ های مختلف هستند، هنوز باگ های زیادی وجود دارد که از تمام فیلترهای موجود عبور می کنند. در این مقاله رویکرد جدیدی در زمینه کشف خودکار باگ ها در کدهای جاوااسکریپت ارائه می شود. در این رویکرد عملیات کشف باگ که در واقع تشخیص کد دارای باگ از کد بدون باگ است با استفاده از آموزش یک مدل یادگیری ماشین انجام می شود. ما در این مقاله با گراف های استخراج شده از کدهای درست و نادرست این مدل را آموزش داده و از این مدل برای طبقه بندی کدهای ورودی استفاده می کنیم. نتایج پیاده سازی نشان می دهد که این روش در مقایسه با روش های قبلی، باگ های گسترده تری را پوشش می دهد و دقت بالاتری دارد.

کلیدواژه‌ها

موضوعات


عنوان مقاله [English]

Bug detection Using model transformations and deep learning

نویسندگان [English]

  • Leila Yousofvand 1
  • Seyfollah Soleimani 2
  • sajad esfandyari 3
1 Lorestan university-lecturer
2 Faculty of Engineering, Arak
3 computer department, Malayer university
چکیده [English]

Nowadays, application developers use software bug detection techniques widely. One of the most popular bug detection techniques is static analysis which is a pattern-based method. In such techniques patterns are manually created by experts. Despite creating a huge amount of patterns for various bugs, there are still many bugs that pass through all the available filters. In this paper, a new approach is presented for automatic bug detection in JavaScript codes. We map the buggy and bug-free codes to graphs. Then a deep learning model which accepts graphs is trained to classify codes to buggy and bug-free. The evaluation results show that the proposed method covers a wider range of bugs while outperforms previous methods.

کلیدواژه‌ها [English]

  • Bug detection
  • deep learning
  • graph classification
  • convolutional networks
  • abstract syntax tree (AST)