فراما-سی

Frama-C
توسعه‌دهنده(ها)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 زبان اضافه کنند . در میان اغلب استفاده می شود افزونه های عبارتند از:

  • تجزیه و تحلیل ارزش(Value analysis) - یک مقدار یا مجموعه ای از مقادیر ممکن را برای هر متغیر در یک برنامه محاسبه می کند. این افزونه از تکنیک های تفسیر انتزاعی استفاده می کند و بسیاری از افزونه های دیگر از نتایج آن استفاده می کنند.
  • جسی(Jessie) - خواص را به صورت قیاسی تأیید می کند. جسی برای اطمینان از ارسال تعهدات اثبات شده به پیش پرده های قضیه اتوماتیک مانند Z3 ، Simplify ، Alt-Ergo یا قضیه تعاملی مانند Coq یا چرا ، به پشتیبان چرا [۴] یا Why3 تکیه می کند. با استفاده از جسی ، اجرای حباب مرتب سازی یا سیستم رای گیری الکترونیکی اسباب بازی می تواند ثابت شود که مشخصات مربوط به آنها را برآورده می کند. از یک الگوی حافظه جدایی با الهام از منطق جدایی استفاده می کند .
  • WP (ضعیف ترین پیش شرط) - مشابه جسی ، خواص را به صورت قیاسی تأیید می کند. بر خلاف جسی ، بر پارامتر کردن با توجه به مدل حافظه تمرکز دارد. WP طوری طراحی شده است که برخلاف جسی که برنامه C را مستقیماً به زبان Why وارد می کند ، با سایر افزونه های Frama-C مانند افزونه تجزیه و تحلیل ارزش همکاری می کند. WP می تواند به صورت اختیاری از پلت فرم Why3 برای استناد به بسیاری از پیش بینی های خودکار و تعاملی دیگر استفاده کند.
  • آنالیز تاثیرات(Impact analysis) - تأثیرات تغییر در کد منبع C را برجسته می کند.
  • برش(Slicing) - برش برنامه را قادر می سازد. این برنامه تولید یک برنامه جدید C کوچکتر است که برخی از ویژگی های داده شده را حفظ می کند. [۵]
  • کد یدکی(Spare code) - کد بی فایده را از یک برنامه C حذف می کند.

سایر افزونه ها عبارتند از:

  • سلطه گرها(Dominators) - سلطه گران و پیشفرض اظهارات را محاسبه می کند.
  • از تحلیل(From analysis) - وابستگی های عملکردی را محاسبه می کند.

امکانات

Frama-C برای اهداف زیر قابل استفاده است:

  • برای درک کد C که شما ننوشتید. به طور خاص ، Frama-C به شما امکان می دهد مجموعه ای از مقادیر را مشاهده کند ، برنامه را به برنامه های کوتاه تر تقسیم کند و در برنامه حرکت کند.
  • برای اثبات خصوصیات رسمی روی کد. با استفاده از مشخصات نوشته شده در زبان مشخصات ANSI / ISO C ، آن را قادر می سازد تا از خواص کد برای هرگونه رفتار احتمالی اطمینان حاصل کند. Frama-C شماره های شناور را کنترل می کند. [۶]
  • برای اجرای استانداردهای کدگذاری یا قراردادهای کد در کد منبع C ، با استفاده از افزونه های سفارشی [۷]
  • برای تهیه کد C در برابر برخی نقص های امنیتی [۸]

نحوه ی نصب frama-c

  • ubuntu

جهت نصب بر روی 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
  • Fedora

۱- برای نصب 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 کافیست در ترمینال دستور زیر را وارد نمایید

frama-c-gui


منابع

  1. "Frama-C". frama-c.com. Retrieved 2016-11-05.
  2. CEA LIST. "CEA LIST, Smart digital systems". Retrieved 2016-11-05.
  3. Pascal Cuoq; et al. (August 2009). "Experience report: OCaml for an industrial-strength static analysis framework". Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming. 44 (9): 281–286. doi:10.1145/1631687.1596591.
  4. "Why homepage".
  5. Benjamin Monate; Julien Signoles (2008). "Slicing for Security of Code". Trusted Computing - Challenges and Applications. Lecture Notes in Computer Science. Vol. 4968/2008. ISBN 978-3-540-68978-2.
  6. Sylvie Boldo; Thi Minh Tuyen Nguyen (2010). "Hardware-independent proofs of numerical programs" (PDF). Proceedings of NFM 2010.
  7. David Delmas; Stéphane Duprat; Victoria Moya Lamiel; Julien Signoles. "Taster, a Frama-C plug-in to enforce Coding Standards" (PDF). Embedded Real Time Software and Systems 2010, Toulouse, France.
  8. Jonathan-Christofer Demay; Éric Totel; Frédéric Tronel (2009). "Automatic Software Instrumentation for the Detection of Non-control-data Attacks". Recent Advances in Intrusion Detection. Lecture Notes in Computer Science. Vol. 5758/2009. pp. 348–349. doi:10.1007/978-3-642-04342-0_19. ISBN 978-3-642-04341-3.

