Вариант для распечатки |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от opennews (??) on 21-Окт-17, 10:03 | ||
Facebook представил (https://code.facebook.com/posts/293371094514305/open-sourcin.../) проект RacerD (http://fbinfer.com/docs/racerd.html), в рамках которого открыты наработки по выявлению проблем, возникающих из-за одновременного выполнения кода в многопоточных программах на языке Java. RacerD интегрирован в систему статического анализа Infer (https://github.com/facebook/infer) и обеспечивает определение потенциальных ошибок в коде, использующем классы/методы, заявленные как @ThreadSafe, или осуществляющем блокировки при помощи ключевого слова "synchronized". | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения по теме | [Сортировка по времени | RSS] |
4. "Facebook открыл RacerD, статический анализатор для многопото..." | –1 +/– | |
Сообщение от Crazy Alex (ok) on 21-Окт-17, 13:04 | ||
Эх, вот где-то здесь и жалеешь, что для плюсов такое сделать проблематично | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
15. "Facebook открыл RacerD, статический анализатор для многопото..." | –1 +/– | |
Сообщение от . on 21-Окт-17, 19:41 | ||
Один из симптомов шубообразной охватывающей шизофрении - страхи, и сильные сожаления без малейшей на то причины. (С) Твой доктор :-) | ||
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору |
22. "Facebook открыл RacerD, статический анализатор для многопото..." | +2 +/– | |
Сообщение от nobody (??) on 21-Окт-17, 22:18 | ||
Погугли "sanitizer" и больше не пиши тут чушь | ||
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору |
25. "Facebook открыл RacerD, статический анализатор для многопото..." | +3 +/– | |
Сообщение от pavlinux (ok) on 22-Окт-17, 03:03 | ||
нагугли мозг (ну или хотя бы чем отличаются sanitizer от static analize), и больше вообще не пиши. | ||
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору |
26. "Facebook открыл RacerD, статический анализатор для многопото..." | +1 +/– | |
Сообщение от Crazy Alex (ok) on 22-Окт-17, 03:12 | ||
В данном случае дело даже не в том - в джаве есть каноничный способ описать шареные объекты языком, понятным для инструментов - вышеупомянутые классы/методы, заявленные как @ThreadSafe, или осуществляющем блокировки при помощи ключевого слова "synchronized". В плюсах этого нет, поэтому анализ становится многократно сложнее. Понятно, что это цена богатства языка и наличия выбора, но всё равно завидно. | ||
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору |
38. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Аноним (??) on 23-Окт-17, 13:38 | ||
>В плюсах этого нет, поэтому анализ становится многократно сложнее. | ||
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору |
42. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Crazy Alex (ok) on 23-Окт-17, 15:51 | ||
речь не о самом разборе. | ||
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору |
37. "Facebook открыл RacerD, статический анализатор для многопото..." | –1 +/– | |
Сообщение от Аноним (??) on 23-Окт-17, 10:49 | ||
Какая доброта. И что же, интересно, не так? У вас какие-то проблемы? | ||
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору |
43. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Crazy Alex (ok) on 23-Окт-17, 15:51 | ||
Только здесь речь вообще не о том. | ||
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору |
29. "thread safety analysis and thread sanitizer" | +/– | |
Сообщение от Ivan (??) on 22-Окт-17, 13:38 | ||
Статик анализатор на это есть в clang с 2011 года: | ||
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору |
36. "thread safety analysis and thread sanitizer" | +/– | |
Сообщение от Crazy Alex (ok) on 23-Окт-17, 03:58 | ||
Какие-то местечковые аннотации на макросах? Действительно, и почему их никто не использует... | ||
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору |
46. "thread safety analysis and thread sanitizer" | +/– | |
Сообщение от Ivan (??) on 23-Окт-17, 16:45 | ||
В C++03 макросы нужны, чтобы код компилировался на тех компиляторах, которые не поддерживают эти аттрибуты. Документация написана так, чтобы можно было использовать и в С++03 коде, поэтому она использует макросы. | ||
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору |
54. "thread safety analysis and thread sanitizer" | +/– | |
Сообщение от Crazy Alex (ok) on 24-Окт-17, 01:34 | ||
Насчёт макросов понял (хотя им с этого начинать надо бы - что вот так пишется на приличных плюсах, но для легаси тоже есть костыль), но есть и более серьёзные проблемы: | ||
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору |
58. "thread safety analysis and thread sanitizer" | +/– | |
Сообщение от Ivan (??) on 24-Окт-17, 15:08 | ||
> Насчёт макросов понял (хотя им с этого начинать надо бы - что вот так пишется на приличных плюсах, но для легаси тоже есть костыль), но есть и более серьёзные проблемы | ||
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору |
5. "Facebook открыл RacerD, статический анализатор для многопото..." | –3 +/– | |
Сообщение от YetAnotherOnanym (ok) on 21-Окт-17, 13:52 | ||
> выявить более тысячи проблем | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
6. "Facebook открыл RacerD, статический анализатор для многопото..." | +4 +/– | |
Сообщение от Аноним (??) on 21-Окт-17, 15:18 | ||
> Это всё, что вам надо знать о проектах | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
7. "Facebook открыл RacerD, статический анализатор для многопото..." | +2 +/– | |
Сообщение от Ordu (ok) on 21-Окт-17, 16:14 | ||
Не надо такое знать. Не надо читать анонимов опеннета, которые целенаправленно выдирают фразы из контекста, придавая им новые оттенки смысла. | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
31. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Kodir (ok) on 22-Окт-17, 17:46 | ||
Думаю, тут смысл несколько другой. "На стадии разработки" - это дилетанское отражение фразы "на стадии проектирования". Вот ты сделал десяток классов, всё соединил, раскидал на трэды и тут решил проверить анализатором - и вот когда он находил проблемы, тогда и считалось "выявил". Другой вопрос, это всё равно чертовски много - неужели при всех этих "паттернах", которым зас***али весь мозг и тырнеты, фэйспук так и не научился применять шаблонные методы для типичных задач?? | ||
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору |
32. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Ordu (ok) on 22-Окт-17, 20:16 | ||
> Думаю, тут смысл несколько другой. "На стадии разработки" - это дилетанское отражение | ||
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору |
41. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 23-Окт-17, 15:34 | ||
| ||
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору |
55. "Facebook открыл RacerD, статический анализатор для многопото..." | –1 +/– | |
Сообщение от Ordu (ok) on 24-Окт-17, 04:47 | ||
Может быть, я с джавой знакомился лет пятнадцать назад, через полгода потерял к ней всякий интерес, и больше никогда не возвращался. Но, что-то мне подсказывает, что, всё же, вы сейчас каким-то образом пытаетесь натянуть сову на глобус. Ну, в том смысле, что мне ни разу не приходилось сталкиваться со сколь-нибудь грамотной критикой кода, которая базировалась на использовании капса и общих представлениях об использованных инструментах. Сколь-нибудь грамотная критика всегда содержит в себе хотя бы одну цитату из кода. | ||
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору |
59. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 24-Окт-17, 21:26 | ||
О каком коде вы говорите? Caps же -- это для тех, кто может только знакомится с Явой. Им важно помнить, что они всегда пишут многопоточную программу. Вы выше предположили, что коль проект крупный и раскрученный, то только в силу этого факта он всегда пример самых актуальных компетенций. По моему опыту, это совсем не так. Программеру нужно заботиться о хорошем коде, а не об удачном маркетологе: удачного маркетолога удаётся встретить единицам, а остальным нужно писать нормальный код. | ||
Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору |
9. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Аноним (??) on 21-Окт-17, 16:51 | ||
И что же нам нужно знать? | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
17. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Аноним (??) on 21-Окт-17, 20:16 | ||
> ситуации, когда выполняется два одновременных обращения к переменной члена класса, не отделённой при помощи мьютекса, если в одном из обращений выполняется операция записи | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
27. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от pavlinux (ok) on 22-Окт-17, 03:21 | ||
> В модели памяти это называется Data Race. И необязательно необходим мьютекс. | ||
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору |
28. "Facebook открыл RacerD, статический анализатор для многопото..." | –2 +/– | |
Сообщение от Аноним (??) on 22-Окт-17, 13:01 | ||
не гуглятся примеры dr vs rc? я помогу https://blog.regehr.org/archives/490 | ||
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору |
33. "Facebook открыл RacerD, статический анализатор для многопото..." | +1 +/– | |
Сообщение от pavlinux (ok) on 22-Окт-17, 20:41 | ||
> не гуглятся примеры dr vs rc? я помогу https://blog.regehr.org/archives/490 | ||
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору |
45. "Facebook открыл RacerD, статический анализатор для многопото..." | +1 +/– | |
Сообщение от Кузнец on 23-Окт-17, 15:53 | ||
>> не гуглятся примеры dr vs rc? я помогу https://blog.regehr.org/archives/490 | ||
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору |
50. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Аноним (??) on 23-Окт-17, 20:48 | ||
Во-первых, в статье нет решений, есть только примеры, показывающие разницу между rc и dr. | ||
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору |
35. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от pavlinux (ok) on 22-Окт-17, 20:53 | ||
......Пля, модыр, трахни в моск свой кревой парсер | ||
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору |
40. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 23-Окт-17, 15:29 | ||
Это всё гонка. Т.е. когда состояние обобществлённого ресурса зависит от (псевдо)случайных факторов, а не прописано логикой алгоритма. | ||
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору |
48. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Аноним (??) on 23-Окт-17, 20:22 | ||
Race condition обязательно нарушает логику алгоритма (семантику, инварианты, или как хотите) при неблагопрятном стечении обстоятельств. Data race - совсем не обязательно. | ||
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору |
51. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 24-Окт-17, 01:19 | ||
Агх. Не уверен. Гонка возникает, чаще всего, из-за неверного суждения разраба о том, что вот как поток кода следует в его описании, так он и будет исполнятся. Более того, будет исполнятся "континуумно", т.е. без gaps-ов между строками выражений. Но проблема в том, что Ява, и не только она, в этом плане совершенно обманчива -- код на стадии исполнения перемешивается непредсказуемым образом (как оптимизатор решит), если только явно не предписать его прецеденцию. А уж многопоточность усложняет картину ещё больше. | ||
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору |
52. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 24-Окт-17, 01:24 | ||
> Race condition обязательно нарушает логику алгоритма (семантику, инварианты, или как хотите) | ||
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору |
60. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 24-Окт-17, 21:27 | ||
> Это всё гонка. Т.е. когда состояние обобществлённого ресурса зависит от (псевдо)случайных | ||
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору |
23. "Facebook открыл RacerD, статический анализатор для многопото..." | –1 +/– | |
Сообщение от Аноним (??) on 22-Окт-17, 00:10 | ||
Никаких связей с растовым racer, ага. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
44. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Crazy Alex (ok) on 23-Окт-17, 15:52 | ||
Растоманам везде раст мерещится | ||
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору |
30. "Facebook открыл RacerD, статический анализатор для многопото..." | +2 +/– | |
Сообщение от теперь по Борщеву on 22-Окт-17, 16:52 | ||
есть ли неигровое приложение под андроид, более нагружающее мобилку, чем фейсбук? Я серьёзно. Сбербанк-онлайн не предлагать. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
39. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 23-Окт-17, 15:24 | ||
На мой не слишком проницательный взгляд история многопоточности в Яве это история про то, как сначала усиленно и целенаправленно делать дуршлаг, потому что дуршлаг все хотят, а потом сделав -- делать затычки для дырочек в этом друшлаге. Многопоточность в Яве "слишком гибкая", т.е. слишком много зависит от степени трезвости разработчика. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
49. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Аноним (??) on 23-Окт-17, 20:34 | ||
как раз по части модели памяти джава всегда была очень продвинутой. актуальную модель памяти плюсов делали в том числе опираясь на джавовую, но вот, к примеру, с OoTA-значениями так и не разобрались. | ||
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору |
53. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 24-Окт-17, 01:27 | ||
> как раз по части модели памяти джава всегда была очень продвинутой. актуальную | ||
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору |
56. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Ordu (ok) on 24-Окт-17, 09:01 | ||
чересчур | ||
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору |
57. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 24-Окт-17, 13:06 | ||
Да | ||
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору |
61. "Facebook открыл RacerD, статический анализатор для многопото..." | +/– | |
Сообщение от Кузнец on 24-Окт-17, 22:53 | ||
P.S: Хотя, не совсем. "Через чур" тоже можно употреблять -- это, как раз, исконное выражение. Одно из значений "Чур" -- граница. Т.е. "через чур" это через границу. Или сверх меры. Так что, всё Ок. | ||
Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |