ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ - ಪರಿಚಯದಿಂದ ಏಕೀಕರಣದವರೆಗೆ

ಅಂತ್ಯವಿಲ್ಲದ ಕೋಡ್ ವಿಮರ್ಶೆ ಅಥವಾ ಡೀಬಗ್ ಮಾಡುವಿಕೆಯಿಂದ ಆಯಾಸಗೊಂಡಿದ್ದು, ಕೆಲವೊಮ್ಮೆ ನಿಮ್ಮ ಜೀವನವನ್ನು ಹೇಗೆ ಸರಳಗೊಳಿಸುವುದು ಎಂಬುದರ ಕುರಿತು ನೀವು ಯೋಚಿಸುತ್ತೀರಿ. ಮತ್ತು ಸ್ವಲ್ಪ ಹುಡುಕಿದ ನಂತರ, ಅಥವಾ ಆಕಸ್ಮಿಕವಾಗಿ ಅದರ ಮೇಲೆ ಎಡವಿ, ನೀವು ಮ್ಯಾಜಿಕ್ ನುಡಿಗಟ್ಟು ನೋಡಬಹುದು: "ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ". ಅದು ಏನು ಮತ್ತು ಅದು ನಿಮ್ಮ ಯೋಜನೆಯೊಂದಿಗೆ ಹೇಗೆ ಸಂವಹನ ನಡೆಸಬಹುದು ಎಂಬುದನ್ನು ನೋಡೋಣ.

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ - ಪರಿಚಯದಿಂದ ಏಕೀಕರಣದವರೆಗೆ
ವಾಸ್ತವವಾಗಿ, ನೀವು ಯಾವುದೇ ಆಧುನಿಕ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯುತ್ತಿದ್ದರೆ, ಅದನ್ನು ಅರಿತುಕೊಳ್ಳದೆ, ನೀವು ಅದನ್ನು ಸ್ಥಿರ ವಿಶ್ಲೇಷಕದ ಮೂಲಕ ನಡೆಸುತ್ತೀರಿ. ವಾಸ್ತವವೆಂದರೆ ಯಾವುದೇ ಆಧುನಿಕ ಕಂಪೈಲರ್ ಕೋಡ್‌ನಲ್ಲಿನ ಸಂಭಾವ್ಯ ಸಮಸ್ಯೆಗಳ ಬಗ್ಗೆ ಎಚ್ಚರಿಕೆಗಳ ಒಂದು ಚಿಕ್ಕದಾದರೂ, ಒದಗಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋದಲ್ಲಿ C++ ಕೋಡ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡುವಾಗ ನೀವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ನೋಡಬಹುದು:

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ - ಪರಿಚಯದಿಂದ ಏಕೀಕರಣದವರೆಗೆ
ಈ ಔಟ್ಪುಟ್ನಲ್ಲಿ ನಾವು ವೇರಿಯಬಲ್ ಅನ್ನು ನೋಡುತ್ತೇವೆ ಇವೆ ಕಾರ್ಯದಲ್ಲಿ ಎಲ್ಲಿಯೂ ಬಳಸಲಾಗಿಲ್ಲ. ಆದ್ದರಿಂದ ವಾಸ್ತವದಲ್ಲಿ, ನೀವು ಯಾವಾಗಲೂ ಸರಳವಾದ ಸ್ಥಿರ ಕೋಡ್ ವಿಶ್ಲೇಷಕವನ್ನು ಬಳಸುತ್ತೀರಿ. ಆದಾಗ್ಯೂ, ವೃತ್ತಿಪರ ವಿಶ್ಲೇಷಕಗಳಾದ Coverity, Klocwork ಅಥವಾ PVS-Studio ಗಿಂತ ಭಿನ್ನವಾಗಿ, ಕಂಪೈಲರ್ ಒದಗಿಸಿದ ಎಚ್ಚರಿಕೆಗಳು ಸಣ್ಣ ವ್ಯಾಪ್ತಿಯ ಸಮಸ್ಯೆಗಳನ್ನು ಮಾತ್ರ ಸೂಚಿಸುತ್ತವೆ.

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ ಎಂದರೇನು ಮತ್ತು ಅದನ್ನು ಹೇಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕು ಎಂದು ನಿಮಗೆ ಖಚಿತವಾಗಿ ತಿಳಿದಿಲ್ಲದಿದ್ದರೆ, ಈ ಲೇಖನವನ್ನು ಓದಿಈ ವಿಧಾನದ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು.

ನಿಮಗೆ ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ ಏಕೆ ಬೇಕು?

ಸಂಕ್ಷಿಪ್ತವಾಗಿ: ವೇಗವರ್ಧನೆ ಮತ್ತು ಸರಳೀಕರಣ.

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆಯು ಕೋಡ್‌ನಲ್ಲಿ ಹಲವಾರು ವಿಭಿನ್ನ ಸಮಸ್ಯೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ: ಭಾಷಾ ರಚನೆಗಳ ತಪ್ಪಾದ ಬಳಕೆಯಿಂದ ಮುದ್ರಣದೋಷಗಳವರೆಗೆ. ಉದಾಹರಣೆಗೆ, ಬದಲಿಗೆ

