🔬 پژوهش و توسعه
آزمایشگاه مهندسی نرمافزار هوشمند (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: ابزار توسعه مبتنی بر قابلیت آزمون
چک لیستها
چک لیستها ابتکار آزمایشگاه مهندسی نرمافزار هوشمند است که به دانشجویان و پژوهشگران کمک میکند پژوهش خود را به شکل صحیح و با کیفیت بالا پیش ببرند.
چکلیست تکمیلشده را همراه با پیشنهاد یا پایاننامه خود ارسال کنید، زیرا بخشی از الزامات ضروری در فرآیند بررسی و نظارت است. اطمینان حاصل کنید که تمامی موارد موجود در چکلیست بهطور کامل رعایت شدهاند تا داوری و بررسی کارآمد و جامع صورت گیرد.
📩 اگر علاقهمند به همکاری یا دریافت اطلاعات بیشتر در مورد پروژهها هستید، با ما در ارتباط باشید!