Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

В Microsoft модель машинного обучения выявляет 99% ошибок безопасности

Информационная безопасность *Совершенный код *Софт Искусственный интеллект IT-компании
imageФото: www.webtekno.co

Команда Microsoft сообщила, что решила задействовать машинное обучение в совместной работе с экспертами по безопасности, которые выявляют ошибки и уязвимости в программном обеспечении. Корпорация надеется, что внедрение ИИ позволит повысить эффективность такой работы.
Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 3.2K
Комментарии 7

В Microsoft Flight Simulator из-за опечатки появился несуществующий 212-этажный небоскреб

Кодобред Разработка игр *Геоинформационные сервисы *Игры и игровые приставки
image

Игроки поделились первыми впечатлениями от ПК-версии Microsoft Flight Simulator, которая вышла 18 августа. В ходе изучения локаций они обнаружили в австралийском Мельбурне небоскреб-башню, которая не существует в реальности.
Всего голосов 36: ↑34 и ↓2 +32
Просмотры 17K
Комментарии 49

В МТИ создали автоматизированную модель машинного обучения для поиска проблем в коде

Совершенный код *Машинное обучение *Искусственный интеллект

В Массачусетском технологическом институте совместно с IBM разработали автоматизированный метод поиска слабых мест в моделях обработки кода с повышенной устойчивостью к атакам.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.2K
Комментарии 0

Google упрощает контрактное программирование

Java *
Google выпустил открытую библиотеку Contracts for Java, которая упрощает реализацию методов контрактного программирования в Java. С помощью библиотеки Contracts for Java предусловия, постусловия и инварианты можно добавлять в Java как булевые выражения внутри аннотаций.

Как сказано в официальном анонсе, библиотека разработана двумя программистами Google в свободное от основной работы время (20% на личные проекты) и основана на Modern Jass и сделана под впечатлением от языка Эйфель, в котором впервые был реализован метод контрактного программирования.
Читать дальше →
Всего голосов 49: ↑39 и ↓10 +29
Просмотры 2.3K
Комментарии 36

Как уменьшить вероятность ошибки на этапе написания кода. Заметка N1

Блог компании PVS-Studio
Check Miranda IM
Я добрался до кода широко известного клиента мгновенных сообщений Miranda IM. Вместе с различными плагинами это достаточно большой проект, размер которого составляет около 950 тысяч строк кода на C и C++. И, как в любом солидном проекте с историей развития, в нем имеется немалое количество ошибок и опечаток.

Рассматривая дефекты в различных приложениях, я заметил некоторые закономерности. И сейчас на примере дефектов, найденных в Miranda IM, я попробую сформулировать некоторые рекомендации, которые позволят избежать многих ошибок и опечаток ещё на этапе написания кода.

Читать дальше →
Всего голосов 130: ↑120 и ↓10 +110
Просмотры 4K
Комментарии 102

Как уменьшить вероятность ошибки на этапе написания кода. Заметка N2

Блог компании PVS-Studio
Operator ?:
Это вторая статья о том, как можно избежать ряда ошибок еще на этапе написания кода. В предыдущей заметке уже упоминался совет избегать множества вычислений в одном выражении. Однако, этот вопрос требует более пристального внимания. Рассмотрим опасность сложных условий, и как можно предупредить многие логические ошибки.

Читать дальше →
Всего голосов 97: ↑83 и ↓14 +69
Просмотры 3.1K
Комментарии 57

PVS-Studio vs Chromium

Блог компании PVS-Studio
PVS-Studio VS Chromium
В этот раз победу одержало добро. А вернее, исходные коды проекта Chromium. Chromium — один из лучших проектов, который мы проверяли с помощью PVS-Studio.
Читать дальше →
Всего голосов 153: ↑134 и ↓19 +115
Просмотры 2.6K
Комментарии 64

Вышел движок MediaWiki 1.17. Моё расширение, подменяющее jQuery, по-прежнему работоспособно в нём. Но в будущем (для MediaWiki 1.18) появится более элегантное решение. 

Краудсорсинг
22 июня 2011 года Фондом Викимедиа выпущена в свет очередная стабильная версия движка MediaWiki — версия 1.17. Соответствующую новость на английском языке вы без труда найдёте в рассылке mediawiki-announce, снабжённую гиперссылками на подробный список изменений и инструкции по апгрейду.

Одной из основных (и даже ключевых) новостей этой версии стало появление и внедрение уникального движка ResourceLoader, целью которого является автоматическая сборка «ресурсов» (конгломератов джаваскрипта и CSS, из которых собирается один общий файл CSS и один общий файл джаваскриптов) с учётом их взаимной зависимости (например, jQuery UI зависит от jQuery) и с последующей минификацией. Два ресурса, содержащие служебные скрипты MediaWiki и библиотеку jQuery 1.4.2, подключаются автоматически в любом случае.