auto x = obj.x;
auto y = obj.y;
auto z = obj.z;

ನೀವು ಈ ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಬರೆದಿದ್ದೀರಿ:

auto x = obj.x;
auto y = obj.y;
auto z = obj.x;

ನೀವು ನೋಡುವಂತೆ, ಕೊನೆಯ ಸಾಲಿನಲ್ಲಿ ಮುದ್ರಣದೋಷವಿದೆ. ಉದಾಹರಣೆಗೆ, PVS-ಸ್ಟುಡಿಯೋ ಈ ಕೆಳಗಿನ ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡುತ್ತದೆ:

V537 'y' ಐಟಂನ ಬಳಕೆಯ ಸರಿಯಾದತೆಯನ್ನು ಪರಿಶೀಲಿಸುವುದನ್ನು ಪರಿಗಣಿಸಿ.

ಈ ದೋಷದಲ್ಲಿ ನಿಮ್ಮ ಕೈಗಳನ್ನು ಇರಿಯಲು ನೀವು ಬಯಸಿದರೆ, ಕಂಪೈಲರ್ ಎಕ್ಸ್‌ಪ್ಲೋರರ್‌ನಲ್ಲಿ ಸಿದ್ಧ ಉದಾಹರಣೆಯನ್ನು ಪ್ರಯತ್ನಿಸಿ: *ಅಳಲು*.

ಮತ್ತು ನೀವು ಅರ್ಥಮಾಡಿಕೊಂಡಂತೆ, ಈಗಿನಿಂದಲೇ ಕೋಡ್‌ನ ಅಂತಹ ವಿಭಾಗಗಳಿಗೆ ಗಮನ ಕೊಡುವುದು ಯಾವಾಗಲೂ ಸಾಧ್ಯವಿಲ್ಲ, ಮತ್ತು ಈ ಕಾರಣದಿಂದಾಗಿ, ನೀವು ಉತ್ತಮ ಗಂಟೆಯವರೆಗೆ ಡೀಬಗ್ ಮಾಡುವುದನ್ನು ಕುಳಿತುಕೊಳ್ಳಬಹುದು, ಎಲ್ಲವೂ ಏಕೆ ವಿಚಿತ್ರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಆಶ್ಚರ್ಯ ಪಡುತ್ತೀರಿ.

ಆದಾಗ್ಯೂ, ಇದು ಸ್ಪಷ್ಟವಾಗಿ ತಪ್ಪು. ಡೆವಲಪರ್ ಅವರು ಭಾಷೆಯ ಕೆಲವು ಸೂಕ್ಷ್ಮತೆಯನ್ನು ಮರೆತಿರುವುದರಿಂದ ಸಬ್‌ಪ್ಟಿಮಲ್ ಕೋಡ್ ಅನ್ನು ಬರೆದರೆ ಏನು? ಅಥವಾ ಕೋಡ್‌ನಲ್ಲಿ ಅದನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ ವ್ಯಾಖ್ಯಾನಿಸದ ನಡವಳಿಕೆ? ದುರದೃಷ್ಟವಶಾತ್, ಅಂತಹ ಪ್ರಕರಣಗಳು ಸಂಪೂರ್ಣವಾಗಿ ಸಾಮಾನ್ಯವಾಗಿದೆ ಮತ್ತು ಮುದ್ರಣದೋಷಗಳು, ವಿಶಿಷ್ಟ ದೋಷಗಳು ಅಥವಾ ವ್ಯಾಖ್ಯಾನಿಸದ ನಡವಳಿಕೆಯನ್ನು ಒಳಗೊಂಡಿರುವ ನಿರ್ದಿಷ್ಟವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಕೋಡ್ ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಸಿಂಹದ ಪಾಲನ್ನು ಕಳೆಯಲಾಗುತ್ತದೆ.

ಈ ಸಂದರ್ಭಗಳಿಗಾಗಿಯೇ ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ ಕಾಣಿಸಿಕೊಂಡಿತು. ಇದು ಡೆವಲಪರ್‌ಗೆ ಸಹಾಯಕವಾಗಿದೆ, ಅವರು ಕೋಡ್‌ನಲ್ಲಿನ ವಿವಿಧ ಸಮಸ್ಯೆಗಳನ್ನು ಸೂಚಿಸುತ್ತಾರೆ ಮತ್ತು ಈ ರೀತಿ ಬರೆಯಲು ಏಕೆ ಅಗತ್ಯವಿಲ್ಲ, ಅದು ಏನು ಕಾರಣವಾಗಬಹುದು ಮತ್ತು ಅದನ್ನು ಹೇಗೆ ಸರಿಪಡಿಸುವುದು ಎಂಬುದನ್ನು ದಸ್ತಾವೇಜನ್ನು ವಿವರಿಸುತ್ತದೆ. ಅದು ಹೇಗಿರಬಹುದು ಎಂಬುದರ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ: *ಅಳಲು*.

ಲೇಖನಗಳಲ್ಲಿ ವಿಶ್ಲೇಷಕವು ಕಂಡುಹಿಡಿಯಬಹುದಾದ ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕ ದೋಷಗಳನ್ನು ನೀವು ಕಾಣಬಹುದು:

ಈಗ ನೀವು ಈ ವಿಷಯವನ್ನು ಓದಿದ್ದೀರಿ ಮತ್ತು ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆಯ ಪ್ರಯೋಜನಗಳ ಬಗ್ಗೆ ಮನವರಿಕೆ ಮಾಡಿಕೊಂಡಿದ್ದೀರಿ, ನೀವು ಅದನ್ನು ಪ್ರಯತ್ನಿಸಲು ಬಯಸಬಹುದು. ಆದರೆ ಎಲ್ಲಿಂದ ಪ್ರಾರಂಭಿಸಬೇಕು? ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಯೋಜನೆಯಲ್ಲಿ ಹೊಸ ಉಪಕರಣವನ್ನು ಹೇಗೆ ಸಂಯೋಜಿಸುವುದು? ಮತ್ತು ಅವನಿಗೆ ತಂಡವನ್ನು ಹೇಗೆ ಪರಿಚಯಿಸುವುದು? ಈ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಗಳನ್ನು ನೀವು ಕೆಳಗೆ ಕಾಣಬಹುದು.

ಗಮನಿಸಿ. ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆಯು ಕೋಡ್ ವಿಮರ್ಶೆಗಳಂತಹ ಉಪಯುಕ್ತ ವಿಷಯವನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ ಅಥವಾ ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ. ಇದು ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ, ಮುದ್ರಣದೋಷಗಳು, ತಪ್ಪುಗಳು ಮತ್ತು ಅಪಾಯಕಾರಿ ವಿನ್ಯಾಸಗಳನ್ನು ಮುಂಚಿತವಾಗಿ ಗಮನಿಸಲು ಮತ್ತು ಸರಿಪಡಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ತಪ್ಪಾದ ಆವರಣವನ್ನು ಹುಡುಕುವ ಬದಲು ಅಲ್ಗಾರಿದಮ್‌ಗಳು ಮತ್ತು ಕೋಡ್ ಸ್ಪಷ್ಟತೆಯ ಮೇಲೆ ಕೋಡ್ ವಿಮರ್ಶೆಗಳ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುವುದು ಹೆಚ್ಚು ಉತ್ಪಾದಕವಾಗಿದೆ ಅಥವಾ ನೀರಸ ಹೋಲಿಕೆ ಕಾರ್ಯಗಳನ್ನು ಓದಿ.

0. ಉಪಕರಣವನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದು

ಇದು ಎಲ್ಲಾ ಪ್ರಾಯೋಗಿಕ ಆವೃತ್ತಿಯೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ವಾಸ್ತವವಾಗಿ, ನೀವು ಮೊದಲು ಉಪಕರಣವನ್ನು ಲೈವ್ ಆಗಿ ನೋಡದಿದ್ದರೆ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಏನನ್ನಾದರೂ ಪರಿಚಯಿಸಲು ನಿರ್ಧರಿಸುವುದು ಕಷ್ಟ. ಆದ್ದರಿಂದ, ನೀವು ಮಾಡಬೇಕಾದ ಮೊದಲನೆಯದು ಡೌನ್‌ಲೋಡ್ ಮಾಡುವುದು ಪ್ರಾಯೋಗಿಕ ಆವೃತ್ತಿ.

