1404/02/01
مهدی سخائی نیا

مهدی سخائی نیا

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

مشخصات پژوهش

عنوان
ارائه رویکردی جدید در تشخیص آسیب پذیری نوع نشتی حافظه در زبان های برنامه نویسی C/C++
نوع پژوهش
پایان نامه
کلیدواژه‌ها
نشت حافظه – جمع آوری زباله – یادگیری ماشین-اشاره گر-پشته
سال 1401
پژوهشگران اسماعیل زیوری مراد(دانشجو)، مهدی سخائی نیا(استاد راهنما)، محمد نصیری(استاد مشاور)

چکیده

نشت حافظه یکی از مشکلات اصلی است که به دلیل کهولت نرم افزار رخ می دهد. علیرغم اقدامات متقابل اخیر در زبان های برنامه نویسی C/C++ مانند اشاره گرهای هوشمند، نقص های مربوط به نشت حافظه همچنان در کدها مشکل ساز است. امروزه یکی از چالش های حوزه امنیت نرم افزار وجود نشتی حافظه در زمان اجرای کد می باشد. پلتفرم هایی با مدیریت خودکار حافظه، مانند JVM، معمولاً عاری از نشت حافظه در نظر گرفته می شوند. با این حال، نشت حافظه ممکن است در چنین محیط هایی اتفاق بیفتد، زیرا جمع آورنده زباله نمی تواند اشیایی را که دیگر توسط برنامه استفاده نمی شوند، اما همچنان به آنها ارجاع داده می شوند، آزاد کند. چنین اشیاء بلا استفاده ای در نهایت می توانند پشته را پر کنند و برنامه را خراب کنند. اگرچه این مشکل به طور گسترده مورد مطالعه قرار گرفته است، با این وجود، هنوز فضاهای زیادی برای بهبود در این زمینه وجود دارد. ما رویکردی را برای تشخیص خودکار نشت حافظه در برنامه های C/C++ بر اساس مشخص کردن مکان های تخصیص حافظه از طریق ویژگی سنی و عمر تکه های حافظه اختصاص یافته توسط این مکان ها را معرفی می کنیم. ما فراخوانی-های تخصیص و آزاد سازی حافظه در کد برنامه را ردیابی می کنیم و برای هر مکان تخصیص داده هایی را در مورد تعداد قطعات حافظه اختصاص یافته، طول عمر و اندازه آنها جمع آوری می کنیم. بر اساس این داده ها، بردارهای ویژگی را محاسبه می کنیم و یک طبقه بندی کننده یادگیری ماشین را آموزش می دهیم تا بین سایت های تخصیص نشتی و بدون نشتی تمایز قائل شود. ارزیابی ما از برنامه هایی از مجموعه SPEC CPU2006 با نشت های حافظه تزریق شده شبیه به نشت واقعی استفاده می کند. نتایج نشان می دهد که الگوریتم طبقه بندی ما می تواند به دقت بالایی با مقادیر دقت و یادآوری و دست یابد.