پرش به محتویات

🔬 پژوهش و توسعه

آزمایشگاه مهندسی نرم‌افزار هوشمند (ISERL) میزبان پروژه‌های تحقیقاتی و توسعه‌ای در زمینه‌های مهندسی نرم افزار، بهینه‌سازی نرم‌افزار، معماری سیستم‌های هوشمند، تحلیل داده، و هوش مصنوعی است. نتایج حاصل از این پروژه‌ها، عمدتاً در معتبرترین نشریات و کنفرانس‌های مهندسی و علم کامپیوتر منتشر می‌شوند.

گروه‌های پژوهشی و آموزشی

پژوهش‌های ISERL در سه گروه تخصصی سازماندهی شده است: گروه آزمون و اشکال‌زدایی نرم‌افزار که قابلیت اطمینان نرم‌افزار را از طریق آزمون خودکار، مکان‌یابی خطا و تحلیل امنیتی افزایش می‌دهد؛ گروه طراحی و معماری نرم‌افزار که بر بازآرایی، مهندسی مجدد و ارزیابی کیفیت تمرکز دارد تا قابلیت نگهداری نرم‌افزار را بهبود بخشد؛ و گروه روش‌شناسی نرم‌افزار و مهندسی نیازمندی‌ها که به توسعه روش‌های چابک، ردیابی نیازمندی‌ها و مدل‌سازی مفهومی پرداخته و فرآیندهای توسعه را بهبود می‌بخشد. این گروه‌ها با همکاری یکدیگر نوآوری در مهندسی نرم‌افزار را پیش می‌برند و سیستم‌های باکیفیت، کارآمد و مقیاس‌پذیر را تضمین می‌کنند.

گروه آزمون و اشکال‌زدایی نرم‌افزار

  • تولید خودکار داده‌های آزمون و اوراکل، فازینگ ورودی، تحلیل دامنه ورودی، آزمون GUI، اجرای نمادین و کونکولیک، آزمون امنیتی، آزمون متامورفیک، آزمون در محیط واقعی، کاهش مجموعه آزمون، اولویت‌بندی و انتخاب موارد آزمون، و تقویت مجموعه آزمون.

  • مکان‌یابی خودکار خطا، پیش‌بینی خطا (اشکال)، پیش‌بینی آسیب‌پذیری، شناسایی ناهنجاری‌های نرم‌افزاری، ابزارگذاری برنامه، تحلیل برنامه پویا، تحلیل آلودگی داده، و تولید وصله.

گروه طراحی و معماری نرم‌افزار

  • بازآرایی خودکار، خوشه‌بندی نرم‌افزار، بازمدول‌سازی، مهندسی مجدد، مهندسی معکوس، تحلیل ایستا برنامه، تبدیل برنامه، بهینه‌سازی برنامه، خودکارسازی طراحی، و طراحی معکوس.

  • پیش‌بینی بوی کد، شناسایی بوی طراحی، شناسایی الگوهای طراحی، ارزیابی کد تمیز و معماری تمیز، شناسایی بوی معماری، شناسایی کلون کد، نمایش و اندازه‌گیری شباهت کد منبع، ارزیابی نرم‌افزار، و اندازه‌گیری و بهبود ویژگی‌های کیفی.

گروه روش‌شناسی نرم‌افزار و مهندسی نیازمندی‌ها

  • شناسایی بوی نیازمندی‌ها، پیش‌بینی لینک‌های ردیابی نیازمندی‌ها، تولید مدل مفهومی، تولید کد، تولید توضیحات و تولید معیارهای پذیرش آزمون.

  • روش‌ها و تکنیک‌های چابک (TDD, BDD, DDD)، DevOps، MLOps، CI/CD، زبان‌های دامنه‌محور، و اندازه‌گیری بدهی فنی.

فنون زیربنایی مورد استفاده در پژوهش ها

  • کامپایلرها، ترنسپایلرها، تحلیل نمودارهای پیچیده، الگوریتم‌های تکاملی، یادگیری ماشین، یادگیری عمیق، پردازش زبان طبیعی، تحلیل آماری و مهندسی نرم افزار.

پروژه‌ها و محصولات پژوهشی در یک نگاه

در این بخش تعدادی از پروژه‌های فعال آزمایشگاه معرفی می شوند:

🚀 ۱. کدارت: موتور بازآرایی خودکار کدهای منبع

شرح مختصر: توسعه و بهینه‌سازی ابزار CodART برای انجام بازآرایی خودکار در برنامه‌های جاوا، با تمرکز بر بهبود کیفیت کد و افزایش خوانایی.

🛠 فناوری‌ها: Java، AST، الگوریتم‌های بهینه‌سازی

📊 ۲. بهینه‌سازی چندهدفه در سیستم‌های نرم‌افزاری

شرح مختصر: استفاده از الگوریتم‌های بهینه‌سازی چندهدفه مانند RNSGA-III برای تعادل بین معیارهای کیفی نرم‌افزار (مانند قابلیت نگهداری و عملکرد).

🛠 فناوری‌ها: Python، NSGA-III، تحلیل معیارهای نرم‌افزاری

🤖 ۳. تحلیل و بهبود معماری نرم‌افزار با کاهش وابستگی‌های تکاملی

شرح مختصر: بررسی روش‌های کاهش وابستگی‌های تکاملی در نرم‌افزارهای بزرگ‌مقیاس با رویکردهای مبتنی بر تجزیه معماری.
🛠 فناوری‌ها: تحلیل معماری، مدلسازی نرم‌افزاری، روش‌های تفکیک ماژول‌ها

🏗 ۴. طراحی سیستم پیش‌بینی خطا در کامپایلرها

شرح مختصر: مطالعه و بهینه‌سازی استراتژی‌های بازیابی خطا در پارسرهای کامپایلر با تمرکز بر بهبود دقت و کارایی.

🛠 فناوری‌ها: Flex، Python، ANTLR الگوریتم‌های پردازش زبان

📈 ۵. کامپایلر و یادگیری ماشین برای تحلیل ویژگی‌های مصنوعات نرم‌افزاری

شرح مختصر: استفاده از کامپایلر و فنون تحلیل ایستا برای استخراج ویژگی‌های مصنوعات نرم افزاری و ایجاد مدل‌های یادگیری ماشین پیشبینی صفات کیفی

🛠 فناوری‌ها: ANTLR, pandas، scikit-learn، تحلیل داده

ابزارهای توسعه داده شده در یک نگاه

  • CodART: موتور بازآرایی
  • OpenUnderstand: موتور جستجو و درک کد
  • QualCode: پیاده‌سازی ISO/IEC 25010
  • QualityMetter: اندازه‌گیری ویژگی‌های کیفیت
  • ADAFEST: پیش‌بینی قابلیت آزمون
  • ARTA: موتور تحلیل نیازمندی‌ها
  • DeepFuzz: فازینگ ورودی PDF
  • NEXMA: تحلیل بدافزارهای غیر اجرایی
  • TsDD: ابزار توسعه مبتنی بر قابلیت آزمون

چک لیست‌ها

چک لیست‌ها ابتکار آزمایشگاه مهندسی نرم‌افزار هوشمند است که به دانشجویان و پژوهشگران کمک می‌کند پژوهش خود را به شکل صحیح و با کیفیت بالا پیش ببرند.

مشاهده چک لیست‌ها

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

📩 اگر علاقه‌مند به همکاری یا دریافت اطلاعات بیشتر در مورد پروژه‌ها هستید، با ما در ارتباط باشید!

ارتباط با مدیریت آزمایشگاه