गेल्या काही वर्षांमध्ये, सॉफ्टवेअर कोड गुणवत्ता և सुरक्षा ही एक गरज बनली आहे; ‘गुंतवणूक बँकांसह अनेक संस्थांनी स्थिर कोड विश्लेषण चाचण्या घेणे अनिवार्य केले आहे. प्रवेश चाचणीcode तुमचा कोड उत्पादन करण्यापूर्वी सुरक्षा चाचण्या. स्थिर विश्लेषण साधने जसे की: findbugs: आणि बांधणे अधिकाधिक लोकप्रिय होत आहेत և अधिकाधिक कंपन्या सर्व नवोदितांसाठी मजबुतीकरण स्कॅनिंग अनिवार्य करत आहेत विकास. ज्यांना माहिती नाही त्यांच्यासाठी स्थिर कोड विश्लेषण म्हणजे काय?, स्थिर कोड विश्लेषण म्हणजे संभाव्य असुरक्षा, त्रुटी किंवा सुरक्षा धमक्या न करता आपल्या स्त्रोत कोडचे विश्लेषण करणे.

स्थिर कोड विश्लेषक असे नमुने शोधतात जे त्यांच्यासाठी नियम म्हणून परिभाषित केले जातात ज्यामुळे सुरक्षा असुरक्षितता किंवा इतर कोड गुणवत्तेच्या समस्यांना कारणीभूत ठरू शकते ज्याकडे लक्ष देणे आवश्यक आहे. उत्पादन गुणवत्ता कोड. परंतु कोणत्याही तंत्रज्ञानाप्रमाणे, स्थिर विश्लेषणाचे त्याचे फायदे आणि तोटे आहेत, जे कोणत्याही तंत्रज्ञानाचे मूल्यांकन करण्याचा सर्वोत्तम मार्ग आहे.

स्थिर कोड विश्लेषक नवीन नाहीत – ते बर्याच काळापासून येथे आहेत, परंतु एक वरिष्ठ जावा प्रोग्रामर किंवा टीम लीडर म्हणून, आपल्याला आपला प्रकल्प ठेवण्यासाठी स्वयंचलित संकेतशब्द विश्लेषण, सतत एकत्रीकरण, ऑटोमेशन चाचणी यासारख्या प्रक्रिया तयार कराव्या लागतील. निरोगी मार्गाने, आपल्या कार्यसंघातील सर्वोत्तम विकास अनुभवाचा प्रचार करा.

माझ्या मते, युनिट चाचणी, कोड पुनरावलोकन, և: स्थिर कोड विश्लेषण एक सुंदर संयोजन एकत्र करा सतत एकत्रीकरण. या लेखात आपण काही शिकू स्थिर कोड विश्लेषणाचे फायदे आणि तोटेठरवणे स्थिर विश्लेषण शक्य आहे की नाही.

मला आधीच सकारात्मक गोष्टींची खात्री आहे, – आम्ही आमच्या सर्व प्रकल्पांमध्ये वर्धित स्कॅनिंग वापरतो – आम्ही त्याचे फायदे पाहिले आहेत, परंतु सर्व काही चांगले नाही, ते वेळ घेणारे आहे.

जेव्हा तुमचे साधन तुम्हाला चुकीच्या सकारात्मकतेकडे इशारा देते, तेव्हा तुम्ही ते हलकेपणाने घेण्यास सुरुवात करता आणि मग प्रत्येक गोष्टीला खोट्या सकारात्मकतेची सवय बनते, जे शेवटी स्थिर कोड विश्लेषणाचे सर्व फायदे काढून घेते. त्या फंदात पडू नये म्हणून तुम्हाला पुरेसे शिस्तबद्ध असणे आवश्यक आहे.

सॉफ्टवेअर डेव्हलपमेंटमध्ये स्थिर विश्लेषणाचे फायदे.

आपल्या डिझाइनमध्ये स्थिर कोड विश्लेषण वापरण्याची अनेक चांगली कारणे आहेत आणि हे त्यापैकी एक आहे तुमच्या पासवर्डचे सखोल विश्लेषण, त्यांना न करता. स्थिर विश्लेषण सर्व कोड स्कॅन करते. जर तुमच्या अर्जाच्या दूरच्या कोपऱ्यात असुरक्षितता आहेत ज्या वापरल्याही जात नाहीत, तर स्थिर विश्लेषणामुळे त्या असुरक्षा सापडण्याची शक्यता जास्त असते.