Те из вас, кто хочет использовать более новую версию jQuery, по-прежнему могут для этого воспользоваться тем моим способом и расширением, о котором я рассказывал 12 дней назад вот в этом же блоге. Как ни странно, мне не пришлось переменить ни буквы в его коде PHP для обеспечения работоспособности в MediaWiki 1.17 — это приятная удача, несмотря на то, что (в силу сложности ResourceLoader) прежняя возможность несложно «выкусить» вызов библиотеки jQuery, встроенной в MediaWiki, исчезла совершенно. Так что теперь моё расширение «побеждает» всего лишь потому, что вставляет вызов новой jQuery чуть раньше, чем ResourceLoader начинает грузить старую. По-видимому, библиотека jQuery 1.4.2 достаточно разумна для того, чтобы не подменять новую версию себя самóй. Однако печально, что теперь (в отличие от 1.16) моё расширение не позволяет загрузить одну версию jQuery (свою) вместо другой (встроенной в движок): в 1.17 они грузятся совместно, что неэкономно.

Читать дальше →
Всего голосов 17: ↑4 и ↓13 -9
Просмотры 565
Комментарии 0

Не зная брода, не лезь в воду. Часть первая

Блог компании PVS-Studio
Не зная брода, не лезь в воду
Захотелось написать несколько небольших заметок о том, как программисты на Си/Си++ играют с огнем, не подозревая об этом. Первая заметка будет про попытки явно вызвать конструктор.
Читать дальше →
Всего голосов 122: ↑106 и ↓16 +90
Просмотры 3.1K
Комментарии 91

Повторная проверка проекта Notepad++

Блог компании PVS-Studio
PVS-Studio vs Notepad++
Прошло более года, как мы проверили Notepad++ с помощью PVS-Studio. Интересно посмотреть, насколько анализатор PVS-Studio стал лучше, и что было исправлено в Notepad++ из прежних ошибок.
Читать дальше →
Всего голосов 97: ↑77 и ↓20 +57
Просмотры 1.9K
Комментарии 89

Итак, вы решили запретить копирование объектов класса в C++

Блог компании ABBYY C++ *
SHALL NOT DANCE THEREДовольно часто можно встретить код на C++, в котором у одного или нескольких классов конструктор копирования и оператор присваивания объявлены private и написан комментарий вида «копирование запрещено».

Прием простой и с виду очевидный, тем не менее, при его использовании возможны подводные камни, приводящие к ошибкам, которые проявятся нескоро и поиск которых может занять не один день.

Рассмотрим возможные проблемы.
Читать дальше →
Всего голосов 42: ↑36 и ↓6 +30
Просмотры 40K
Комментарии 45

Notepad++. Кириллические символы, ошибочно попавшие в код — решение проблемы

Разработка веб-сайтов *
Из песочницы
Вчера потратил почти два часа на то, чтобы найти ошибку во вроде бы правильном коде. Проблема оказалась банальной — в ключ массива «text» каким-то образом попала кириллическая буква «е». По виду она не отличается от «e» латинской, и найти проблему оказалось очень нелегко. Уверен, большинство программистов, да и просто людей, которые работают с текстовой информацией, время от времени сталкиваются с подобными неприятностями. Особенно это касается английской буквы «си» и русской «эс», которые находятся на одной и той же клавише в русской и английской раскладках. У меня этот случай далеко не первый, и поэтому я решил заняться поиском решения данной проблемы вплотную. И решение — пусть не очень элегантное, но вполне работоспособное — нашлось.
Читать дальше →
Всего голосов 44: ↑35 и ↓9 +26
Просмотры 19K
Комментарии 51

Исследование отношения популярных языков программирования к случайным ошибкам

Разработка веб-сайтов *Программирование *Совершенный код *
Группа греческих учёных под руководством Диомидиса Спинеллиса провела интересное исследование чувствительности десяти популярных языков программирования к ошибкам и опечаткам при наборе текста программы. Ущерб от таких ошибок иногда может составлять многие миллионы, и способность языка обнаруживать их как можно раньше очень важна для разработки надёжных программ. Для тестирования использовались несколько примеров из проекта Rosetta Code — вики, на которой собраны реализации множества задач и алгоритмов на разных языках. На основании статистических данных о популярности языков, а так же некоторых практических соображений (наличие свободного компилятора и примеров на Rosetta Code) были выбраны следующие языки и компиляторы:
Язык компилятор/среда
C gcc 4.4.5
C++ g++ 4.4.5
C# mono 2.6.7, CLI v2.0
Haskell ghc 6.12.1
Java OpenJDK 1.6.0_18
JavaScript spidermonkey 1.8.0
PHP PHP 5.3.3-7
Perl perl 5.10.1
Python python 2.6.6
Ruby ruby 1.8.7
Читать дальше →
Всего голосов 72: ↑50 и ↓22 +28
Просмотры 27K
Комментарии 50

