Êîìïàíèÿ PVS-Studio, ðàçðàáîò÷èê ðåøåíèÿ äëÿ îáåñïå÷åíèÿ êà÷åñòâà, íàäåæíîñòè è çàùèùåííîñòè èñõîäíîãî êîäà, ïðåäñòàâèëà íîâûé ðåëèç ïðîäóêòà — PVS-Studio 7.42. Îá ýòîì CNews ñîîáùèëè ïðåäñòàâèòåëè PVS-Studio.
Çàïóñòèëè òåñòèðîâàíèå JavaScript è Go àíàëèçàòîðîâ
 íà÷àëå àïðåëÿ ñòàðòîâàëî îòêðûòîå òåñòèðîâàíèå íîâûõ àíàëèçàòîðîâ êîäà äëÿ JavaScript è Go. Ïðåæäå ÷åì âûïóñòèòü íîâûå èíñòðóìåíòû â ðåëèç êîìïàíèè âàæíî âñåñòîðîííå èõ ïðîòåñòèðîâàòü è ñîáðàòü îáðàòíóþ ñâÿçü îò ïîëüçîâàòåëåé.
 ïåðâîé âåðñèè JavaScript è Go àíàëèçàòîðû ñîäåðæàò ïî äâàäöàòü äèàãíîñòè÷åñêèõ ïðàâèë, CLI äëÿ êàæäîãî àíàëèçàòîðà, à òàêæå ïëàãèíû äëÿ ñðåä ðàçðàáîòêè WebStorm è GoLand. Ïëàíèðóåòñÿ, ÷òî â ìàå äëÿ òåñòèðîâàíèÿ ñòàíåò äîñòóïåí àíàëèçàòîð äëÿ TypeScript è íîâàÿ âåðñèÿ ðàñøèðåíèÿ äëÿ Visual Studio Code, âêëþ÷àþùàÿ ïîääåðæêó íîâûõ àíàëèçàòîðîâ.
Òàêæå äëÿ òåñòèðîâàíèÿ äîñòóïíà ïëàòôîðìà êîíòðîëÿ êà÷åñòâà êîäà PVS-Studio Atlas — íîâîå ðåøåíèå äëÿ óïðàâëåíèÿ ðåçóëüòàòàìè àíàëèçà êîäà ñ âîçìîæíîñòüþ ðàçìåòêè ïðåäóïðåæäåíèé.
MISRA C++ 2023
Ïðîäîëæàåòñÿ ðàáîòà íàä ïîääåðæêîé ñòàíäàðòîâ MISRA.  ïðîøëîé âåðñèè PVS-Studio îáåñïå÷èë ïîääåðæêó ñòàíäàðòà MISRA C 2023 íà óðîâíå 86%.
MISRA C — ñòàíäàðò ðàçðàáîòêè ÏÎ, öåëü êîòîðîãî — óëó÷øèòü áåçîïàñíîñòü, ïåðåíîñèìîñòü è íàäåæíîñòü ïðîãðàìì äëÿ âñòðàèâàåìûõ ñèñòåì. Ðàíåå ñòàíäàðò èñïîëüçîâàëñÿ òîëüêî â àâòîìîáèëüíîé èíäóñòðèè, ñåé÷àñ — â àýðîêîñìè÷åñêîé, ðàçðàáîòêå ìåäèöèíñêèõ óñòðîéñòâ, âîåííûõ ïðîåêòàõ è â äðóãèõ ñôåðàõ, ãäå ñòîèìîñòü îøèáêè ñëèøêîì âûñîêà.
 ýòîì ðåëèçå àäàïòèðîâàëè 22 ñóùåñòâóþùèõ äèàãíîñòè÷åñêèõ ïðàâèëà ãðóïïû MISRA ïîä ñòàíäàðò MISRA C++ 2023, à òàêæå äîáàâèëè â ïëàãèíû PVS-Studio äëÿ IDE è óòèëèòû êîìàíäíîé ñòðîêè âîçìîæíîñòü âûáîðà âåðñèè MISRA C++.