پیوند به بیرون

Read other articles:

Texas descendants of Hispanic settlers TejanosFlag of TexasTotal population9,530,419 (people of Mexican origin; 2020 Census)[1]Regions with significant populationsTexas (especially El Paso, San Antonio, and South Texas)LanguagesSpanish (American Spanish, Mexican Spanish), English (Texas English, Chicano English), Spanglish, Caló, Indigenous languages of MexicoReligionPredominantly Roman CatholicRelated ethnic groups Other Chicanos and Hispanos of the United States: Californios, Flori...

 

سيغفريد ساسون معلومات شخصية الميلاد 8 سبتمبر 1886(1886-09-08)كنت، إنجلترا الوفاة 1 سبتمبر 1967 (80 سنة)ويلتشير، إنجلترا مكان الدفن مقاطعة سومرست  الجنسية  المملكة المتحدة عائلة عائلة ساسون  الحياة العملية المدرسة الأم جامعة كامبريدجكلية كليركلية مارلبورو  المهنة مراسل مي...

 

2003 filmImeldaDirected byRamona S. DiazProduced by Ramona S. Diaz Kyra Sedgwick Meredith Bagby Valerie Stadler Starring Imelda Marcos Imee Marcos Bongbong Marcos CinematographyFerne PearlsteinEdited byLeah MarinoMusic by Bob Aves Grace Nono ProductioncompanyBig Swing ProductionsDistributed byUnitel PicturesRelease date November 23, 2003 (2003-11-23) (Amsterdam) Running time103 minutesCountries Philippines United States Languages Filipino English Box officeUS$500,992 (world...

2004 Malagasy drama film by Alexander Abela SouliFrench promotional release posterDirected byAlexander AbelaWritten byAlexander AbelaWilliam Shakespeare (based on Othello)CinematographyJoseph AreddyEdited byChristel DewynterAnthony SlomanMusic byDeborah MollisonRelease date 6 November 2004 (2004-11-06) (Amiens International Film Festival) Running time94 minutesCountriesFranceMadagascarUnited KingdomLanguagesFrench, Malagasy Souli is a 2004 Malagasy drama film written and di...

 

Biographical museum in Philadelphia, PennsylvaniaFranklin CourtOne of Venturi & Rauch's ghost structures in the courtyardEstablished1976LocationIndependence National Historical Park, Philadelphia, PennsylvaniaTypeBiographical museumPublic transit access5th Street/Independence HallWebsitehttps://www.nps.gov/inde/planyourvisit/franklin-court.htm U.S. National Historic Landmark DistrictContributing Property Part ofIndependence National Historical Park (ID66000683)Designated NHLDCPOctobe...

 

Prefecture-level city in Guangdong, People's Republic of ChinaHeyuan 河源市Prefecture-level cityLocation of Heyuan City jurisdiction in GuangdongHeyuanLocation in ChinaCoordinates (Heyuan municipal government): 23°44′39″N 114°42′01″E / 23.7443°N 114.7002°E / 23.7443; 114.7002CountryPeople's Republic of ChinaProvinceGuangdongMunicipal seatYuancheng DistrictArea • Prefecture-level city15,653.63 km2 (6,043.90 sq mi) •&#...

Oldest daily newspaper in South Australia The paper's masthead on 31 December 1928 The Register, originally the South Australian Gazette and Colonial Register, and later South Australian Register, was South Australia's first newspaper. It was first published in London in June 1836, moved to Adelaide in 1837, and folded into The Advertiser almost a century later in February 1931. The newspaper was the sole primary source for almost all information about the settlement and early history of Sout...

 

Number of different folk dances characterized by a fast upbeat tempo This article is about the Italian folk dance style. For other uses, see Tarantella (disambiguation). Not to be confused with Tarantula. Music of Italy Timeline General topics Opera houses Music conservatories Terminology Genres Classical (Opera) Pop Rock (Hardcore · New Wave · Progressive rock) Disco House Dance Folk Hip hop Jazz Specific forms Gregorian chant Media and performance Music awards Sanremo Music Festival (fest...

 

Nama ini menggunakan cara penamaan Spanyol: nama keluarga pertama atau paternalnya adalah Moreno dan nama keluarga kedua atau maternalnya adalah Herrera. Héctor Moreno Informasi pribadiNama lengkap Héctor Alfredo Moreno HerreraTanggal lahir 17 Januari 1988 (umur 35)Tempat lahir Culiacán, Sinaloa, MeksikoTinggi 185 cm (6 ft 1 in)[1]Posisi bermain Bek tengahInformasi klubKlub saat ini MonterreyKarier junior2003–2006 UNAMKarier senior*Tahun Tim Tampil (Gol)2...

7-ZipAntarmuka grafis 7-Zip di Windows 11PengembangIgor PavlovRilis perdana18 Juli 1999 (1999-07-18)[1]Repositorisourceforge.net/projects/sevenzip/files/7-Zip/ Bahasa pemrogramanC++, JavaSistem operasiWindows, Linux, Mac OS X, MS-DOS,BEOSTersedia dalam79 bahasa, termasuk Bahasa IndonesiaJenisPengarsip berkasLisensiLGPL[2]Situs webwww.7-zip.org 7-Zip adalah pengarsip berkas sumber terbuka. 7-Zip menggunakan ekstensi nama berkas .7z, tetapi dapat membaca dan menulis dalam b...

 

Animated film directed by Kevin Lima and Chris Buck This article is about the film. For the soundtrack, see Tarzan (1999 soundtrack). For the video game, see Tarzan (video game). For the franchise, see Tarzan (franchise). TarzanTheatrical release posterDirected by Kevin Lima Chris Buck Screenplay by Tab Murphy Bob Tzudiker Noni White Story by Stephen Anderson Mark D. Kennedy Carole Holliday Gaëtan Brizzi Paul Brizzi Don Dougherty Ed Gombert Randy Haycock Don Hall Kevin L. Harkey Glen Keane B...

 

For the 1994 video game, see Samurai Shodown II. 1999 video gameSamurai Shodown! 2Developer(s)SNKPublisher(s)SNK, Code Mystics (Nintendo Switch)Platform(s)Neo Geo Pocket ColorNintendo SwitchReleaseNeo Geo Pocket ColorWW: April 30, 1999 Nintendo SwitchJP: December 12, 2019WW: February 25, 2020Genre(s)FightingMode(s)Single-player, multiplayer Samurai Shodown! 2 (Japanese title: Samurai Spirits! 2 / サムライスピリッツ! 2) is a handheld game in SNK's Samurai Shodown series of fighting ga...

武汉理工大学Wuhan University of Technology校训厚德博學,追求卓越创办时间2000年5月27日学校标识码4142010497学校类型研究型大學,綜合大學,中央部属高校,中华人民共和国教育部直属高等学校党委书记信思金校长杨宗凯教师人數3255人 [1]职工人數5407人 [1]本科生人數36987人 [1]研究生人數18016人 [1]校址 中国湖北省武汉市珞狮路122号30°31′18″N 114°21′05...

 

Cestraeus Genus of fishes Cestraeus Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Actinopterygii Order: Mugiliformes Family: Mugilidae Genus: CestraeusValenciennes, 1836 Type species Cestraeus plicatilisValenciennes, 1836 Species See text Cestraeus is a genus of mullets found in rivers of Asia and Oceania. Species There are currently three recognised species in this genus:[1] Cestraeus goldiei (W. J. Macleay, 1883) – goldie river mullet Cestra...

 

This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (April 2023) Bonsu Eco Park, formerly Bunso Arboretum, is located in the Eastern Region of Ghana, south of the town of Bunso. It was founded in 1935 by two British men but later developed into a recreational park by Ghanaians in collaboration with the Ministry of Tourism Ghana.[1] The site has over 600 species of trees used for ...

У этого термина существуют и другие значения, см. Тельма. Посёлок при станцииТельма 52°40′06″ с. ш. 103°44′02″ в. д.HGЯO Страна  Россия Субъект Федерации Иркутская область Муниципальный район Усольский Сельское поселение Железнодорожное История и география Часов...

 

1993 Italian filmSudCover of SudDirected byGabriele SalvatoresWritten byFranco BerniniAngelo PasquiniGabriele SalvatoresProduced byMarco MandelliStarringSilvio OrlandoCinematographyItalo PetriccioneEdited byMassimo FiocchiDistributed byVariety DistributionRelease date 1993 (1993) Running time86 minutesCountryItalyLanguageItalianBox office$3 million (Italy)[1] Sud, also known as South,[2] is a 1993 Italian drama film directed by Gabriele Salvatores. The movie won the Best ...

 

Subdistrict in Thailand Bird's-eye view of Wat Phanan Choeng Kamang (Thai: กะมัง, pronounced [kā.māŋ]) is a tambon (subdistrict) in Phra Nakhon Si Ayutthaya District, Phra Nakhon Si Ayutthaya Province, Thailand. Naming Kamang is named after a small khlong (canal) Kamang, (also known as Phai Ling[1]) runs through the north part of the area. Kamang (sometimes spelled Kramang) literally translates as 'Smith's barb', an edible freshwater fish in the carp family.[2...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (نوفمبر 2019) قانون إصلاح الأراضى باسكتلندا عام ٢٠١٦معلومات عامةالاسم الرسمي An Act of the Scottish Parliament to make provision for a land rights and responsibilities statement; to establish the Scottish Land Commission, provide for its funct...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Finnish Australians – news · newspapers · books · scholar · JSTOR (April 2023) (Learn how and when to remove this template message) Finnish AustraliansAustraliansuomalaisetTotal population7,939 (by birth, 2011 Census)[1]22,420 (by ancestry, 2011 Census...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!