Google ClusterFuzzLite ಫಜಿಂಗ್ ಪರೀಕ್ಷಾ ವ್ಯವಸ್ಥೆಯನ್ನು ಪರಿಚಯಿಸಿತು

Google ClusterFuzzLite ಯೋಜನೆಯನ್ನು ಪರಿಚಯಿಸಿದೆ, ಇದು ನಿರಂತರ ಏಕೀಕರಣ ವ್ಯವಸ್ಥೆಗಳ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ಸಂಭಾವ್ಯ ದೋಷಗಳನ್ನು ಮೊದಲೇ ಪತ್ತೆಹಚ್ಚಲು ಕೋಡ್‌ನ ಅಸ್ಪಷ್ಟ ಪರೀಕ್ಷೆಯನ್ನು ಆಯೋಜಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಪ್ರಸ್ತುತ, ClusterFuzz ಅನ್ನು GitHub ಕ್ರಿಯೆಗಳು, Google Cloud Build ಮತ್ತು Prow ನಲ್ಲಿ ಪುಲ್ ವಿನಂತಿಗಳ ಫಜ್ ಪರೀಕ್ಷೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಬಳಸಬಹುದು, ಆದರೆ ಭವಿಷ್ಯದಲ್ಲಿ ಇತರ CI ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ. ಯೋಜನೆಯು ClusterFuzz ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ಆಧರಿಸಿದೆ, ಅಸ್ಪಷ್ಟ ಪರೀಕ್ಷಾ ಕ್ಲಸ್ಟರ್‌ಗಳ ಕೆಲಸವನ್ನು ಸಂಘಟಿಸಲು ರಚಿಸಲಾಗಿದೆ ಮತ್ತು Apache 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

2016 ರಲ್ಲಿ Google OSS-Fuzz ಸೇವೆಯನ್ನು ಪರಿಚಯಿಸಿದ ನಂತರ, 500 ಕ್ಕೂ ಹೆಚ್ಚು ಪ್ರಮುಖ ತೆರೆದ ಮೂಲ ಯೋಜನೆಗಳನ್ನು ನಿರಂತರ ಅಸ್ಪಷ್ಟ ಪರೀಕ್ಷಾ ಕಾರ್ಯಕ್ರಮಕ್ಕೆ ಸ್ವೀಕರಿಸಲಾಗಿದೆ ಎಂದು ಗಮನಿಸಲಾಗಿದೆ. ನಡೆಸಿದ ಪರೀಕ್ಷೆಗಳ ಆಧಾರದ ಮೇಲೆ, 6500 ಕ್ಕೂ ಹೆಚ್ಚು ದೃಢಪಡಿಸಿದ ದೋಷಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಮತ್ತು 21 ಸಾವಿರಕ್ಕೂ ಹೆಚ್ಚು ದೋಷಗಳನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ. ClusterFuzzLite ಪ್ರಸ್ತಾವಿತ ಬದಲಾವಣೆಗಳ ಪರಿಶೀಲನೆ ಹಂತದಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಮೊದಲೇ ಗುರುತಿಸುವ ಸಾಮರ್ಥ್ಯದೊಂದಿಗೆ ಅಸ್ಪಷ್ಟ ಪರೀಕ್ಷಾ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದನ್ನು ಮುಂದುವರೆಸಿದೆ. ClusterFuzzLite ಅನ್ನು ಈಗಾಗಲೇ systemd ಮತ್ತು ಕರ್ಲ್ ಯೋಜನೆಗಳಲ್ಲಿನ ಬದಲಾವಣೆಯ ಪರಿಶೀಲನೆ ಪ್ರಕ್ರಿಯೆಗಳಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ ಮತ್ತು ಹೊಸ ಕೋಡ್ ಪರಿಶೀಲಿಸುವ ಆರಂಭಿಕ ಹಂತದಲ್ಲಿ ಬಳಸಲಾದ ಸ್ಥಿರ ವಿಶ್ಲೇಷಕಗಳು ಮತ್ತು ಲಿಂಟರ್‌ಗಳಿಂದ ತಪ್ಪಿದ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗಿಸಿದೆ.

C, C++, Java (ಮತ್ತು ಇತರ JVM-ಆಧಾರಿತ ಭಾಷೆಗಳು), Go, Python, Rust, ಮತ್ತು Swift ನಲ್ಲಿ ClusterFuzzLite ಯೋಜನೆಯ ವಿಮರ್ಶೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಲಿಬ್ಫಝರ್ ಎಂಜಿನ್ ಬಳಸಿ ಫಜಿಂಗ್ ಪರೀಕ್ಷೆಯನ್ನು ನಡೆಸಲಾಗುತ್ತದೆ. ಮೆಮೊರಿ ದೋಷಗಳು ಮತ್ತು ವೈಪರೀತ್ಯಗಳನ್ನು ಗುರುತಿಸಲು ವಿಳಾಸ ಸ್ಯಾನಿಟೈಜರ್, ಮೆಮೊರಿ ಸ್ಯಾನಿಟೈಜರ್ ಮತ್ತು UBSan (ಅನ್ ಡಿಫೈನ್ಡ್ ಬಿಹೇವಿಯರ್ ಸ್ಯಾನಿಟೈಜರ್) ಉಪಕರಣಗಳನ್ನು ಸಹ ಕರೆಯಬಹುದು.

ClusterFuzzLite ನ ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು: ಕೋಡ್ ಸ್ವೀಕಾರದ ಮೊದಲು ದೋಷಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಪ್ರಸ್ತಾವಿತ ಬದಲಾವಣೆಗಳ ತ್ವರಿತ ಪರಿಶೀಲನೆ; ಕ್ರ್ಯಾಶ್ ಸ್ಥಿತಿಗಳ ಕುರಿತು ವರದಿಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುವುದು; ಕೋಡ್ ಬದಲಾವಣೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿದ ನಂತರ ಕಾಣಿಸಿಕೊಳ್ಳದ ಆಳವಾದ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ಹೆಚ್ಚು ಸುಧಾರಿತ ಅಸ್ಪಷ್ಟ ಪರೀಕ್ಷೆಗೆ ತೆರಳುವ ಸಾಮರ್ಥ್ಯ; ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ ಕೋಡ್ ವ್ಯಾಪ್ತಿಯನ್ನು ನಿರ್ಣಯಿಸಲು ಕವರೇಜ್ ವರದಿಗಳ ಉತ್ಪಾದನೆ; ಮಾಡ್ಯುಲರ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಕಾರ್ಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.

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

ಮೂಲ: opennet.ru

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