cppcheck 2.6 ಬಿಡುಗಡೆ, C++ ಮತ್ತು C ಭಾಷೆಗಳಿಗೆ ಸ್ಥಿರ ಕೋಡ್ ವಿಶ್ಲೇಷಕ

ಸ್ಟ್ಯಾಟಿಕ್ ಕೋಡ್ ವಿಶ್ಲೇಷಕ cppcheck 2.6 ನ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ, ಇದು ಎಂಬೆಡೆಡ್ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ವಿಶಿಷ್ಟವಾದ ಪ್ರಮಾಣಿತವಲ್ಲದ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಬಳಸುವಾಗ ಸೇರಿದಂತೆ C ಮತ್ತು C++ ಭಾಷೆಗಳಲ್ಲಿ ಕೋಡ್‌ನಲ್ಲಿ ವಿವಿಧ ವರ್ಗಗಳ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಪ್ಲಗಿನ್‌ಗಳ ಸಂಗ್ರಹವನ್ನು ಒದಗಿಸಲಾಗಿದೆ, ಅದರ ಮೂಲಕ cppcheck ಅನ್ನು ವಿವಿಧ ಅಭಿವೃದ್ಧಿ, ನಿರಂತರ ಏಕೀಕರಣ ಮತ್ತು ಪರೀಕ್ಷಾ ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ ಮತ್ತು ಕೋಡ್ ಶೈಲಿಯೊಂದಿಗೆ ಕೋಡ್ ಅನುಸರಣೆಯನ್ನು ಪರಿಶೀಲಿಸುವಂತಹ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸಹ ಒದಗಿಸುತ್ತದೆ. ಕೋಡ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು, ನೀವು ನಿಮ್ಮ ಸ್ವಂತ ಪಾರ್ಸರ್ ಅಥವಾ ಕ್ಲಾಂಗ್‌ನಿಂದ ಬಾಹ್ಯ ಪಾರ್ಸರ್ ಅನ್ನು ಬಳಸಬಹುದು. ಡೆಬಿಯನ್ ಪ್ಯಾಕೇಜುಗಳಿಗಾಗಿ ಸಹಕಾರಿ ಕೋಡ್ ವಿಮರ್ಶೆ ಕೆಲಸವನ್ನು ಮಾಡಲು ಸ್ಥಳೀಯ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಒದಗಿಸಲು donate-cpu.py ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸಹ ಇದು ಒಳಗೊಂಡಿದೆ. ಯೋಜನೆಯ ಮೂಲ ಕೋಡ್ ಅನ್ನು GPLv3 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