ಈ ಹಂತದಲ್ಲಿ ನೀವು ಏನು ಕಲಿಯುವಿರಿ:

  • ವಿಶ್ಲೇಷಕದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ವಿಧಾನಗಳು ಯಾವುವು;
  • ವಿಶ್ಲೇಷಕವು ನಿಮ್ಮ ಅಭಿವೃದ್ಧಿ ಪರಿಸರಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ?
  • ನಿಮ್ಮ ಯೋಜನೆಗಳಲ್ಲಿ ಪ್ರಸ್ತುತ ಯಾವ ಸಮಸ್ಯೆಗಳಿವೆ?

ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ನೀವು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ನೀವು ಮಾಡಬೇಕಾದ ಮೊದಲನೆಯದು ಸಂಪೂರ್ಣ ಯೋಜನೆಯ ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಡೆಸುವುದು (ವಿಂಡೋಸ್, ಲಿನಕ್ಸ್, MacOS) ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೊದಲ್ಲಿ PVS-ಸ್ಟುಡಿಯೊದ ಸಂದರ್ಭದಲ್ಲಿ ನೀವು ಇದೇ ರೀತಿಯ ಚಿತ್ರವನ್ನು ನೋಡುತ್ತೀರಿ (ಕ್ಲಿಕ್ ಮಾಡಬಹುದಾದ):

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ - ಪರಿಚಯದಿಂದ ಏಕೀಕರಣದವರೆಗೆ
ವಾಸ್ತವವೆಂದರೆ ಸ್ಥಿರ ವಿಶ್ಲೇಷಕರು ಸಾಮಾನ್ಯವಾಗಿ ದೊಡ್ಡ ಕೋಡ್ ಬೇಸ್ ಹೊಂದಿರುವ ಯೋಜನೆಗಳಿಗೆ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಎಚ್ಚರಿಕೆಗಳನ್ನು ನೀಡುತ್ತಾರೆ. ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಈಗಾಗಲೇ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವುದರಿಂದ ಅವೆಲ್ಲವನ್ನೂ ಸರಿಪಡಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಅಂದರೆ ಈ ಸಮಸ್ಯೆಗಳು ನಿರ್ಣಾಯಕವಲ್ಲ. ಆದಾಗ್ಯೂ, ನೀವು ನೀವು ಅತ್ಯಂತ ಆಸಕ್ತಿದಾಯಕ ಎಚ್ಚರಿಕೆಗಳನ್ನು ನೋಡಬಹುದು ಮತ್ತು ಅಗತ್ಯವಿದ್ದರೆ ಅವುಗಳನ್ನು ಸರಿಪಡಿಸಿ. ಇದನ್ನು ಮಾಡಲು, ನೀವು ಔಟ್ಪುಟ್ ಅನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಅತ್ಯಂತ ವಿಶ್ವಾಸಾರ್ಹ ಸಂದೇಶಗಳನ್ನು ಮಾತ್ರ ಬಿಡಬೇಕು. ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋಗಾಗಿ PVS-ಸ್ಟುಡಿಯೋ ಪ್ಲಗಿನ್‌ನಲ್ಲಿ, ದೋಷ ಮಟ್ಟಗಳು ಮತ್ತು ವರ್ಗಗಳ ಮೂಲಕ ಫಿಲ್ಟರ್ ಮಾಡುವ ಮೂಲಕ ಇದನ್ನು ಮಾಡಲಾಗುತ್ತದೆ. ಅತ್ಯಂತ ನಿಖರವಾದ ಔಟ್‌ಪುಟ್‌ಗಾಗಿ, ಮಾತ್ರ ಬಿಡಿ ಹೈ и ಜನರಲ್ (ಕ್ಲಿಕ್ ಮಾಡಬಹುದಾದ)

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ - ಪರಿಚಯದಿಂದ ಏಕೀಕರಣದವರೆಗೆ
ವಾಸ್ತವವಾಗಿ, 178 ಎಚ್ಚರಿಕೆಗಳನ್ನು ಹಲವಾರು ಸಾವಿರಕ್ಕಿಂತ ಹೆಚ್ಚು ಸುಲಭವಾಗಿ ವೀಕ್ಷಿಸಬಹುದು...

ಟ್ಯಾಬ್‌ಗಳಲ್ಲಿ ಮಧ್ಯಮ и ಕಡಿಮೆ ಆಗಾಗ್ಗೆ ಉತ್ತಮ ಎಚ್ಚರಿಕೆಗಳಿವೆ, ಆದರೆ ಈ ವರ್ಗಗಳು ಕಡಿಮೆ ನಿಖರತೆ (ವಿಶ್ವಾಸಾರ್ಹತೆ) ಹೊಂದಿರುವ ಆ ರೋಗನಿರ್ಣಯವನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಎಚ್ಚರಿಕೆಯ ಮಟ್ಟಗಳು ಮತ್ತು ವಿಂಡೋಸ್ ಅಡಿಯಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ಆಯ್ಕೆಗಳ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯನ್ನು ಇಲ್ಲಿ ಕಾಣಬಹುದು: *ಅಳಲು*.

ಅತ್ಯಂತ ಆಸಕ್ತಿದಾಯಕ ದೋಷಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪರಿಶೀಲಿಸಿದ ನಂತರ (ಮತ್ತು ಅವುಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಸರಿಪಡಿಸಲಾಗಿದೆ) ಯೋಗ್ಯವಾಗಿದೆ ಉಳಿದ ಎಚ್ಚರಿಕೆಗಳನ್ನು ನಿಗ್ರಹಿಸಿ. ಹೊಸ ಎಚ್ಚರಿಕೆಗಳು ಹಳೆಯದರಲ್ಲಿ ಕಳೆದುಹೋಗದಂತೆ ಇದು ಅವಶ್ಯಕವಾಗಿದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಸ್ಥಿರ ವಿಶ್ಲೇಷಕವು ಪ್ರೋಗ್ರಾಮರ್‌ಗೆ ಸಹಾಯಕವಾಗಿದೆ ಮತ್ತು ದೋಷಗಳ ಪಟ್ಟಿಯಲ್ಲ. 🙂

1. ಅವ್ಟೋಮಾಟಿಸಾಷಿಯಾ

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

ಈ ಹಂತದಲ್ಲಿ ನೀವು ಏನು ಕಲಿಯುವಿರಿ:

  • ಉಪಕರಣವು ಯಾವ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಆಯ್ಕೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ;
  • ವಿಶ್ಲೇಷಕವು ನಿಮ್ಮ ಅಸೆಂಬ್ಲಿ ಸಿಸ್ಟಮ್‌ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆಯೇ?

