Zeldovich and his colleagues
-
Frans Kaashoek, the Charles A. Piper Professor in MIT's
Department of Electrical Engineering and Computer Science [EECSJ; associate professor of
computer science Adam Chlipala; Haogang Chen, a graduate student in EECS; and Daniel Ziegler,
,n ,nd.rgraduate in EECS
-
established the reliability of their file system through a process
known as formal verification,
Formal verification involves mathematically describing the acceptable bounds of operation for a
computer program and then proving that the program will never exceed them. It's a
.o.pti.rt.A pio..ss, so it s generally applied only to very high-level schematic representations
of a programis functionality. Translating those high-level schema into working code, however,
can introduce myriad complications that the proofs don't address.
a
i:lB -'1-i
"'t
_l v'I 'l
I
I
,,All these paper proofs about other file systems may actually be correct, but there's no file
system that we can be sure represents what the proof is about " Ziegler says'
what distinguishes the MIT researchers'work is that they prove properties of the file system's
final code, not a high-level schema. To do tha! they took advantage of a tool known as a proof
assistant, which provides a formal Ianguage for describing aspects of a computer system and the
relationshiPs between them.
"This formal proving environment includes a programming language," Chlipala explains' "So we
implement the file ,yrt.* in the same langurg. t'itt.tu ttele writing the proofs' And the proofs
are checked against the actual file system,"noiro*. whiteboard idealization that has no formal
connection to the code"'
The proof assistant, known as Coq, provided the tools, but the MIT researchers still had to do
the work. First, they had to describe the components of a file system using Coq's formal
language, "You have to define, 'What is a disk?"' Zeldovich says'
"And'What is a bit?"' ChliPala adds.
Next, they had to formally describe the relationships between the behaviors of these different
components under crash conditions. Only then could they begin to construct a proof that a file
system would behave the way it should,
-Finally,
they had to write the corresponding file system'
The part of the process that Coq automated wis determining that the file system did, in fact,
adhere to the logical relationships described in the proof'
Zeldovich และเพื่อนร่วมงานของเขา
-
ฟรานส์ Kaashoek,
ชาร์ลส์เอไพเพอร์ศาสตราจารย์เอ็มไอทีในภาควิชาวิศวกรรมไฟฟ้าและวิทยาศาสตร์คอมพิวเตอร์[EECSJ; ศาสตราจารย์ของวิทยาศาสตร์คอมพิวเตอร์อดัม Chlipala;
Haogang เฉินนักศึกษาระดับบัณฑิตศึกษาใน EECS นั้น และแดเนียล
Ziegler,, n, nd.rgraduate ใน EECS
-
จัดตั้งความน่าเชื่อถือของระบบไฟล์ของพวกเขาผ่านกระบวนการที่รู้จักกันในการตรวจสอบอย่างเป็นทางการในการตรวจสอบอย่างเป็นทางการทางคณิตศาสตร์ที่เกี่ยวข้องกับการอธิบายขอบเขตที่ยอมรับได้ของการดำเนินงานสำหรับโปรแกรมคอมพิวเตอร์และจากนั้นพิสูจน์ให้เห็นว่าโปรแกรมจะไม่เกินกว่าพวกเขา มันเป็นpio..ss .o.pti.rt.A จึง s ใช้โดยทั่วไปเพียง แต่จะมากระดับสูงแสดงแผนผังของการทำงานprogramis ผู้แปลสคีระดับสูงเข้ามาทำงานรหัส แต่สามารถแนะนำภาวะแทรกซ้อนมากมายที่พิสูจน์ไม่ได้อยู่ที่. i: LB -'1 ฉัน"t '_L v'I' l ฉันฉัน,, ทั้งหมดนี้พิสูจน์กระดาษ เกี่ยวกับระบบแฟ้มอื่นจริงอาจจะถูกต้อง แต่มีไฟล์ไม่มีระบบที่เราสามารถตรวจสอบแสดงให้เห็นถึงสิ่งที่พิสูจน์เป็นเรื่องเกี่ยวกับ"Ziegler ว่า 'สิ่งที่แตกต่างresearchers'work เอ็มคือการที่พวกเขาพิสูจน์คุณสมบัติของระบบไฟล์ของรหัสสุดท้ายไม่ได้เป็นสคีระดับสูง การทำเช่นท่า! พวกเขาใช้ประโยชน์จากเครื่องมือที่เรียกได้ว่าเป็นหลักฐานช่วยซึ่งมี Ianguage อย่างเป็นทางการสำหรับการอธิบายลักษณะของระบบคอมพิวเตอร์และความสัมพันธ์ระหว่างพวกเขา. "สภาพแวดล้อมการพิสูจน์นี้อย่างเป็นทางการรวมถึงภาษาการเขียนโปรแกรม" Chlipala อธิบาย "ดังนั้นเราจึงใช้ไฟล์, YRT. * ใน langurg เดียวกัน. t'itt.tu ttele เขียนบทพิสูจน์ 'และพิสูจน์ได้รับการตรวจสอบกับระบบไฟล์ที่เกิดขึ้นจริง"noiro * มักใหญ่ใฝ่สูงไวท์บอร์ดที่ไม่มีอย่างเป็นทางการการเชื่อมต่อกับรหัส"'ผู้ช่วยผู้หลักฐานเป็นที่รู้จักCoq ให้เครื่องมือ แต่นักวิจัยเอ็มไอทียังคงมีการทำงาน. ครั้งแรกที่พวกเขาจะต้องอธิบายส่วนประกอบของระบบไฟล์โดยใช้ Coq ของอย่างเป็นทางการภาษา "คุณต้องกำหนด" อะไรคือสิ่งที่ดิสก์? "'Zeldovich ว่า'" And'What เป็นบิต? "'ChliPala เพิ่ม. ถัดไปพวกเขาจะต้องอย่างเป็นทางการอธิบายความสัมพันธ์ระหว่างพฤติกรรมที่แตกต่างกันเหล่านี้ชิ้นส่วนภายใต้ความผิดพลาดเงื่อนไข. เท่านั้นแล้วพวกเขาจะเริ่มต้นในการสร้างหลักฐานว่าแฟ้มระบบจะทำงานในลักษณะที่ควร-Finally, พวกเขาจะต้องเขียนระบบไฟล์ที่สอดคล้องกัน 'เป็นส่วนหนึ่งของกระบวนการที่Coq Wis อัตโนมัติระบุว่าระบบแฟ้มได้ที่ ในความเป็นจริงเป็นไปตามความสัมพันธ์เชิงตรรกะที่อธิบายไว้ในหลักฐาน'
การแปล กรุณารอสักครู่..

zeldovich ของเขาและเพื่อนร่วมงาน
-
ฟราน kaashoek , ชาร์ลส์ . เปอร์ ศาสตราจารย์ใน MIT
ภาควิชาวิศวกรรมไฟฟ้าและวิทยาศาสตร์คอมพิวเตอร์ [ eecsj ; รองศาสตราจารย์
วิทยาศาสตร์คอมพิวเตอร์ อดัม chlipala ; haogang เฉิน , นักศึกษาระดับบัณฑิตศึกษาใน eecs และแดเนียล ซีเกอร์
, N , nd.rgraduate ใน eecs
-
สร้างความน่าเชื่อถือ ระบบแฟ้มของพวกเขาผ่านกระบวนการที่เรียกว่าการตรวจสอบอย่างเป็นทางการ
,ระบบตรวจสอบที่เกี่ยวข้องกับคณิตศาสตร์อธิบายขอบเขตที่ยอมรับได้ของการดำเนินการสำหรับ
โปรแกรมคอมพิวเตอร์ แล้วพิสูจน์ว่า โปรแกรมจะไม่เกินนั้น มันเป็น
o.pti ปิ๋ว . . . . . . . . rt.a SS จึงมักใช้เฉพาะกับระดับสูงมากแผนผังใช้แทน
ของโปรแกรมการทำงาน การแปลที่ระดับสูงมา ทำงานรหัส , อย่างไรก็ตาม ,
สามารถแนะนำ ภาวะแทรกซ้อนมากมายที่พิสูจน์ไม่ได้ตอบสนอง .
A
: ปอนด์ - '1-i
" ไม่ _l v'i ' L
ผม
ผม
, , ทั้งหมดเหล่านี้ กระดาษปรู๊ฟ เกี่ยวกับระบบแฟ้มอื่น ๆที่อาจจะถูกต้อง แต่มันไม่มีไฟล์
ระบบที่เราสามารถตรวจสอบเป็นสิ่งที่พิสูจน์ คือ เกี่ยวกับ " และกล่าวว่า '
สิ่งที่แตกต่าง researchers'work MIT ที่พวกเขาพิสูจน์คุณสมบัติของไฟล์ระบบ
สุดท้ายรหัสไม่ใช่ระดับสูงสคีมา ทำ ท่า ! พวกเขาใช้ประโยชน์จากเครื่องมือที่เรียกว่าผู้ช่วยพิสูจน์
ซึ่งมีได้แน่นอนอย่างเป็นทางการเพื่ออธิบายลักษณะของระบบคอมพิวเตอร์ และความสัมพันธ์ระหว่างพวกเขา
.
" อย่างเป็นทางการพิสูจน์รวมถึงสภาพแวดล้อมการเขียนโปรแกรมภาษา " chlipala อธิบาย " ดังนั้นเรา
ใช้ไฟล์ yrt * ใน langurg เดียวกัน t' itt.tu ttele เขียนหลักฐานและข้อพิสูจน์
จะตรวจสอบกับระบบแฟ้มที่เกิดขึ้นจริง " noiro * . กระดานไวท์บอร์ดแหลกละเอียดที่ไม่มีการเชื่อมต่อกับรหัสเป็นทางการ
" ' พิสูจน์ผู้ช่วย เรียกว่าต้นทุน จัดหาเครื่องมือ แต่นักวิจัย MIT ยังต้องทำ
งาน อย่างแรกพวกเขาต้องอธิบายส่วนประกอบของระบบแฟ้มโดยใช้ต้นทุนเป็นภาษาอย่างเป็นทางการ
" คุณต้องกำหนดว่าอะไรคือดิสก์ ? " zeldovich บอกว่า '
" and'what เป็นบิต ?" chlipala เพิ่ม .
ถัดไป พวกเขาต้องเป็น อธิบาย ความสัมพันธ์ระหว่างพฤติกรรมขององค์ประกอบที่แตกต่างกัน
เหล่านี้ภายใต้เงื่อนไขความผิดพลาด แล้วจะเริ่มสร้างหลักฐานที่เป็นระบบแฟ้ม
จะประพฤติวิธีควร
-
ก็ต้องเขียนระบบแฟ้มที่สอดคล้องกัน
ส่วนหนึ่งของกระบวนการอัตโนมัติ WIS กำหนดว่าระบบคุณภาพไฟล์ได้ , ในความเป็นจริง
เป็นไปตามตรรกะความสัมพันธ์ที่อธิบายไว้ในหลักฐาน '
การแปล กรุณารอสักครู่..
