The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Facebook открыл код статического анализатора Infer

11.06.2015 19:31

Facebook перевёл в разряд открытых проектов статический анализатор Infer, который можно использовать для выявления ошибок в приложениях на языках Си, Objective-C и Java. В Facebook система применяется для проверки программ, разрабатываемых для платформ Android и iOS. Infer позволяет на основе анализа кода, без непосредственного запуска программы, выявлять такие проблемы, как разыменование указателей NULL, утечка ресурсов, проблемы при работе с памятью и различные ошибки, которые могут приводить к краху в процессе работы.

В основе Infer лежит несколько академических теорий, связанных с созданием алгоритмов математической логики, нацеленных на доказательстве корректности компьютерных программ и оптимизированных для решения задач оценки правильности кода. При анализе кода применяются логические рассуждения, на основе которых строится план выполнения программы, в котором система пытается повторить типовые рассуждения разработчика, проводящего ручной аудит кода. В настоящее время Infer достиг неплохой для автоматизированных средств эффективности, выявляя около 80% проблем из общего объёма ошибок, информация о которых поступает разработчикам. Код Infer написан на языках OCaml и Python, и распространяется под лицензией BSD.

  1. Главная ссылка к новости (https://code.facebook.com/post...)
  2. OpenNews: Facebook представил фреймворк React Native и среду разработки Nuclide
  3. OpenNews: Facebook открыл код инструментария для симуляции работы в проблемных сетях
  4. OpenNews: Facebook открыл программные стеки для BMC-контроллеров и сетевых коммутаторов
  5. OpenNews: Facebook открыл модули машинного обучения, использующие GPU для ускорения
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42405-infer
Ключевые слова: infer, facebook
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (16) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 19:46, 11/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Код Infer написан на языке Python

    ?

    а в репо написано

    > Infer is a static analysis tool for Java, Objective-C and C, written in OCaml.

     
     
  • 2.2, Аноним (-), 20:03, 11/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    вот, интересно а многие ли пишут на OCaml?
     
     
     
    Часть нити удалена модератором

  • 4.4, A.Stahl (ok), 20:48, 11/06/2015 [ответить]  
  • +/
    Это на ОСaml'е? Забавный язык...
     
     
  • 5.12, A.Suckln (?), 10:22, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Это на ОСaml'е? Забавный язык...

    В днявочку себе это напиши, забавный ты наш

     
  • 3.6, Джо (?), 21:19, 11/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Там по ссылкам некая девушка Dulma Rodriguez с ученой степенью  из мюнхинского университета.
    Фото http://www2.tcs.ifi.lmu.de/~rodrigue/img/dulma2.JPG

    "My research interests include static analysis, type systems for resource analysis, lambda calculus and type theory, theorem provers, separation logic, etc."

    Профессионально программиирует с 2002 года.

    Вела научную деятельность с 2008 года, что вероятно и явилось решающим фактором выбора языка программирования.  Научный руководитель неизвестен.

    В 2012 переехав в Лондон(Соединенное королевство), применила на практике  свои научные изыскания в коммерческом проетке Monoidics
    (provides cutting-edge solutions for formal verification, memory safety analysis, termination analysis, and security of software.)

    В июле 2013года  компания  была  поглащена Facebook.


    ссылки по делу Infer:
    http://www2.tcs.ifi.lmu.de/~rodrigue/

    Ваш  К.О.

     
     
  • 4.7, ясненько (?), 23:57, 11/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    так вот они оказывается какие эти всемирно известные британские учёные!
     
  • 4.14, Замполит (?), 18:40, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А почему вы упомянули именно Dulma Rodriguez ? oO По первой ссылке указана инженерная команда и там более 10 имен.
     
     
  • 5.17, fi (ok), 12:54, 14/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    на то они и "инженерная команда", что скажут, то и накодят :)  а самое ценное в таких прогах - математика. за это и премии дают хорошие.

     
  • 4.16, Аноним (-), 03:43, 14/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >поглащена

    поглощена, неграмотный ты наш. От слова "глотать"

     
  • 3.10, Аноним (10), 09:03, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ocaml - используется для всяких самопальных компиляторов/трансляторов (haxe например) и прочей связанной дребедени. что-то там встроенное или из-за простоты написания кода под такие задачи.
    использовать как ЯП общего назначения - лично я не осилил.

    кто то сравнивал питон с окамлом и говорил что окампл лучше - почему не знаю, совершенно разные языки под разные задачи.

     
  • 2.8, vn971 (ok), 00:15, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А чо минисуем товарища? В проекте реально пайтона еле наскребёшь. Я насчитал ~1000 строк кода, github говорит что это 2.4% от общего числа. Сами авторы считают что эта тулза "written in OCaml". Личное отношение к языку в такие моменты стоит отбрасывать.:P
     
     
  • 3.9, Аноним (10), 08:56, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    еслиб написали статический анализатор на динамическом ЯП - python - это был какойто разрыв шаблона.
     
     
  • 4.15, ячс (??), 01:17, 13/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > еслиб написали статический анализатор на динамическом ЯП - python - это был какойто разрыв шаблона.

    Более того - на динамическом языке можно написать статический анализатор динамического языка. Ну шаблоны берегитесь.

     

  • 1.5, Аноним (-), 20:58, 11/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Код Infer написан на языках OCaml и Python

    Из серии "галантерейщик^W питон и кардинал^W OCaml -- это сила!"

     
  • 1.11, Kotan (?), 09:24, 12/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Неплохо. Прогнал по коду util-linux (его проверяют периодически Coverity и Cppcheck) - кое-что нашёл.
     
     
  • 2.13, sdfgsdg (?), 11:01, 12/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что именно?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру