bismon (ini adalah nama sementara ) adalah monitor persisten yang (di masa depan) akan berinteraksi dengan kompiler GCC melalui plugin. Itu (atau akan) entah bagaimana penerus proyek melt GCC lama saya; Tujuan jangka menengah juga merupakan analisis kode sumber program statis dengan bantuan GCC. The source code repository (GPLv3+ licensed) is on https://github.com/bstarynk/bismon .. My (Basile Starynkevitch, employed at CEA, LIST in France) work on bismon is partly funded (from start of 2018 to end of 2020) by the European Union, Horizon H2020 programme, CHARIOT project, under Grant Agreement No 780075. Within CHARIOT I will focus Pada analisis beberapa jenis perangkat lunak IoT yang dikodekan dalam C atau C ++ dan (cross-) yang disusun oleh GCC pada beberapa desktop Linux. Pada tahun 2019 - 2021 pengembangan bismon juga sebagian didanai oleh proyek Decoder H2020, berdasarkan Perjanjian Hibah 824231 (terkait dengan Monitor Pengetahuan Persisten WP1).
Saat ini (mulai 2021) bismon masih dalam tahap beta , dan itu adalah perangkat lunak gratis di bawah lisensi GPLV3+. Ini dimaksudkan untuk workstation pengembang desktop Linux X86-64 (tidak akan berfungsi pada Windows atau MacOsx atau Android).
Beberapa dokumentasi yang masih belum lengkap (sebagai laporan teknis doc/bismon-doc.pdf dalam PDF) dapat dihasilkan (dengan make make doc ; perintah itu mengharuskan Anda untuk memiliki $HOME/tmp/ direktori). Draf awal (tidak resmi) dari laporan itu mungkin tersedia di http://sarynkevitch.net/basile/bismon-doc.pdf
Sementara Bismon saat ini didanai oleh proyek-proyek H2020 dengan tujuan analisis statis, harap perhatikan bahwa Bismon mungkin kemudian -ketika lebih matang, setelah 2024- mungkin dapat digunakan sebagai kerangka kerja generik yang entah bagaimana, dengan banyak hal yang paling penting ( dan mungkin ada pada bulan-bulan yang paling penting (dan mungkin ada pada beberapa hal yang paling penting, dan kekuatan komputer Anda), dan mungkin ada pada beberapa saat. Sadar akan mesin sadar , ISBN: 978-1848211018), lingkungan grafis seperti desktop yang canggih, banyak perangkat perangkat lunak kolaboratif berbasis web interaktif secara bersamaan digunakan oleh beberapa tim, atau aplikasi database objek atau masalah yang relevan. Karena Bismon adalah GPLV3+ berlisensi, perangkat lunak masa depan yang menggunakannya seharusnya, IMHO, secara praktis juga menjadi GPLV3+ (tetapi skema lisensi lainnya bisa dimungkinkan, hubungi saya di [email protected] for more; namun, ianal ...)
[Gabungan Kendaraan Udara Fighter C ++ Standar Pengkodean] (https://www.strousttrup.com/jsf-av-rules.pdf)
[Pengecualian Deterministik Zero-Overhead: Nilai Melempar] (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0709r4.pdf)
[C ++ Standardisasi, Makalah 2021] (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/)
Kembangkan semacam bahasa khusus domain tingkat tinggi (lebih ekspresif, lebih deklaratif) untuk memfasilitasi analisis kode sumber program statis di atas GCC dan menghasilkan plugin GCC untuk itu, sehingga motivasi yang sama seperti GCC melel
Fitur dan tujuan penting dari bahasa khusus domain dan implementasinya meliputi:
kegigihan ortogonal; Ini adalah fitur utama (berguna untuk seluruh program analisis kode sumber statis dari program yang dianalisis yang terbuat dari beberapa unit terjemahan, masing -masing dikompilasi secara mandiri) yang tidak dapat secara realistis dapat meleleh GCC sehingga membutuhkan desain ulang yang lengkap. Proses bismon diharapkan relatif berumur panjang-server seperti- dan mempertahankan sebagian besar datanya dari satu berjalan ke yang berikutnya (di store*.bmon Tekstual. File tekstual). Di masa depan proses bismon akan berkomunikasi dengan proses kompilasi gcc atau g++ (Cross-) (menggunakan beberapa plugin GCC, untuk dihasilkan oleh bismon itu sendiri)
Pengetikan dinamis seperti di Python, Skema, Ruby, JavaScript, ... (dan entah bagaimana meleleh).
multi-threaded tetapi tanpa gil. Sekelompok benang kecil utas pekerja berulang kali dan secara bersamaan mengambil tugas dari agenda global. Setiap tugas berjalan dengan cepat (milidetik) di beberapa utas pekerja dan dapat memperbarui agenda itu (misalnya dengan menambahkan dirinya untuk dilanjutkan).
refleksif
homoikonik
Tepatnya sampah dikumpulkan
deklaratif, dengan pencocokan pola yang baik dan memerintah formalisme
Bootstrap, dan disusun ke C, mungkin beberapa bagian menggunakan GCCJIT.
Jadi Metaprogrammed
Menghasilkan plugin GCC (dalam C ++) yang akan berinteraksi dengan bismon dengan beberapa mekanisme RPC
Perhatikan bahwa sintaksis dan semantik (masih tidak berdokumen) dari bismon bekerja dalam proses dan dapat berubah secara tidak kompatibel.
Ketika bismon akan diselesaikan untuk dapat digunakan, itu biasanya akan digunakan oleh tim kecil pengembang yang bekerja bersama pada beberapa proyek perangkat lunak (umum) yang sebagian besar dikodekan dalam C atau C ++ (dan lebih disukai proyek perangkat lunak gratis).
Sebagian besar bismon berada di C99 atau C11 (termasuk peningkatan jumlah kode C yang dihasilkan di bawah modules/ ), tetapi beberapa kode yang ditulis tangan ada di C ++ 14 (terutama misc_BM.cc dan BM_makeconst.cc Metaprogram yang menghasilkan c header C).
Di Linux/x86-64 (misalnya debian/tidak stabil atau hanya buster atau baru-baru ini Ubuntu 18 atau 19) ( tanpa tambalan tambahan atau pekerjaan, Bismon tidak akan bekerja pada mesin 32 bit!):
Anda harus dapat mengkompilasi banyak paket perangkat lunak sumber terbuka untuk kode sumbernya. Anda harus memiliki sistem GNU/Linux baru-baru ini dengan akses akar, lebih disukai 32Gigabytes atau lebih dari RAM, beberapa prosesor x86-64 dengan setidaknya 4 core, dan setidaknya 250GBYTES ruang disk gratis. Anda diharapkan fasih dengan antarmuka baris perintah Linux, dan cangkang UNIX seperti GNU Bash atau Zsh. Anda harus dapat dan diizinkan untuk mengkompilasi GCC 10 atau lebih disukai bahkan GCC 11 dari kode sumbernya dan akrab dengan editor kode sumber seperti GNU Emacs, Vim, Geany dll ... Anda senang membaca SICP.
Lihat juga Subdirektori Ketergantungan dan Ketergantungan ReadMe -nya - mungkin tidak diperbarui.
GCC baru -baru ini (jadi GCC 10 atau lebih disukai GCC 11 ...), dengan dukungan dan Plugin C ++ dan JIT diaktifkan (periksa dengan gcc -v ; jika sistem Anda gcc dan g++ tidak memiliki dukungan untuk plugin dan libgccjit, Anda harus membangun dan menginstal rilis GCC baru -baru ini dari kode sumbernya, dan mengkonfigurasinya untuk menyediakannya.). GCC lama (misalnya versi 9 atau sebelumnya) tidak dapat digunakan.
'/usr/src/Lang/gcc-11.1.0/configure' '-v' '--prefix=/usr/local' '--with-gcc-major-version-only' '--program-suffix=-11' '--enable-shared' '--enable-linker-build-id' '--enable-nls' '--enable-bootstrap' '--enable-clocale=gnu' '--enable-libstdcxx-debug' '--enable-libstdcxx-time=yes' '--with-default-libstdcxx-abi=new' '--enable-gnu-unique-object' '--disable-vtable-verify' '--enable-plugin' '--enable-default-pie' '--with-system-zlib' '--enable-libphobos-checking=release' '--with-target-system-zlib=auto' '--enable-objc-gc=auto' '--enable-multiarch' '--disable-werror' '--with-arch-32=i686' '--with-abi=m64' '--with-multilib-list=m32,m64,mx32' '--enable-multilib' '--with-tune=native' 'CFLAGS=-O2 -g' 'CXXFLAGS=-O2 -g' '--enable-host-shared' '--enable-languages=c,c++,d,go,jit,lto' ....Python 3 baru -baru ini dengan PIP terpasang.
Dokumentasi ini membutuhkan kompiler silang A /usr/bin/mipsel-linux-gnu-gcc-8 yang disediakan oleh paket Debian gcc-8-mipsel-linux-gnu . Waspadalah, paket itu bertentangan dengan paket gcc-multilib* di Debian.
Ninja Builder, Versi 1.8 atau yang lebih baru diperlukan (dan dimulai oleh make ). Jangan gunakan yang lebih tua (periksa dengan ninja --version ; jika itu tidak berhasil, ninja Anda terlalu tua).
Diperlukan penafsir tipu daya baru -baru ini, versi 2 atau lebih baik (lebih disukai tipu daya 2.2). Saya tidak tahu dan sangat tidak menyukai Python dan penerjemah tipu daya adalah GNU, LGPLV3+, dan jauh lebih akrab bagi saya. Juga, konsep dari dialek LISP seperti skema (bahasa yang diimplementasikan oleh tipu daya ) sangat relevan untuk memahami Bismon , di mana tipu daya digunakan untuk menghasilkan skrip build.ninja yang digunakan oleh pembangun ninja.
mailutils yang ditingkatkan dengan tipu daya baru-baru ini, yaitu Debian mailutils-guile yang menyediakan yang dapat dieksekusi /usr/bin/guimb .
Glib 2.58 atau lebih baik (yang juga diperlukan untuk GTK di atas), karena beberapa rutinitas tingkat rendah, terutama terkait UTF-8, diperlukan.
Jansson 2.12 atau lebih baik diperlukan untuk JSON (digunakan dalam kaitannya dengan websockets).
Libonion diperlukan untuk antarmuka web, tetapi dihapus pada 27 Juni, 2022, git komit a943cf687c748 atau tag no-more-ibonion-tag (dengan kesalahan ketik: hilang l ). Sebelum komit itu, cari bendera preprocessor BISMON_LIBONION .
Gnu membuat 4 atau lebih baik
CCACHE digunakan untuk menghindari kompilasi yang tidak berguna. Jika Anda tidak memilikinya, Anda harus mengedit Makefile kami untuk kompilasi modul yang dihasilkan.
libbacktrace - Terkadang ini adalah bagian dari sistem Anda GCC , tetapi Anda akan lebih baik menginstalnya secara terpisah (misalnya di /usr/local/ awalan Anda)
Markdown diperlukan untuk beberapa dokumentasi, seperti README.md ini
GNU Indent (2.2.x akhirnya) dan Astyle (setidaknya 3.1) berguna untuk make indent . indent sekarang diperlukan untuk modul yang dihasilkan.
Tardy (file tar postprocessor) digunakan untuk menghasilkan dokumentasi.
LaTeX -Probable sebagai TexLive Suite atau Luatex- dan Utilities Terkait ( pdflatex , makeidx , bibtex ...) dengan Inkscape dan Hevea dan Xindy diperlukan untuk dokumentasi.
Tentang debian/tidak stabil atau ubuntu baru-baru ini, apt-get install build-essential make ninja-build gcc-8 g++-8 gcc-8-plugin-dev libgccjit-8-dev ccache gcc-8-mipsel-linux-gnu inkscape hevea texlive-full xindy fonts-inconsolata ttf-ubuntu-font-family fonts-ubuntu ttfautohint guile-2.2 mailutils-guile untuk infrastruktur bangunan; Perhatikan bahwa gcc-8-mipsel-linux-gnu adalah kompiler silang MIPSEL GCC-itu bertentangan dengan paket gcc-multilib* ; inkscape , hevea , texlive-full (meta-package besar ), xindy , fonts-inconsolata , fonts-ubuntu , ttfautohint diperlukan untuk menghasilkan dokumentasi.
Kami masih membutuhkan apt-get install libgtk-3-dev untuk GTK 3. Ini dapat menarik banyak dependensi.
Dan apt-get install libglib2.0-dev libjansson-dev untuk glib dan jansson kami membutuhkan dependensi.
libbacktrace tidak dikemas secara independen di Debian. Saya merekomendasikan membangun dan menginstalnya dari kode sumbernya, atau (tidak disarankan, "tetapi dapat dilakukan) mengedit Makefile untuk menggunakan sistem GCC Compiler Anda.
libonion tidak dikemas secara independen di Debian.
apt-get install markdown indent astyle tardy dan apt-get install texlive texlive-full hevea
dependencies/ subdirektori adalah untuk git submodule -s yang terkait dengan libbacktrace dan libonion
Anda mungkin perlu menambahkan .mjs sebagai sufiks yang valid atau ekstensi file untuk jenis application/javascript di /etc/mime.types file sistem. Baca tentang modul JavaScript di web dan lihat Debian Bug#927300.
Jalankan locale untuk memastikan bahwa lokalisasi Anda sesuai dengan POSIX atau Inggris (Inggris atau Amerika) di UTF-8 (misalnya tidak bisa menjadi Italia atau Yunani atau Prancis). Jadi harus POSIX atau C atau en_US.UTF-8 atau en_GB.UTF-8 . Anda mungkin ingin mengatur variabel lingkungan Anda dengan tepat (setidaknya LANG=en_US.UTF-8 dan LANGUAGE=en_US:en dan LC_ALL=en_US.UTF-8 , tanpa variabel lingkungan LC_* lainnya). Lihat Lokal (1), Lokal (7), UTF-8 (7), Lokal (5), Setlocale (3). Tetapi jangan meminta saya untuk lebih memahami detail internasionalis dan lokalisasi yang sangat halus ini, topik itu sangat kompleks. Jika Anda masih membutuhkan pekerjaan itu untuk dilakukan oleh saya, kirimkan saya email di tempat kerja ke [email protected] . Tapi jangan berharap itu dilakukan oleh saya sebelum 2024.
Ekstensi file .mjs adalah untuk modul JavaScript. Jika file /etc/mime.types Anda (digunakan oleh libonion ) tidak mengetahuinya, Anda perlu menambahkan di sana baris berikut (baris pertama di bawah ini, dengan hash # , adalah komentar; yang penting adalah baris yang menyebutkan mjs ).
# in your /etc/mime.types for JavaScript modules
application/javascript mjs
Generasi dokumentasi membutuhkan $HOME/tmp/ direktori.
Kontak yang bertanggung jawab manusia utama harus diberikan dalam file contact_BM (komentar yang dimulai dengan # diterima di dalam, tetapi harus memiliki garis yang terinspirasi oleh John Doe <[email protected]> ). File itu harus ada di direktori saat ini atau direktori rumah Anda atau diberikan secara eksplisit dengan --contact-file=PATH . File ~/contact_BM saya bisa:
# file $HOME/contact_BM
Bismon master (Basile Starynkevitch) <[email protected]>
git Ekstra Anda mungkin ingin (beradaptasi saran ini dan mendefinisikan header hunk kustom Anda) untuk meningkatkan output interaktif dari git diff di store*.bmon file data persisten. Mungkin sesuatu yang terinspirasi dari git config diff.bismon.xfuncname '"^«_[0-9A-Za-z_]*$"' mungkin berhasil, tetapi tidak juga.
Kloning repositori git ini seperti biasa, dan bangun kemudian gunakan bismon di dalam pohon sumber yang diperoleh.
Lihatlah ke Makefile , dan edit jika diperlukan; Mungkin memperbarui PREPROFLAGS= dan LIBES= baris, misalnya untuk menggunakan libbacktrace GCC sistem Anda, dengan menambahkan $(shell gcc-7 -print-file-name=include) ke dalam PREPROFLAGS= line, dan $(shell gcc-7 -print-file-name=libbacktrace.a) ke LIBES= line. Tentu saja ganti 7 dengan 8 jika perlu. Mungkin Anda perlu mengatur GCC= dan GXX= secara eksplisit ke kompiler GCC C dan C ++ spesifik Anda.
Jalankan make or make -j3
Mekanisme kegigihan diuji dengan make redump
Program ./bismon (sementara) masih menggunakan GTK dan Libonion. Kami ingin menyingkirkan GTK. Itu dinyatakan sebagai bismongtk dan bismonion .
Pastikan untuk menjalankan bismon , bismongtk atau bismonion dengan --help pada awalnya untuk memahami opsi program yang tersedia.
bismon (setidaknya versi webnya) perlu diketahui tentang Anda. Jadi Anda harus mendaftarkan diri sekali untuk itu (dan itu akan menumbuhkan keadaan gigunya). Dan bismon (lebih tepatnya bismonion ) memiliki formulir login, jadi Anda harus memiliki kata sandi (khusus untuk bismon , tidak terkait dengan kata sandi lain yang Anda miliki).
Pertama -tama Anda perlu menginisialisasi file kata sandi kosong (file kata sandi default adalah ~/passwords_BM ; Anda dapat menentukan yang lain pada baris perintah). Jadi jalankan Command touch ~/passwords_BM di terminal (shell) untuk membuat file kosong itu. Maka Anda perlu membatasi izinnya (dapat dibaca dan dapat ditulis oleh pengguna UNIX Anda saja) dengan chmod u+rw,go-rwx ~/passwords_BM . Akhirnya, periksa dengan ls -ls ~/passwords_BM bahwa file ini kosong dan dapat dibaca & hanya dapat ditulis oleh Anda.
Maka Anda akan mendaftar sendiri. Jika Alan Turing adalah nama atau pseudo Anda, dan [email protected] adalah email utama Anda, dengan email sekunder Anda adalah turing@localhost , Anda dapat menambahkan diri Anda ke bismon dengan menjalankannya dengan sesuatu yang mirip dengan --contributor='Alan Turing;[email protected];turing@localhost' dan --batch batch dan-dump --dump-after-load=. opsi program. Tentu saja Anda harus menggantikan Alan Turing , [email protected] dan turing@localhost dengan apa pun yang sesuai untuk Anda. Email sekunder (juga disebut alias) adalah opsional. Jika Anda tidak menggunakannya (jadi jika Anda tidak memberikan alias apa pun, yang kemungkinan besar - jadi ganti turing@localhost dengan string kosong), bismon tidak tahu apa -apa tentang Anda selain git (lihat git config for user.email dan user.name ). Anda bahkan mungkin membuat kode beberapa skrip shell untuk mengekstrak informasi data pribadi itu dari git dan memasukkannya ke dalam bismon .
Akhirnya Anda perlu mengatur kata sandi Anda (tidak terkait dengan kata sandi lain di komputer Anda atau di web, tetapi harus memiliki setidaknya 10 karakter Unicode, dan digit, huruf, tanda baca), seperti yang diketahui bismon , menggunakan opsi --add-passwords (juga dengan --batch dan --dump-after-load=. ). To set your initial password to mypass!123456 create some temporary text file (it contains contributor names and their updated passwords in clear text, so you should not keep it), perhaps /tmp/addpassbismon , containing for example Alan Turing:mypass!123456 add run bismonion with --add-passwords=/tmp/addpassbismon --batch then remove /tmp/addpassbismon . Tentu saja Anda akan lebih baik menulis beberapa skrip shell yang membungkusnya, dan pastikan untuk memiliki kata sandi yang cukup kuat yang tidak ada dalam README.md ini.
Anda mungkin menambahkan beberapa pengguna lain (mungkin kurang dari selusin) yang Anda percayai dan itu dapat bekerja sama dengan Anda. Setiap pengguna dapat mengacaukan atau menyalahgunakan sistem bismon semudah yang Anda bisa. Maka pasti akan mematuhi GDPR jika ada pengguna Anda yang menjadi orang Eropa (dan kepatuhan GDPR adalah tanggung jawab Anda ). Formulir login templated (dengan kode dari web_ONIONBM.c ) dari file sumber login_ONIONBM.thtml (dan Anda dapat meningkatkan teks di dalam file itu jika Anda mau).
bismon Belum benar -benar dapat digunakan kecuali oleh saya (basile) pada Juli 2018 (belum ada analisis kode sumber statis, belum ada generasi plugin GCC). Jika Anda ingin melihat sesuatu menggunakan GTK, jalankan ./bismongtk maka ketik the_system di jendela perintah berlabel New-Bismon , maka kedua ctrl dan tombol kembali ditekan bersama. Jika Anda ingin melihat sesuatu melalui antarmuka web, jalankan ./bismonion kemudian buka URL-nya (mungkin localhost:8086/ atau apa pun yang telah ditentukan dengan --web-base ) di browser web Anda.
Dianjurkan untuk berjalan make clean sesekali (misalnya setiap hari atau mingguan). Saat menghasilkan file, bismon membuat cadangan dari versi mereka sebelumnya.
Tanyakan kepada saya (basile starynkevitch, [email protected] atau [email protected] ...) untuk detailnya.
Repositori git ini juga berisi, untuk kenyamanan, kerangka kerja jQueryui 1.12 (yang memiliki lisensi MIT yang berbeda) di bawah webroot/jquery-ui
Gunakan (sebagai stopbismon ) risiko Anda sendiri, jika $HOME/bismon berisi kode sumber bismon dan dapat dieksekusi:
#!/bin/bash -x
# script stopbismon
if [ -f $HOME/bismon/_bismon.pid ]; then
kill -TERM $(/bin/head -1 $HOME/bismon/_bismon.pid)
else
pkill bismon
fi
Ini adalah perangkat lunak gratis yang belum dirilis
Lisensi (GPLV3+) kemungkinan tidak akan berubah (secara kontrak ditentukan dalam hibah kereta). Pemberitahuan hak cipta mungkin salah: dalam file yang dihasilkan, belum sesuai dengan ekspektasi GPL. Detail -detail ini adalah bug yang tertunda, tetapi ada lebih banyak bug lain juga.
Penulis sepenuhnya sadar - pada pertengahan 2019- dari beberapa bug dalam sistem bismon ini - proyek penelitian -, tetapi mengoreksi mereka bukanlah prioritas (karena melanjutkan bootstrap progresif Bismon jauh lebih penting , dan belum tercapai). Antarmuka GTK sering dikeluarkan oleh desain dan crash (yang tidak akan diperbaiki), dan harus secepat mungkin digantikan oleh antarmuka web yang lebih bermanfaat - dan itu sedang berlangsung pada pertengahan 2019. Silakan hubungi melalui email penulis untuk mendapatkan solusi yang mungkin. Perhatikan bahwa bug sementara yang diketahui oleh penulis belum terdaftar sebagai masalah Bismon gitlab , karena perangkat lunak ini belum dirilis.
Dalam Commit 24E400E4B25EA8FBD91 Dokumentasi gagal untuk dihasilkan.
Menghapus input{appendix-bm} dari file bismon-doc.tex tidak menyelesaikan bug itu.
Cara yang disukai untuk melaporkannya adalah dengan menambahkan beberapa masalah baru di https://github.com/bsaringnk/bismon
Tentu saja, suatu masalah harus mandiri. Harap berikan secara eksplisit output dari bismon --version di komputer Anda jika Anda dapat membangun bismon .
Jika masalah ini terkait dengan membangun bismon yang dapat dieksekusi, berikan secara eksplisit semua perintah Linux yang telah Anda jalankan (setelah memeriksa dan berhasil menjalankan skrip distclean-script.bash , atau tepat setelah beberapa perintah git clone segar ). Sebutkan output git log -3 .
Atau (jika Anda tidak ingin menambahkan masalah github ), kirim email (UTF-8 yang dikodekan, HTML5 lebih disukai) dalam bahasa Inggris, atau dalam bahasa Prancis, (atau mungkin dalam bahasa Rusia, hanya jika Anda tidak dapat mengirim email dalam bahasa Inggris atau Prancis) ke [email protected] atau [email protected]. Saya akan mencoba menjawab dalam bahasa Inggris atau dalam bahasa Prancis (karena Rusia tertulis saya sangat buruk).
Jika Anda perlu mengirim tangkapan layar, lampirkan beberapa gambar yang dikodekan sebagai JPEG atau PNG ke email Anda.
Jika Anda ingin atau perlu mengirim beberapa file, arsipkan semuanya di direktori unik (yang dasarnya (1) hanya berisi huruf, digit, dan beberapa arsip _ (1). Beri saya secara eksplisit perintah tar yang perlu saya jalankan (di Linux) untuk mengekstrak arsip Anda. Anda dapat berasumsi bahwa saya memiliki GNU Tar Versi 1.30 atau lebih baik di komputer Linux saya.
Jika Anda mengirimi saya beberapa kode C atau C ++ untuk diproses oleh bismon , izinkan saya secara eksplisit untuk mengkompilasinya dan menambahkan komentar (UTF8 yang dikodekan) dalam bahasa Inggris, Prancis atau Rusia.
Jika memungkinkan, tambahkan beberapa skrip shell (untuk GNU Bash atau untuk Zsh ....) yang memungkinkan saya untuk mereproduksi bug itu, dan beri nama skrip itu di email atau laporan bug Anda.
Majikan saya (jika Anda berada di luar CEA ....) dapat lebih suka beberapa informasi yang terkait dengan pendanaan, kolaborasi formal, dll ... jika mungkin sebutkan mereka secara eksplisit dalam bahasa Inggris atau dalam bahasa Prancis di email Anda.