मुझे एआरएम आधारित बोर्डों के लिए लिनक्स डिवाइस ड्राइवर्स के लिए एक स्थिर विश्लेषण उपकरण की आवश्यकता है। मैं कुछ उपकरणों पर विचार कर रहा हूँ नीचे वर्णित के रूप में:लिनक्स कर्नेल मॉड्यूल और डिवाइस ड्राइवरों के लिए स्टेटिक विश्लेषण उपकरण
- Sparse एक कंप्यूटर सॉफ्टवेयर उपकरण, लिनक्स पर पहले से ही उपलब्ध, लिनक्स कर्नेल में संभव कोडिंग दोष लगाने के लिए बनाया गया है।
लोड करने योग्य कर्नेल मॉड्यूल की गुणवत्ता में सुधार करने के उद्देश्य से Linux Verification Center की दो सक्रिय परियोजनाएं हैं।
Linux Driver Verification
(एलडीवी) - लिनक्स डिवाइस ड्राइवरों के स्थिर स्रोत कोड सत्यापन के लिए एक व्यापक टूलसेट।KEDR Framework
- गतिशील विश्लेषण और कर्नेल मॉड्यूल के सत्यापन के लिए एक विस्तारणीय ढांचा।- एक और चल रही परियोजना
Linux File System Verification
है जिसका लक्ष्य लिनक्स फ़ाइल सिस्टम कार्यान्वयन के सत्यापन के लिए एक समर्पित टूलसेट विकसित करना है।
-Werror
,-Wextra
और-Wall
GCC
पर सक्षम करें, औरValgrind
साथ चलाते हैं।
पिछली बार मैंने स्पैस के साथ खेला था, मैंने आउटपुट को भ्रमित करने के लिए पाया और आउटपुट की व्याख्या करने के लिए एक अच्छा दस्तावेज नहीं मिला। क्या किसी के पास स्पैस टूल पर अच्छा दस्तावेज है? मेरे लिनक्स ड्राइवर सत्यापन के लिए मैं अन्य नि: शुल्क स्थिर विश्लेषण उपकरण क्या उपयोग कर सकता हूं? मैं LINT उपकरण के बारे में जानता हूं लेकिन इसका लाइसेंस प्राप्त है।
स्प्लिंट आज़माएं। ये मुफ्त है। एक और सुझाव -Wall और -Wextra के साथ संकलन करना होगा। – Kenneth
स्प्लिंट सामान्य सी कोड के लिए है। मुझे एक उपकरण चाहिए जो लिनक्स कर्नेल कोड की जांच कर सके। एक आम उदाहरण एक ऐसे फ़ंक्शन का उपयोग कर रहा है जो स्पिनलॉक्स और इसी तरह की सुरक्षा वाले महत्वपूर्ण वर्गों में, परमाणु संदर्भ में, यानी, अंतःस्थापित संदर्भ में, (या, आमतौर पर, रीशेड्यूलिंग का कारण बन सकता है) सो सकता है। –
ऐसा लगता है कि आप यहां कई अलग-अलग अवधारणाओं को मिश्रित कर रहे हैं। लिनक्स कर्नेल सी में लिखा गया है, इसलिए स्प्लिंट एक मान्य _static_ विश्लेषण उपकरण है। – Kenneth