सेवा के बारे में
अनुवादितमैं ATS (Applied Type System) में उत्पादन सिस्टम कोड लिखता हूँ — एक भाषा जो आपको बिना किसी बाधा के गति को गणितीय रूप से सत्यापित सहीता के साथ संयोजित करने की अनुमति देती है। यदि आपको एक ड्राइवर, अंतर्निहित रूटीन, पार्सर, या हॉट पथ की आवश्यकता है जो मेमोरी लीक करने या बफर के पार पढ़ने का अधिकार नहीं रखता है, तो मैं उन गारंटियों को सीधे प्रकार प्रणाली में कोडित करूँगा। ATS में संकलक मुझे कोड के संकलन से पहले प्रमाण दायित्वों को पूरा करने के लिए मजबूर करता है, इसलिए C रिलीज़ में अनnoticed रूप से शामिल होने वाली त्रुटियों का एक पूरा वर्ग यहाँ संकलित नहीं होता। कार्य आपके अपरिवर्तनों के साथ शुरू होता है। हम इस पर सहमत होते हैं कि क्या होना चाहिए: कोई डबल-फ्री नहीं, कोई बफर ओवररन नहीं, हर संसाधन का रैखिक स्वामित्व, पुनरावृत्त रूटीन का सुनिश्चित समाप्ति। फिर मैं इसे निर्भर प्रकारों और रैखिक प्रमाणों में व्यक्त करता हूँ, उनके खिलाफ कोड लागू करता हूँ, और एक परिणाम प्रदान करता हूँ जो अपनी स्वयं की सुरक्षा प्रमाणपत्र ले जाता है। चूंकि ATS साफ C में संकलित होता है, परिणाम आपकी निर्माण प्रक्रिया में बिना किसी समस्या के एकीकृत होता है और बिना गारबेज संग्रहण ओवरहेड के चलता है। डिलीवरी में ATS स्रोत, उत्पन्न C, निर्माण स्क्रिप्ट, प्रमाण एनोटेशन के साथ एक छोटा परीक्षण हार्नेस, और प्रत्येक सिद्ध अपरिवर्तन को समझाने वाला एक पाठ नोट शामिल है। वर्षों के निम्न-स्तरीय कार्य में मैंने लॉक-फ्री संरचनाएँ और विरासती C पुस्तकालयों के लिए सुरक्षित ATS बाइंडिंग बनाई हैं। औपचारिक तर्क के स्तर पर पॉइंटर्स, आकारों, और जीवनकाल के बारे में तर्क करना मेरे लिए सामान्य है। एक बाधा का वर्णन करें जो आपको चिंतित करती है, और मैं इसे एक प्रमेय में बदल दूँगा जिसे संकलक हर पुनर्निर्माण पर जांचता है।