ಪರಿಪೂರ್ಣ ದಸ್ತಾವೇಜನ್ನು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಕಾರಣ, ಕೆಲವೊಮ್ಮೆ ನೀವು ಬರೆಯಬೇಕಾಗುತ್ತದೆ ಬೆಂಬಲ. ಇದು ಸಾಮಾನ್ಯವಾಗಿದೆ ಮತ್ತು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಲು ನಾವು ಸಂತೋಷಪಡುತ್ತೇವೆ. 🙂

ಈಗ ನಾವು ನಿರಂತರ ಏಕೀಕರಣ (CI) ಸೇವೆಗಳಿಗೆ ಹೋಗೋಣ. ಯಾವುದೇ ಗಂಭೀರ ಸಮಸ್ಯೆಗಳಿಲ್ಲದೆ ಯಾವುದೇ ವಿಶ್ಲೇಷಕವನ್ನು ಅವುಗಳಲ್ಲಿ ಅಳವಡಿಸಬಹುದು. ಇದನ್ನು ಮಾಡಲು, ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ನೀವು ಪ್ರತ್ಯೇಕ ಹಂತವನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ನಿರ್ಮಾಣ ಮತ್ತು ಘಟಕ ಪರೀಕ್ಷೆಗಳ ನಂತರ ಇದೆ. ವಿವಿಧ ಕನ್ಸೋಲ್ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಇದನ್ನು ಮಾಡಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, PVS-ಸ್ಟುಡಿಯೋ ಕೆಳಗಿನ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ:

CI ಗೆ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಸಂಯೋಜಿಸಲು, ನೀವು ಮೂರು ವಿಷಯಗಳನ್ನು ಮಾಡಬೇಕಾಗಿದೆ:

  • ವಿಶ್ಲೇಷಕವನ್ನು ಸ್ಥಾಪಿಸಿ;
  • ರನ್ ವಿಶ್ಲೇಷಣೆ;
  • ಫಲಿತಾಂಶಗಳನ್ನು ತಲುಪಿಸಿ.

ಉದಾಹರಣೆಗೆ, ಲಿನಕ್ಸ್ (ಡೆಬಿಯನ್-ಬೇಸ್) ನಲ್ಲಿ PVS-ಸ್ಟುಡಿಯೊವನ್ನು ಸ್ಥಾಪಿಸಲು, ನೀವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸಬೇಕು:

wget -q -O - https://files.viva64.com/etc/pubkey.txt 
    | sudo apt-key add -
sudo wget -O /etc/apt/sources.list.d/viva64.list 
  https://files.viva64.com/etc/viva64.list
  
sudo apt-get update -qq
sudo apt-get install -qq pvs-studio

ವಿಂಡೋಸ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ, ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್‌ನಿಂದ ವಿಶ್ಲೇಷಕವನ್ನು ಸ್ಥಾಪಿಸಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ, ಆದರೆ ಆಜ್ಞಾ ಸಾಲಿನಿಂದ ವಿಶ್ಲೇಷಕವನ್ನು ನಿಯೋಜಿಸಲು ಸಾಧ್ಯವಿದೆ:

PVS-Studio_setup.exe /verysilent /suppressmsgboxes 
/norestart /nocloseapplications

ವಿಂಡೋಸ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಸಿಸ್ಟಂಗಳಲ್ಲಿ PVS-ಸ್ಟುಡಿಯೋವನ್ನು ನಿಯೋಜಿಸುವುದರ ಕುರಿತು ನೀವು ಇನ್ನಷ್ಟು ಓದಬಹುದು *ಇಲ್ಲಿ*.

ಅನುಸ್ಥಾಪನೆಯ ನಂತರ, ನೀವು ನೇರವಾಗಿ ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಡೆಸಬೇಕಾಗುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಸಂಕಲನ ಮತ್ತು ಪರೀಕ್ಷೆಗಳು ಉತ್ತೀರ್ಣರಾದ ನಂತರ ಮಾತ್ರ ಇದನ್ನು ಮಾಡಲು ಸೂಚಿಸಲಾಗುತ್ತದೆ. ಏಕೆಂದರೆ ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆಯು ಸಾಮಾನ್ಯವಾಗಿ ಸಂಕಲನಕ್ಕಿಂತ ಎರಡು ಪಟ್ಟು ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.

ಉಡಾವಣಾ ವಿಧಾನವು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಮತ್ತು ಯೋಜನೆಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅವಲಂಬಿಸಿರುವುದರಿಂದ, ನಾನು C++ (ಲಿನಕ್ಸ್) ಆಯ್ಕೆಯನ್ನು ಉದಾಹರಣೆಯಾಗಿ ತೋರಿಸುತ್ತೇನೆ:

pvs-studio-analyzer analyze -j8 
                            -o PVS-Studio.log
plog-converter -t errorfile PVS-Studio.log --cerr -w