cppcheck ನ ಅಭಿವೃದ್ಧಿಯು ವ್ಯಾಖ್ಯಾನಿಸದ ನಡವಳಿಕೆ ಮತ್ತು ಸುರಕ್ಷತಾ ದೃಷ್ಟಿಕೋನದಿಂದ ಅಪಾಯಕಾರಿ ವಿನ್ಯಾಸಗಳ ಬಳಕೆಗೆ ಸಂಬಂಧಿಸಿದ ಸಮಸ್ಯೆಗಳನ್ನು ಗುರುತಿಸುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕೃತವಾಗಿದೆ. ತಪ್ಪು ಧನಾತ್ಮಕತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಸಹ ಗುರಿಯಾಗಿದೆ. ಗುರುತಿಸಲಾದ ಸಮಸ್ಯೆಗಳ ಪೈಕಿ: ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ವಸ್ತುಗಳಿಗೆ ಪಾಯಿಂಟರ್‌ಗಳು, ಶೂನ್ಯದಿಂದ ವಿಭಾಗಗಳು, ಪೂರ್ಣಾಂಕದ ಉಕ್ಕಿ ಹರಿಯುವಿಕೆ, ತಪ್ಪಾದ ಬಿಟ್ ಶಿಫ್ಟ್ ಕಾರ್ಯಾಚರಣೆಗಳು, ತಪ್ಪಾದ ಪರಿವರ್ತನೆಗಳು, ಮೆಮೊರಿಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ ತೊಂದರೆಗಳು, ಎಸ್‌ಟಿಎಲ್‌ನ ತಪ್ಪಾದ ಬಳಕೆ, ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಡಿರೆಫರೆನ್ಸ್, ನಿಜವಾದ ಪ್ರವೇಶದ ನಂತರ ಚೆಕ್‌ಗಳ ಬಳಕೆ ಬಫರ್‌ಗೆ, ಬಫರ್ ಓವರ್‌ರನ್ಸ್, ಅನ್ಇನಿಶಿಯಲೈಸ್ಡ್ ವೇರಿಯಬಲ್‌ಗಳ ಬಳಕೆ.

ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿ:

  • ಕೆಳಗಿನ ತಪಾಸಣೆಗಳನ್ನು ವಿಶ್ಲೇಷಕ ಕೋರ್‌ಗೆ ಸೇರಿಸಲಾಗಿದೆ:
    • ಕಾರ್ಯ ದೇಹದಲ್ಲಿ ರಿಟರ್ನ್ ಆಪರೇಟರ್ ಅನುಪಸ್ಥಿತಿ;
    • ಅತಿಕ್ರಮಿಸುವ ಡೇಟಾವನ್ನು ದಾಖಲಿಸುತ್ತದೆ, ವ್ಯಾಖ್ಯಾನಿಸದ ನಡವಳಿಕೆಯನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ;
    • ಹೋಲಿಸಿದ ಮೌಲ್ಯವು ಪ್ರಕಾರದ ಮೌಲ್ಯ ಪ್ರಾತಿನಿಧ್ಯದ ಹೊರಗಿದೆ;
    • ನಕಲು ಆಪ್ಟಿಮೈಸೇಶನ್ ರಿಟರ್ನ್ std ಗೆ ಅನ್ವಯಿಸುವುದಿಲ್ಲ ::move(ಸ್ಥಳೀಯ);
    • ವಿವಿಧ ಸ್ಟ್ರೀಮ್‌ಗಳಲ್ಲಿ (ಸ್ಟ್ರೀಮ್) ಓದಲು ಮತ್ತು ಬರೆಯಲು ಫೈಲ್ ಅನ್ನು ಏಕಕಾಲದಲ್ಲಿ ತೆರೆಯಲಾಗುವುದಿಲ್ಲ;
  • Unix ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗಾಗಿ, ವಿವಿಧ ಬಣ್ಣಗಳಲ್ಲಿ ರೋಗನಿರ್ಣಯದ ಸಂದೇಶಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ವ್ಯಾಲ್ಯೂಫ್ಲೋಗಾಗಿ ಸಾಂಕೇತಿಕ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಎರಡು ಅಪರಿಚಿತ ಅಸ್ಥಿರಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವಾಗ ಸರಳ ಡೆಲ್ಟಾವನ್ನು ಬಳಸುತ್ತದೆ;
  • "ಡಿಫೈನ್" ಟೋಕನ್‌ಗಳ ಪಟ್ಟಿಗೆ ಬಳಸಲಾದ ನಿಯಮಗಳು ಸಹ #ಸೇರಿಸಬಹುದು;
  • ಗ್ರಂಥಾಲಯದ ಟ್ಯಾಗ್ ಈಗ ಟ್ಯಾಗ್ ಅನ್ನು ಒಳಗೊಂಡಿರಬಹುದು , ಮತ್ತು ಅದರ ಪ್ರಕಾರ ಸ್ಟಡಿ::ಗಾತ್ರ, ಎಸ್ಟಿಡಿ::ಖಾಲಿ, ಎಸ್ಟಿಡಿ::ಪ್ರಾರಂಭ, ಎಸ್ಟಿಡಿ::ಅಂತ್ಯ, ಇತ್ಯಾದಿ ಧಾರಕಗಳನ್ನು ಸ್ವೀಕರಿಸಬಹುದಾದ ಉಚಿತ ಕಾರ್ಯಗಳು. ಕನೆಕ್ಟರ್‌ಗಳಿಗೆ ಯೆಲ್ಡ್ ಅಥವಾ ಕ್ರಿಯೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು;
  • ಗ್ರಂಥಾಲಯದ ಟ್ಯಾಗ್ ಈಗ ಟ್ಯಾಗ್ ಅನ್ನು ಒಳಗೊಂಡಿರಬಹುದು ಅನನ್ಯ ಮಾಲೀಕತ್ವವನ್ನು ಹೊಂದಿರುವ ಸ್ಮಾರ್ಟ್ ಪಾಯಿಂಟರ್‌ಗಳಿಗಾಗಿ. ಈ ರೀತಿಯ ಸ್ಮಾರ್ಟ್ ಪಾಯಿಂಟರ್‌ಗಳಿಗೆ ತೂಗಾಡುತ್ತಿರುವ ಉಲ್ಲೇಖಗಳ ಕುರಿತು ಈಗ ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡಲಾಗಿದೆ;
  • -cppcheck-build-dir ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದರೊಂದಿಗೆ ಸ್ಥಿರ ಸಮಸ್ಯೆಗಳು;
  • htmlreport ಈಗ ಲೇಖಕರ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸಬಹುದು (ಜಿಟ್ ಬ್ಲೇಮ್ ಬಳಸಿ);
  • ಸ್ಥಿರವಲ್ಲದ, ಆದರೆ ಆಗಬಹುದಾದ ಅಸ್ಥಿರಗಳ ಬಗ್ಗೆ ವಿಸ್ತೃತ ಎಚ್ಚರಿಕೆಗಳು;
  • ವಿಶ್ಲೇಷಕದ ಸಂಗ್ರಹವಾದ ದೋಷಗಳು ಮತ್ತು ನ್ಯೂನತೆಗಳನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ.

ಹೆಚ್ಚುವರಿಯಾಗಿ, ನಿಯಮಗಳು 2012, 1 ಮತ್ತು 2 ಹೊರತುಪಡಿಸಿ, ತಿದ್ದುಪಡಿ 1.1 ಮತ್ತು ತಿದ್ದುಪಡಿ 1.2 ಸೇರಿದಂತೆ ಮಿಶ್ರಾ C 17.3 ರಿಂದ ಚೆಕ್‌ಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ. 1.1 ಮತ್ತು 1.2 ಪರಿಶೀಲನೆಗಳನ್ನು ಕಂಪೈಲರ್ ನಿರ್ವಹಿಸಬೇಕು. ಪರಿಶೀಲನೆ 17.3 ಅನ್ನು GCC ಯಂತಹ ಕಂಪೈಲರ್ ಮೂಲಕ ನಿರ್ವಹಿಸಬಹುದು.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