Ещё один способ отстрелить себе ногу в Perl

Perl *Программирование *
Посмотрим на код:

use strict;
use warnings;

sub mysub($$)
{
    my ($a, $b) = @_;
    print "$a\n";
    print "$b\n";
}
my $x = undef;
mysub($x && $x->[0] =~ /abc/, $x = []);


Может ли mysub в качестве первого аргумента получить нечто, что в boolean контексте является истиной?
Читать дальше →
Всего голосов 47: ↑41 и ↓6 +35
Просмотры 12K
Комментарии 41

«Однопоточный программист»

Разработка веб-сайтов *
Всё нижеизложенное вымысел, основанный на реальных событиях.

Не являясь мастером писать заметки, пытался «с пылу с жару» изложить это вчера. Но просто и доступно выстроить мысли в стройном порядке «по горячим следам» не вышло.

Кроме того на личном опыте выяснилось, что описываемый подход, хоть он, на первый взгляд и кажется мне очень простым, статистически таким не является. Известное высказывание о том, что «простые вещи, они самые сложные» оказывается в данном случае верным.

«Практическое» применение данного подхода требует усилий и кропотливой работы над собой, до тех пор, пока он не станет безусловным рефлексом, пока допускаемая «неточность» не будет заметна ещё до её совершения.

Поэтому, споткнувшись об одну и ту же проблему в «надцатый» раз, и в «надцатый» же раз наблюдая идентичное её решение, полагаю, что изложение данного «подхода» в письменном виде поможет мне ещё прочней закрепить его как «навык».

В связи с чем, публикуя эту заметку здесь, ожидаю, что вторым «застреленным зайцем» может стать помощь кому-нибудь ещё в избавлении от подобных ситуаций.

UPD3 спасибо dimka_ben: под «однопоточностью» подразумевается особенность мышления конкретного индивидуума, когда в один момент времени он может думать только о чем-нибудь одном.

Читать дальше →
Всего голосов 92: ↑77 и ↓15 +62
Просмотры 46K
Комментарии 129

Мир опечаток и Copy-Paste

Блог компании PVS-Studio C++ *C *
Программисты допускают невероятное количество опечаток, простых логических ляпов и делают ошибки благодаря Copy-Paste. Приглашаю отпробовать их. Приятного аппетита.
Баги
Программисты часто думают, что ошибки, отнимающие больше всего времени очень сложные и коварные. А простые ошибки они не делают.
Читать дальше →
Всего голосов 43: ↑31 и ↓12 +19
Просмотры 19K
Комментарии 6

Третья проверка кода проекта Chromium с помощью анализатора PVS-Studio

Блог компании PVS-Studio C++ *Google Chrome
Браузер Chromium очень быстро развивается. Например, когда в 2011 году мы впервые проверили этот проект (solution), он состоял из 473 проектов. Сейчас, он состоит уже из 1169 проектов. Нам было интересно, смогли ли разработчики Google сохранить высочайшее качество кода, при такой скорости развития Chromium. Да, смогли.
Читать дальше →
Всего голосов 143: ↑132 и ↓11 +121
Просмотры 34K
Комментарии 58

Проверка open-source игры Multi Theft Auto

Блог компании PVS-Studio C++ *Разработка игр *
MTA & PVS-Studio
Мы давно не проверяли игры с помощью PVS-Studio. Решили это исправить и выбрали проект MTA. Multi Theft Auto (MTA) является модификацией для PC версий игры Grand Theft Auto: San Andreas от Rockstar North. MTA позволяет игрокам со всего мира играть друг против друга в режиме онлайн. Как написано в Wikipedia, особенностью игры является «оптимизированный код с наименьшим количеством сбоев». Что же, давайте посмотрим, что скажет анализатор кода.
Читать дальше →
Всего голосов 81: ↑69 и ↓12 +57
Просмотры 41K
Комментарии 45

Уязвимости гипервизора – угроза виртуальной инфраструктуре и облаку

Блог компании Код Безопасности
При переходе от физической инфраструктуры к виртуальной возникает множество новых угроз. При расширении виртуализации до облака их список расширяется, а возможный ущерб от их эксплуатации многократно возрастает. В этой статье хотелось бы поговорить про одну из основных «новых» угроз в виртуальной среде – уязвимости гипервизора.
Рассмотрим основные классы уязвимостей гипервизоров на примере VMware vSphere и возможные пути защиты от их эксплуатации.
Читать дальше →
Всего голосов 12: ↑7 и ↓5 +2
Просмотры 14K
Комментарии 10