ಮೊದಲ ಆಜ್ಞೆಯು ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಮತ್ತು ಎರಡನೆಯದು ಲಕೋಟೆಗಳುವರದಿಯನ್ನು ಪಠ್ಯ ಸ್ವರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸುತ್ತದೆ, ಅದನ್ನು ಪರದೆಯ ಮೇಲೆ ಪ್ರದರ್ಶಿಸುತ್ತದೆ ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳಿದ್ದಲ್ಲಿ 0 ಹೊರತುಪಡಿಸಿ ರಿಟರ್ನ್ ಕೋಡ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ದೋಷ ಸಂದೇಶಗಳಿರುವಾಗ ನಿರ್ಮಾಣವನ್ನು ನಿರ್ಬಂಧಿಸಲು ಈ ರೀತಿಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ಅನುಕೂಲಕರವಾಗಿ ಬಳಸಬಹುದು. ಆದಾಗ್ಯೂ, ನೀವು ಯಾವಾಗಲೂ ಧ್ವಜವನ್ನು ತೆಗೆದುಹಾಕಬಹುದು -w ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳನ್ನು ಹೊಂದಿರುವ ಅಸೆಂಬ್ಲಿಯನ್ನು ನಿರ್ಬಂಧಿಸಬೇಡಿ.

ಗಮನಿಸಿ. ಪಠ್ಯ ಸ್ವರೂಪವು ಅನಾನುಕೂಲವಾಗಿದೆ. ಇದನ್ನು ಸರಳವಾಗಿ ಉದಾಹರಣೆಯಾಗಿ ನೀಡಲಾಗಿದೆ. ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕ ವರದಿ ಸ್ವರೂಪಕ್ಕೆ ಗಮನ ಕೊಡಿ - FullHtml. ಕೋಡ್ ಮೂಲಕ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

ಲೇಖನದಲ್ಲಿ CI ನಲ್ಲಿ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಹೊಂದಿಸುವ ಕುರಿತು ನೀವು ಇನ್ನಷ್ಟು ಓದಬಹುದು "PVS-ಸ್ಟುಡಿಯೋ ಮತ್ತು ನಿರಂತರ ಏಕೀಕರಣ"(ವಿಂಡೋಸ್) ಅಥವಾ"ಟ್ರಾವಿಸ್ CI ನಲ್ಲಿ PVS-ಸ್ಟುಡಿಯೋವನ್ನು ಹೇಗೆ ಹೊಂದಿಸುವುದು"(ಲಿನಕ್ಸ್).

ಸರಿ, ನೀವು ಬಿಲ್ಡ್ ಸರ್ವರ್‌ನಲ್ಲಿ ವಿಶ್ಲೇಷಕವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದೀರಿ. ಈಗ, ಯಾರಾದರೂ ಪರೀಕ್ಷಿಸದ ಕೋಡ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿದರೆ, ಪರಿಶೀಲನೆ ಹಂತವು ವಿಫಲಗೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ನೀವು ಸಮಸ್ಯೆಯನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, ಆದಾಗ್ಯೂ, ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಅನುಕೂಲಕರವಾಗಿಲ್ಲ, ಏಕೆಂದರೆ ಶಾಖೆಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಿದ ನಂತರ ಯೋಜನೆಯನ್ನು ಪರಿಶೀಲಿಸುವುದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿರುತ್ತದೆ, ಆದರೆ ಅದರ ಮೊದಲು, ಪುಲ್ ವಿನಂತಿಯ ಹಂತದಲ್ಲಿ.

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

git diff --name-only HEAD origin/$MERGE_BASE > .pvs-pr.list

ಈಗ ನೀವು ಈ ಫೈಲ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಇನ್‌ಪುಟ್‌ನಂತೆ ವಿಶ್ಲೇಷಕಕ್ಕೆ ರವಾನಿಸಬೇಕಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, PVS-ಸ್ಟುಡಿಯೋದಲ್ಲಿ ಇದನ್ನು ಫ್ಲ್ಯಾಗ್ ಬಳಸಿ ಅಳವಡಿಸಲಾಗಿದೆ -S:

pvs-studio-analyzer analyze -j8 
                            -o PVS-Studio.log 
                            -S .pvs-pr.list

ಪುಲ್ ವಿನಂತಿಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವ ಕುರಿತು ನೀವು ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಬಹುದು *ಇಲ್ಲಿ*. ಲೇಖನದಲ್ಲಿ ಉಲ್ಲೇಖಿಸಲಾದ ಸೇವೆಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ನಿಮ್ಮ CI ಇಲ್ಲದಿದ್ದರೂ ಸಹ, ಈ ರೀತಿಯ ವಿಶ್ಲೇಷಣೆಯ ಸಿದ್ಧಾಂತಕ್ಕೆ ಮೀಸಲಾದ ಸಾಮಾನ್ಯ ವಿಭಾಗವು ಉಪಯುಕ್ತವಾಗಿದೆ.

ಪುಲ್ ವಿನಂತಿಗಳ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ, ನೀವು ಎಚ್ಚರಿಕೆಗಳನ್ನು ಹೊಂದಿರುವ ಕಮಿಟ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಬಹುದು, ಆ ಮೂಲಕ ಪರೀಕ್ಷಿಸದ ಕೋಡ್ ದಾಟಲು ಸಾಧ್ಯವಾಗದ ಗಡಿಯನ್ನು ರಚಿಸಬಹುದು.