Èçìåíèëè ïîëèòèêó áåñïëàòíîãî ëèöåíçèðîâàíèÿ
Òåïåðü áåñïëàòíîå èñïîëüçîâàíèå àíàëèçàòîðà ñ ïîìîùüþ ñïåöèàëüíûõ êîììåíòàðèåâ â êîäå íåäîñòóïíî. Òå, êòî èñïîëüçîâàëè àíàëèçàòîð òàêèì îáðàçîì, ìîãóò ïîëó÷èòü àêòèâàöèîííûé êëþ÷ äðóãèì ñïîñîáîì.
Åùå èçìåíåíèÿ êîñíóëèñü áåñïëàòíîãî èñïîëüçîâàíèÿ èíñòðóìåíòà ñòóäåíòàìè è ïðåïîäàâàòåëÿìè. Íà äàííûé ìîìåíò PVS-Studio ïðèîñòàíîâèëè ïðîãðàììó ñòóäåí÷åñêîãî ëèöåíçèðîâàíèÿ, ÷òîáû ïðîðàáîòàòü åå îáíîâëåííûå óñëîâèÿ.
Áåñïëàòíîå ëèöåíçèðîâàíèå îñòàåòñÿ äîñòóïíûì äëÿ îòêðûòûõ ïðîåêòîâ, ïóáëè÷íûõ ýêñïåðòîâ â îáëàñòè áåçîïàñíîñòè è Microsoft MVP.
Íîâûå èíòåãðàöèè â Qt Creator, SourceCraft, CMake
Òåïåðü ïëàãèí PVS-Studio ïîääåðæèâàåòñÿ äëÿ Qt Creator âåðñèé 19.x. Îí ïîçâîëÿåò çàïóñêàòü àíàëèç, ïðîñìàòðèâàòü ïðåäóïðåæäåíèÿ è ðàáîòàòü ñ êîäîì, íå ïîêèäàÿ ïðèâû÷íóþ ñðåäó ðàçðàáîòêè.
Âìåñòå ñ ýòèì ïðåêðàùåíà ïîääåðæêà ïëàãèíà äëÿ âåðñèé Qt Creator 13.x.  êîìïàíèè ñòàðàþòñÿ îáåñïå÷èâàòü îáðàòíóþ ñîâìåñòèìîñòü ïî ïîääåðæêå ïîñëåäíèõ âåðñèé ïëàãèíîâ äëÿ âñåõ âåðñèé Qt Creator çà ïîñëåäíèå äâà ãîäà ñ ìîìåíòà êàæäîãî ðåëèçà.
Èíòåãðàöèÿ â SourceCraft
SourceCraft — ïëàòôîðìà äëÿ ðàçðàáîòêè èñõîäíîãî êîäà, óïðàâëåíèÿ âåðñèÿìè, òåñòèðîâêè, ñáîðêè, ðàçâåðòûâàíèÿ è ñîïðîâîæäåíèÿ ïðîãðàììíûõ ïðîäóêòîâ.
 PVS-Studio ïðîâåðèëè òåõíè÷åñêóþ ñîâìåñòèìîñòü ñòàòè÷åñêîãî àíàëèçàòîðà ñ ýòîé ïëàòôîðìîé è îïèñàëè ïðîöåññ èõ ñîâìåñòíîãî èñïîëüçîâàíèÿ â íàøåé äîêóìåíòàöèè.
Îôèöèàëüíàÿ èíòåãðàöèÿ â CMake
Íà÷èíàÿ ñ âåðñèè 4.3.0 ñáîðî÷íàÿ ñèñòåìà CMake èìååò âñòðîåííûé ìåõàíèçì äëÿ ðàáîòû ñ PVS-Studio, ïðè êîòîðîì ñðàáàòûâàíèÿ àíàëèçàòîðà áóäóò ïîÿâëÿòüñÿ â ïðîöåññå êîìïèëÿöèè ïðîåêòà.
Çàâåðøèëè ïîääåðæêó äèàãíîñòèêè 64-áèòíûõ îøèáîê
Íà÷èíàÿ ñ ýòîé âåðñèè PVS-Studio ïðèîñòàíîâèëà äàëüíåéøóþ ðàçðàáîòêó äèàãíîñòè÷åñêèõ ïðàâèë ãðóïïû «Äèàãíîñòèêà 64-áèòíûõ îøèáîê». Îíè áîëüøå íå áóäóò ðàçâèâàòüñÿ è â áóäóùåì ìîãóò áûòü îòêëþ÷åíû.
Èñïîëüçóþùèå ýòè ïðàâèëà ìîãóò ñâÿçàòüñÿ ñ ïîääåðæêîé, êîòîðàÿ ïîìîæåò íàéòè çàìåíó èëè ïðåäëîæèò àëüòåðíàòèâíîå ðåøåíèå.
Ïðîäîëæèëè óëó÷øàòü àíàëèçàòîðû
 C è C++ àíàëèçàòîðå óìåíüøèëè âðåìÿ àíàëèçà øàáëîííîãî êîäà çà ñ÷åò óëó÷øåíèÿ ìåõàíèçìà åãî îáðàáîòêè. Óëó÷øèëè âû÷èñëåíèå è àíàëèç ïðîñòûõ ôóíêöèé â çàâèñèìîñòè îò êîíòåêñòà, ñ êîòîðûì îíè âûçûâàþòñÿ.
 C# àíàëèçàòîð äîáàâèëè äîïîëíèòåëüíûå ìåõàíèçìû äëÿ îòëàäêè åãî ðàáîòû. Êîãäà àíàëèçàòîð íå ìîæåò ïîëó÷èòü âñòðîåííûå .NET-òèïû, âûäàåòñÿ íîâîå ïðåäóïðåæäåíèå V053. Äîáàâëåí ôëàã `--createBinaryLogs` äëÿ ëîãèðîâàíèÿ ðàáîòû ìåõàíèçìîâ Roslyn. À åùå â C# àíàëèçàòîðå èñïðàâèëè îøèáêó ïðè ïðîâåðêå .NET Framework ïðîåêòîâ íå SDK ñòèëÿ, êîòîðàÿ âîçíèêàëà ïîñëå îáíîâëåíèÿ Visual Studio 2026 äî âåðñèè 18.4.0+.


