توسعهدهنده(ها) | Commissariat à l'Énergie Atomique (CEA-List) and Inria |
---|---|
مخزن | |
نوشتهشده با | اکمل |
سیستمعامل | مایکروسافت ویندوز, فریبیاسدی, اوپنبیاسدی, لینوکس, مکاواس |
در دسترس به | English |
نوع | درستییابی صوری, آنالیز ایستای برنامه |
مجوز | mostly گنو الجیپیال, some parts under پروانههای بیاسدی |
وبگاه |
Frama-C [۱] مخفف (Framework for Modular Analysis of C programs) یا (چارچوب برای تجزیه و تحلیل مدولار برنامه های C) که جهت تجزیه و تحلیل مدولار برنامه های C است . Frama-C مجموعه ای از آنالایزرهای برنامه قابل تعامل برای برنامه های C است . Frama-C توسط کمیساریای فرانسوی l’Énergie Atomique et aux Énergies Alternatives ( لیست CEA ) [۲] و Inria توسعه یافته است . همچنین از ابتکار عمل زیرساخت های هسته ای بودجه دریافت کرده است. Frama-C ، به عنوان آنالایزر استاتیک ، برنامه ها را بدون اجرای آنها بازرسی می کند. با وجود نام آن ، این نرمافزار مربوط به پروژه فرانسوی Framasoft نیست .
این ابزار برای سیستم عامل های Mac و لینوکس ارائه شده و از طریق ماشین های مجازی همچون VM،Cygwin و یا WIndows Subsystem for Linux در ویندوز نیز قابل استفاده می باشد.
Frama-C دارای یک معماری پلاگین مدولار [۳] قابل مقایسه با Eclipse (نرمافزار) یا GIMP است .
Frama-C برای تولید یک درخت نحو انتزاعی به CIL ( C Intermediate Language ) متکی است . درخت نحوی انتزاعی از یادداشتهای نوشته شده در زبان خصوصیات ANSI / ISO C ((ACSL پشتیبانی می کند.
چندین ماژول می توانند درخت ترکیبی انتزاعی را برای افزودن حاشیه نویسی (ANSI / ISO C (ACSL زبان اضافه کنند . در میان اغلب استفاده می شود افزونه های عبارتند از:
سایر افزونه ها عبارتند از:
Frama-C برای اهداف زیر قابل استفاده است:
جهت نصب بر روی ubuntu می توان مانند زیر عمل نمایید ابتدا terminal را باز می کنیم و با استفاده از دستور زیر نصب انجام می شود
sudo apt-get update -y
sudo apt-get install -y frama-c
نصب با استفاده از opam برای نصب frama-c به روش opam به شکل زیر است. Opam یک Package Manager برای OCamle است. برای نصب opam از دستور زیر استفاده میشود:
sudo apt-get install opam
Frama-c یک سری dependency های غیر OCamle ای از جمله Gtk و GMP دارد. در بسیاری از سیستم ها opam میتواند این وابستگی های خارجی را با پلاگین depext فراهم کند. برای استفاده از depext اینگونه عمل میکنیم:
opam install depext
opam depext frama-c
اگر سیستم توسط depext پشتیبانی نشود باید Gtk, GtkSourceView, GnomeCanvas و GMP جداگانه نصب شوند.
opam install frama-c
۱- برای نصب Frama-C نیاز به مخزن RPM Fusion داریم در صورتی که این مخزن نصب نیست از طریق مراحل زیر اقدام به نصب نمایید.
۱-۱- باید ابتدا به سایت rpm fusion رفته به آدرس rpmfusion.org رفته و بر اساس معماری Fedora خود مخزن را دانلود نمایید.
۲-۱- پس از دانلود در ترمینال سیستم عامل با دستور rpm -ivh مخزن را نصب نمایید.
۲- سپس باید مخزن را آپدیت نمایید از طریق دستور dnf update میتوانید به جدید ترین پکیج ها دسترسی داشته باشید.
۳- سپس باید پکیج های مختلف شامل jcc و glibc و ++G را نصب نماییم برای نصب هر یک کافیست از دستور
dnf install [package name]
مثال :
dnf install jcc
dnf install glibc
dnf install g++
۴- در ادامه پس از نصب تمام پکیج های مورد نیاز بالا باید پکیج xkit را نصب کنید که مشابه دستورهای بالا قابل انجام خواهد بود.
۵- سپس به سایت frama-c رفته به آدرس frama-c.com و نسخه frama-c را بر اساس نوع سیستم عامل و معماری آن دانلود نمایید.
۶- سپس باید فایل tar را uncompress کنید ( توضیحات بیشتر برای استفاده از دستور tar )
۷- برای بهبود GUI برنامه Frama-c باید از پکیج Bladez از طریق دستور dnf install bladez نصب کنید.
۸- داخل پوشه extract شده frama-c رفته و ترمینال را باز کرده و با دستور install/. برنامه را نصب کنید.
جهت مشاهده محیط گرافیکی frama-c کافیست در ترمینال دستور زیر را وارد نمایید
frama-c-gui