स्थिर कोड विश्लेषणाचा वापर करण्याचा दुसरा फायदा म्हणजे आपण आपल्या प्रकल्पासाठी विशिष्ट नियम सेट करू शकता, कोणत्याही मॅन्युअल हस्तक्षेपाशिवाय त्यांचे पालन केले जाईल याची खात्री करा. जर एखादा संघ सदस्य या नियमांचे पालन करण्यास विसरला तर ते स्थिर कोड विश्लेषक वापरू शकतात, जसे की बांधणे किंवा: findbugs:.

स्थिर कोड विश्लेषणाचा तिसरा मोठा फायदा म्हणजे ते विकास चक्राच्या सुरुवातीला त्रुटी शोधू शकतात, म्हणजे दुरुस्त करण्यासाठी कमी खर्च. हे सर्व स्थिर कोड विश्लेषकांचे फायदे त्यांचा भाग असेल तरच ते सर्वोत्तम वापरले जाऊ शकते बांधकाम प्रक्रिया.

दुसरीकडे, मॅन्युअल चाचणी किंवा प्रवेश चाचणी आपल्याला स्थिर कोड विश्लेषकापेक्षा मर्यादित प्रमाणात चुकीचे-पॉझिटिव्ह प्रदान करू शकते. या पेनच्या प्रयोगांकडे एकमेकांना पर्याय म्हणून पाहिले जाते का, ते नाहीत, त्याऐवजी ते एकमेकांना पूरक असतात.

पेन चाचणी खरं तर, हे स्थिर कोड विश्लेषणापेक्षा अधिक वास्तववादी आहे कारण चाचणी प्रकरणे वापरकर्त्याद्वारे प्रदान केली जातात-ते वास्तविक-वेळ केस परिस्थितीच्या जवळ असतात, तर स्थिर कोड विश्लेषण केवळ अशा नमुन्यांसाठी दिसते जे त्रुटी निर्माण करू शकतात.

जर कोणताही नमुना नसेल, तर याचा अर्थ असा नाही की कोणत्याही त्रुटी नाहीत, म्हणून आदर्शपणे आपण पेन टेस्टिंग केले पाहिजे – स्टॅटिक कोड विश्लेषण आपले अर्ज उत्पादनाकडे नेण्यासाठी.

स्थिर विश्लेषण का वाईट आहे सॉफ्टवेअर डेव्हलपमेंटमधील स्थिर विश्लेषणाचे दोष वाईट आहेत

स्थिर कोड विश्लेषण उपयुक्त असले तरी त्यात काही कमतरता देखील आहेत. सर्वात मोठा स्थिर विश्लेषणाची समस्या अशी आहे की ते बरेच खोटे सकारात्मक उत्पन्न करतात. हे इशारे आहेत जे कधीकधी दुर्लक्ष करणे सुरक्षित असतात; ते खरोखर समस्या नाहीत. यामुळे विकासकांसाठी बरेच काम तयार होते, जे नंतर “त्यांना कमी प्राधान्य मानतात” आणि अखेरीस त्यांचे निराकरण करणे थांबवतात.

कोणत्याही साधनासाठी हे खरे आहे, आपण इतर लोकांच्या मदतीसाठी अधिक भेदभाव केला पाहिजे. स्थिर विश्लेषण एक-वेळ स्कॅन नसावे, ते सतत विकास आणि चाचणी दरम्यान वापरले पाहिजे. आणखी एक समस्या स्थिर कोड विश्लेषक ते चालवण्यासाठी खूप वेळ घेतात आणि काही काळानंतर डेव्हलपर्स त्यांना चालवण्याची तसदी घेत नाहीत.

पर्यायी, उत्तम प्रकारे पर्यायी करण्याऐवजी आपण स्थिर कोड विश्लेषण आपल्या बिल्ड प्रक्रियेचा भाग बनवून ही समस्या कमी करू शकता. दुसरे, आपल्याला विशेष नियमांचे पुनरावलोकन करणे आणि लिहिणे आवश्यक आहे जेणेकरून त्यास जास्त वेळ लागणार नाही.