ಇದು ಖಂಡಿತವಾಗಿಯೂ ಒಳ್ಳೆಯದು, ಆದರೆ ಎಲ್ಲಾ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ನೋಡಲು ನಾನು ಬಯಸುತ್ತೇನೆ. ಸ್ಟ್ಯಾಟಿಕ್ ವಿಶ್ಲೇಷಕದಿಂದ ಮಾತ್ರವಲ್ಲ, ಘಟಕ ಪರೀಕ್ಷೆಗಳಿಂದ ಅಥವಾ ಡೈನಾಮಿಕ್ ವಿಶ್ಲೇಷಕದಿಂದ ಕೂಡ. ಇದಕ್ಕಾಗಿ ವಿವಿಧ ಸೇವೆಗಳು ಮತ್ತು ಪ್ಲಗಿನ್‌ಗಳಿವೆ. PVS-ಸ್ಟುಡಿಯೋ, ಉದಾಹರಣೆಗೆ, ಹೊಂದಿದೆ SonarQube ಗೆ ಏಕೀಕರಣಕ್ಕಾಗಿ ಪ್ಲಗಿನ್.

2. ಡೆವಲಪರ್ ಯಂತ್ರಗಳಲ್ಲಿ ಏಕೀಕರಣ

ದೈನಂದಿನ ಅಭಿವೃದ್ಧಿ ಬಳಕೆಗಾಗಿ ವಿಶ್ಲೇಷಕವನ್ನು ಸ್ಥಾಪಿಸಲು ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಈಗ ಸಮಯವಾಗಿದೆ. ಈ ಹೊತ್ತಿಗೆ ನೀವು ಈಗಾಗಲೇ ಹೆಚ್ಚಿನ ಕೆಲಸದ ವಿಧಾನಗಳೊಂದಿಗೆ ಪರಿಚಿತರಾಗಿದ್ದೀರಿ, ಆದ್ದರಿಂದ ಇದನ್ನು ಸುಲಭವಾದ ಭಾಗ ಎಂದು ಕರೆಯಬಹುದು.

ಸರಳವಾದ ಆಯ್ಕೆಯಾಗಿ, ಅಭಿವರ್ಧಕರು ಅಗತ್ಯವಾದ ವಿಶ್ಲೇಷಕವನ್ನು ಸ್ವತಃ ಸ್ಥಾಪಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಇದು ಸಾಕಷ್ಟು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಅಭಿವೃದ್ಧಿಯಿಂದ ದೂರವಿಡುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಅನುಸ್ಥಾಪಕ ಮತ್ತು ಅಗತ್ಯ ಫ್ಲ್ಯಾಗ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಬಹುದು. PVS-ಸ್ಟುಡಿಯೋಗೆ ವಿವಿಧ ಇವೆ ಸ್ವಯಂಚಾಲಿತ ಅನುಸ್ಥಾಪನೆಗೆ ಧ್ವಜಗಳು. ಆದಾಗ್ಯೂ, ಯಾವಾಗಲೂ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್‌ಗಳು ಇರುತ್ತಾರೆ, ಉದಾಹರಣೆಗೆ, ಚಾಕೊಲೇಟಿ (ವಿಂಡೋಸ್), ಹೋಮ್‌ಬ್ರೂ (ಮ್ಯಾಕೋಸ್) ಅಥವಾ ಲಿನಕ್ಸ್‌ಗಾಗಿ ಡಜನ್ಗಟ್ಟಲೆ ಆಯ್ಕೆಗಳು.

ನಂತರ ನೀವು ಅಗತ್ಯವಿರುವ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ, ಐಡಿಇಎ, ಸವಾರ ಇತ್ಯಾದಿ

3. ದೈನಂದಿನ ಬಳಕೆ

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

ವಿಶ್ಲೇಷಕವು ಇತ್ತೀಚೆಗೆ ಬದಲಾದ ಕೋಡ್‌ನಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಿದರೆ, ಅದು ಸ್ವತಂತ್ರವಾಗಿ ಇದನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, PVS-ಸ್ಟುಡಿಯೋ ಎಚ್ಚರಿಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಇದರ ಬಗ್ಗೆ ನಿಮಗೆ ತಿಳಿಸುತ್ತದೆ:

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ - ಪರಿಚಯದಿಂದ ಏಕೀಕರಣದವರೆಗೆ
ಸಹಜವಾಗಿ, ಉಪಕರಣವನ್ನು ಬಳಸಲು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಹೇಳುವುದು ಸಾಕಾಗುವುದಿಲ್ಲ. ಅದು ಏನು ಮತ್ತು ಅದು ಹೇಗೆ ಎಂದು ನಾವು ಅವರಿಗೆ ಹೇಗಾದರೂ ಹೇಳಬೇಕು. ಇಲ್ಲಿ, ಉದಾಹರಣೆಗೆ, PVS-Studio ಗಾಗಿ ತ್ವರಿತ ಪ್ರಾರಂಭದ ಕುರಿತು ಲೇಖನಗಳಿವೆ, ಆದರೆ ನೀವು ಆದ್ಯತೆ ನೀಡುವ ಯಾವುದೇ ಸಾಧನಕ್ಕಾಗಿ ನೀವು ಇದೇ ರೀತಿಯ ಟ್ಯುಟೋರಿಯಲ್‌ಗಳನ್ನು ಕಾಣಬಹುದು:

