Опис послуги
ПерекладЯ розробляю низькорівневе програмне забезпечення мовою Cyclone — безпечним діалектом C, який зберігає швидкість та передбачуваність звичного C, але усуває цілі класи помилок, які стоять за більшістю інцидентів безпеки. Якщо у вас є небезпечний код на C, який витікає по памяті, розіменовує висячі вказівники або виходить за межі буфера, я перенесу його мовою Cyclone і дозволю компілятору довести відсутність цих дефектів. Моя робота будується навколо трьох речей. Перше — регіональне управління памяттю: я розкладаю час життя об'єктів по явних регіонах, так що виділення та звільнення перевіряються на етапі компіляції, а не залишаються надією під час виконання. Друге — безпека вказівників: я застосовую товсті вказівники, обмежені масиви, а також кваліфікатори розмічених об'єднань і заборони null мови Cyclone, щоб вихід за межі та розіменування null просто не компілювалися. Третє — акуратний перенос: я беру існуючий модуль на C, перевожу його ідіому за ідіомою та зберігаю поведінку незмінною, тоді як система типів тепер гарантує безпеку. За роки я переніс парсери, мережеві демони та вбудовані процедури, завжди з регресійними тестами, що підтверджують побайтову еквівалентність. У результат входять вихідники мовою Cyclone, збірна обв'язка, набір тестів та письмовий звіт, де кожна небезпечна конструкція сопоставлена своєю безпечною заміною й пояснена вибрана структура регіонів. Пропоную й дослідницьку підтримку: порівняльний аналіз мови Cyclone з сучасними альтернативами та прототипи, які показують, підходить чи ваш код для міграції. Опишіть обсяг та форму вашого коду на C — і я точно оцінюю задачу.