Google Releases New ThreadSanitizer Data Race Detection Tool

google

Новая Версия 2 ThreadSanitizer помогает разработчикам найти еще больше ошибок поточной обработки в коде так, чтобы ошибки могли быть сокращены, и системы могут быть сделаны более эффективными.Последний инструмент ThreadSanitizer Google был обновлен к Версии 2, давание пятилетнего инструмента улучшило возможности помочь разработчикам найти больше проблем кодирования скорее, чем в прошлом.ThreadSanitizer (иначе TSan), данные во время выполнения мчатся детектор, основанный на двоичной трансляции, которая была первоначально разработана инженерами Google в 2009, записал Александру Потапенко, разработчику программного обеспечения Google, в должности 21 апреля на Блоге Хрома. «Инструмент помог найти тысячи поточной обработки ошибок в различных проектах, включая почти 180 ошибок в Хроме. В 2010 мы начали экспериментировать с основанным на компиляторе инструментарием вместо двоичной трансляции, и как только подход оказался, наша команда перепроектировала ThreadSanitizer с нуля, фокусируясь на инструментарии времени компиляции для большей скорости и точности».

Теперь команда продвинула развитие ThreadSanitizer v2 еще дальше, записал он. Теперь часть и LLVM и GCC, новый инструмент «в состоянии обнаружить гонки данных в C++ и Пойти код, но это также в состоянии сообщить о проблемах синхронизации как мертвые блокировки, потоки, к которым не присоединяются, уничтожая заблокированные взаимные исключения, использование асинхронно-сигнального небезопасного кода в сигнальных обработчиках и других».Улучшенный ThreadSanitizer v2 «распознает атомарные операции, таким образом, он представляет намного более точные отчеты и может также найти ошибки в алгоритмах без блокировок, которые трудно обнаружить иначе», записал Потапенко. «Например, это помогло нам найти неправильную синхронизацию в LazyInstance, неправильную реализацию очереди без блокировок и проблемы с параллельной разверткой в V8».ThreadSanitizer v2 до 20 раз быстрее, чем старый ThreadSanitizer, «который позволяет использовать его для тяжелых тестов браузера», записал он. «Благодаря этому мы нашли несколько ошибок в коде, которые не были покрыты меньшими тестами модуля, как гонки на строках WebKit, сборке мусора в Мигании, использовании-после-свободного в Мигании, ряде отчетов в WebRTC и еще много.

Это также улучшило воспроизводимость ошибки: Чем больше раз тест повторяется, тем выше шанс воспроизвести облупленную ошибку».Почти 100 ошибок были обнаружены новым инструментом за прошлые шесть месяцев, записал он. «Наши будущие планы включают широкое применение TSan на ClusterFuzz и добавлении регулярного тестирования на различные подпроекты Хрома поймать новые регрессии быстро», записал Потапенко.Разработчики могут найти больше информации об использовании улучшенных инструментов на странице ThreadSanitizer, записал он. «Инструмент прост в использовании и может быть интегрирован с любой системой сборки: просто добавьте единственный флаг времени компиляции и выполните программу для наблюдения сообщений об ошибке.

Для разработчиков Хрома существует специальная страница с инструкциями относительно dev.chromium.org».Google всегда работает над новыми и улучшенными инструментами для разработчиков их продуктов.В декабре 2013 Google добавил новые инструменты Chrome, включая расширенные возможности эмуляции и экранной демонстрации, а также новые средства отладки, чтобы помочь разработчикам протестировать и отладить свои мобильные приложения более быстро.

Инструменты позволили разработчикам приложений видеть, как их код вывел на экран на мобильных устройствах, как они записали, который помог им создать лучший код и приложения.Новые обновления инструментов разработчика для Chrome следуют за другим недавний раунд трех новых инструментов, которые были добавлены в августе 2013. Те инструменты включали Рабочие области, который позволяет разработчикам исходным файлам живого редактирования в DevTools с двунаправленной длительной устойчивостью дисков; отображение препроцессора CSS; и Отрывки, которые позволяют разработчикам создать, редактируют, сохраняют и выполняют пользовательские отрывки JavaScript.

В июле 2013 Google выпустил новый Комплект разработчика программного обеспечения Стрелки и Редактора в бета-версии, чтобы помочь разработчикам создать свой код более быстро. Компания также начала экспериментировать с новым сетевым протоколом, названным QUIC (Быстрые Интернет-соединения UDP), который мог помочь ускорить сетевые соединения в будущем.

Новый SDK Стрелки и Редактор были в его первой бета-версии и содержали улучшения производительности и эффективности, нацеленные на помощь разработчикам автоматизировать их кодовое создание, произвести меньший код JavaScript и развернуть Веб-приложения Стрелки.В июне 2013 Google представил новую Облачную среду Детской площадки, где разработчики могут быстро испытать идеи о прихоти, не имея необходимость принимать на себя обязательство настраивать локальную среду разработки это безопасно для тестирования экспериментов кодирования вне производственной инфраструктуры.

Новая Облачная Детская площадка в настоящее время ограничена поддержкой приложений для Механизма Приложения Python 2.7.Также в июне 2013, Google открыл свой API Механизма Google Maps для разработчиков, таким образом, они могут создать пользовательские приложения и бизнес-приложения, которые включают функции и гибкость Google Maps. При помощи API Карт разработчики могут теперь использовать «облачную» инфраструктуру Google для добавления их данных поверх Google Map и доли что пользовательский мэшап с потребителями, сотрудниками или другими пользователями.

Карты могут тогда быть совместно использованы внутренне компаниями или организациями или опубликованы в сети.


9 комментариев к “Google Releases New ThreadSanitizer Data Race Detection Tool”

  1. Tygolmaran

    статья 882 года Повести временных лет: И сел Олег, княжа, в Киеве, и сказал Олег: Да будет это мать городам русским. Не существовало Руси до Ивана Грозного, пока у Литовского княжества не отобрал Киевские и Черниговские земли, только тогда Московия стала называться и всея русских земель. Даже мокшане понимали, что отождествлять себя с русскими можно только присоединив нынешние территории Украины)))

  2. Подколодный Вениамин

    Зачем было доску делать? Лучше бы если облили труп хероя цементным раствором и похоронили по пояс – был бы сразу памятник! Никто бы не бил…

Оставьте комментарий