ಅಂತಹ ಲೇಖನಗಳು ದೈನಂದಿನ ಬಳಕೆಗೆ ಅಗತ್ಯವಾದ ಎಲ್ಲಾ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತವೆ ಮತ್ತು ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ. 🙂

ಪರಿಕರವನ್ನು ತಿಳಿದುಕೊಳ್ಳುವ ಹಂತದಲ್ಲಿಯೂ ಸಹ, ಮೊದಲ ಉಡಾವಣೆಯಲ್ಲಿ ನಾವು ಸಾಕಷ್ಟು ಎಚ್ಚರಿಕೆಗಳನ್ನು ನಿಗ್ರಹಿಸಿದ್ದೇವೆ. ದುರದೃಷ್ಟವಶಾತ್, ಸ್ಥಿರ ವಿಶ್ಲೇಷಕಗಳು ಪರಿಪೂರ್ಣವಲ್ಲ, ಆದ್ದರಿಂದ ಕಾಲಕಾಲಕ್ಕೆ ಅವರು ತಪ್ಪು ಧನಾತ್ಮಕತೆಯನ್ನು ನೀಡುತ್ತಾರೆ. ಅವುಗಳನ್ನು ನಿಗ್ರಹಿಸುವುದು ಸಾಮಾನ್ಯವಾಗಿ ಸುಲಭ; ಉದಾಹರಣೆಗೆ, ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋಗಾಗಿ PVS-ಸ್ಟುಡಿಯೋ ಪ್ಲಗಿನ್‌ನಲ್ಲಿ ನೀವು ಕೇವಲ ಒಂದು ಬಟನ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ:

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ - ಪರಿಚಯದಿಂದ ಏಕೀಕರಣದವರೆಗೆ
ಆದಾಗ್ಯೂ, ನೀವು ಅವುಗಳನ್ನು ನಿಗ್ರಹಿಸುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ನೀವು ಬೆಂಬಲಿಸಲು ಸಮಸ್ಯೆಯನ್ನು ವರದಿ ಮಾಡಬಹುದು. ತಪ್ಪು ಧನಾತ್ಮಕವನ್ನು ಸರಿಪಡಿಸಬಹುದಾದರೆ, ಭವಿಷ್ಯದ ನವೀಕರಣಗಳಲ್ಲಿ ಪ್ರತಿ ಬಾರಿಯೂ ನಿಮ್ಮ ಕೋಡ್‌ಬೇಸ್‌ಗೆ ನಿರ್ದಿಷ್ಟವಾಗಿ ಕಡಿಮೆ ಮತ್ತು ಕಡಿಮೆ ತಪ್ಪು ಧನಾತ್ಮಕತೆಯನ್ನು ನೀವು ಗಮನಿಸಬಹುದು.

После ಇಂಟೆಗ್ರಸಿಗಳು

ಆದ್ದರಿಂದ ನಾವು ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಸಂಯೋಜಿಸುವ ಎಲ್ಲಾ ಹಂತಗಳನ್ನು ಹಾದು ಹೋಗಿದ್ದೇವೆ. CI ನಲ್ಲಿ ಅಂತಹ ಸಾಧನಗಳನ್ನು ಹೊಂದಿಸುವ ಪ್ರಾಮುಖ್ಯತೆಯ ಹೊರತಾಗಿಯೂ, ಅವುಗಳನ್ನು ಚಲಾಯಿಸಲು ಪ್ರಮುಖ ಸ್ಥಳವೆಂದರೆ ಡೆವಲಪರ್ನ ಕಂಪ್ಯೂಟರ್. ಎಲ್ಲಾ ನಂತರ, ಸ್ಥಿರ ವಿಶ್ಲೇಷಕವು ಕೋಡ್ ಉತ್ತಮವಾಗಿಲ್ಲ ಎಂದು ನಿಮ್ಮಿಂದ ಎಲ್ಲೋ ದೂರದಲ್ಲಿರುವ ನ್ಯಾಯಾಧೀಶರಲ್ಲ. ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ನೀವು ದಣಿದಿದ್ದರೆ ಮತ್ತು ನೀವು ಏನನ್ನಾದರೂ ಮರೆತಿದ್ದರೆ ನಿಮಗೆ ನೆನಪಿಸುವ ಸಹಾಯಕ ಇದು.

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

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

ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ - ಪರಿಚಯದಿಂದ ಏಕೀಕರಣದವರೆಗೆ

ನೀವು ಈ ಲೇಖನವನ್ನು ಇಂಗ್ಲಿಷ್ ಮಾತನಾಡುವ ಪ್ರೇಕ್ಷಕರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸಿದರೆ, ದಯವಿಟ್ಟು ಅನುವಾದ ಲಿಂಕ್ ಬಳಸಿ: ಮ್ಯಾಕ್ಸಿಮ್ ಜ್ವ್ಯಾಗಿಂಟ್ಸೆವ್. ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ: ಪ್ರಾರಂಭದಿಂದ ಏಕೀಕರಣದವರೆಗೆ.

ಮೂಲ: www.habr.com

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