On learning about TLA+, engineersusually ask, “How do we know that the การแปล - On learning about TLA+, engineersusually ask, “How do we know that the ไทย วิธีการพูด

On learning about TLA+, engineersus

On learning about TLA+, engineers
usually ask, “How do we know that the
executable code correctly implements
the verified design?” The answer is
we do not know. Despite this, formal
methods still help in multiple ways:
Get design right. Formal methods
help engineers get the design right,
which is a necessary first step toward
getting the code right. If the design is
broken, then the code is almost certainly broken, as mistakes during coding are extremely unlikely to compensate for mistakes in design. Worse,
engineers are likely to be deceived into
believing the code is “correct” because
it appears to correctly implement the
(broken) design. Engineers are unlikely to realize the design is incorrect
while focused on coding;
Gain better understanding. Formal
methods help engineers gain a better
understanding of the design. Improved
understanding can only increase the
chances they will get the code right;
and
Write better code. Formal methods
can help engineers write better “self-
diagnosing code” in the form of assertions. Independent evidence 10 and our
own experience suggest pervasive use
of assertions is a good way to reduce
errors in code. An assertion checks a
small, local part of an overall system
invariant. A good system invariant
captures the fundamental reason the
system works; the system will not do
anything wrong that could violate a
safety property as long as it continuously maintains the system invariant.
The challenge is to find a good system
invariant, one strong enough to en-
sure no safety properties are violated.
Formal methods help engineers find
strong invariants, so formal methods
can help improve assertions that help
improve the quality of code.
While we would like to verify that
executable code correctly implements the high-level specification or
even generate the code from the specification, we are not aware of any such
tools that can handle distributed systems as large and complex as those
being built at Amazon. We do routinely use conventional static analysis tools, but they are largely limited
to finding “local” issues in the code,
and are unable to verify compliance
with a high-level specification.
We have seen research on using the
TLC model checker to find “edge cases” in the design on which to test the
code, 21 an approach that seems promising. However, Tasiran et al. 21 covered
hardware design, and we have not yet
tried to apply the method to software.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
On learning about TLA+, engineersusually ask, “How do we know that theexecutable code correctly implementsthe verified design?” The answer iswe do not know. Despite this, formalmethods still help in multiple ways:Get design right. Formal methodshelp engineers get the design right,which is a necessary first step towardgetting the code right. If the design isbroken, then the code is almost certainly broken, as mistakes during coding are extremely unlikely to compensate for mistakes in design. Worse,engineers are likely to be deceived intobelieving the code is “correct” becauseit appears to correctly implement the(broken) design. Engineers are unlikely to realize the design is incorrectwhile focused on coding;Gain better understanding. Formalmethods help engineers gain a betterunderstanding of the design. Improvedunderstanding can only increase thechances they will get the code right;andWrite better code. Formal methodscan help engineers write better “self-diagnosing code” in the form of assertions. Independent evidence 10 and ourown experience suggest pervasive useof assertions is a good way to reduceerrors in code. An assertion checks asmall, local part of an overall systeminvariant. A good system invariantcaptures the fundamental reason thesystem works; the system will not doanything wrong that could violate asafety property as long as it continuously maintains the system invariant.The challenge is to find a good systeminvariant, one strong enough to en-sure no safety properties are violated.Formal methods help engineers findstrong invariants, so formal methodscan help improve assertions that helpimprove the quality of code.While we would like to verify thatexecutable code correctly implements the high-level specification oreven generate the code from the specification, we are not aware of any suchtools that can handle distributed systems as large and complex as thosebeing built at Amazon. We do routinely use conventional static analysis tools, but they are largely limitedto finding “local” issues in the code,and are unable to verify compliancewith a high-level specification.We have seen research on using theTLC model checker to find “edge cases” in the design on which to test thecode, 21 an approach that seems promising. However, Tasiran et al. 21 coveredhardware design, and we have not yettried to apply the method to software.
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
ในการเรียนรู้เกี่ยวกับ TLA +
วิศวกรมักจะถามว่า
"เรารู้ว่าวิธีรหัสปฏิบัติการได้อย่างถูกต้องดำเนินการออกแบบการตรวจสอบแล้ว?" คำตอบคือเราไม่ทราบว่า อย่างไรก็ตามเรื่องนี้อย่างเป็นทางการวิธีการยังช่วยในหลายวิธี: ได้รับการออกแบบที่เหมาะสม วิธีการทางการช่วยให้วิศวกรได้รับสิทธิในการออกแบบซึ่งเป็นขั้นตอนแรกที่จำเป็นต่อการได้รับสิทธิในรหัส หากการออกแบบเป็นเสียแล้วรหัสเสียเกือบจะแน่นอนเป็นความผิดพลาดในระหว่างการเขียนโปรแกรมที่ไม่น่าเป็นอย่างยิ่งที่จะชดเชยความผิดพลาดในการออกแบบ ที่เลวร้ายยิ่งวิศวกรมีแนวโน้มที่จะหลอกให้เชื่อว่ารหัสนั้น"ถูกต้อง" เพราะมันดูเหมือนจะดำเนินการอย่างถูกต้อง(หัก) การออกแบบ วิศวกรไม่น่าจะตระหนักถึงการออกแบบที่ไม่ถูกต้องในขณะที่มุ่งเน้นไปที่การเข้ารหัส; ได้รับความเข้าใจที่ดี อย่างเป็นทางการวิธีการช่วยให้วิศวกรได้รับที่ดีกว่าความเข้าใจของการออกแบบ ปรับปรุงความเข้าใจเท่านั้นที่สามารถเพิ่มโอกาสที่พวกเขาจะได้รับสิทธิในรหัส; และเขียนโค้ดที่ดีกว่า วิธีการทางการสามารถช่วยวิศวกรเขียนได้ดี"ตนเองวินิจฉัยรหัส" ในรูปแบบของการยืนยัน หลักฐานอิสระ 10 ของเราและประสบการณ์ของตัวเองแนะนำการใช้งานที่แพร่หลายของการยืนยันเป็นวิธีที่ดีในการลดข้อผิดพลาดในรหัส ยืนยันจะตรวจสอบขนาดเล็กเป็นส่วนหนึ่งของท้องถิ่นระบบโดยรวมคงที่ ระบบที่ดีคงจับเหตุผลพื้นฐานระบบการทำงาน; ระบบจะไม่ทำอะไรผิดปกติที่อาจละเมิดทรัพย์สินความปลอดภัยตราบใดที่มันอย่างต่อเนื่องยังคงคงที่ระบบ. ความท้าทายคือการหาระบบที่ดีคงที่หนึ่งแข็งแรงพอที่จะฉนวแน่ใจว่าไม่มีคุณสมบัติด้านความปลอดภัยมีการละเมิด. วิธีการอย่างเป็นทางการช่วยให้วิศวกร พบว่าค่าคงที่แข็งแกร่งดังนั้นวิธีการทางการสามารถช่วยปรับปรุงการยืนยันที่จะช่วยปรับปรุงคุณภาพของรหัส. ในขณะที่เราต้องการที่จะตรวจสอบว่ารหัสปฏิบัติการได้อย่างถูกต้องใช้สเปคระดับสูงหรือแม้กระทั่งการสร้างรหัสจากสเปคที่เราไม่ได้ตระหนักถึงใดๆ เช่นเครื่องมือที่สามารถจัดการระบบการกระจายที่มีขนาดใหญ่และซับซ้อนเป็นผู้ที่ถูกสร้างขึ้นที่อเมซอน เรามักจะใช้เครื่องมือในการวิเคราะห์แบบเดิมคงที่ แต่พวกเขาส่วนใหญ่จะ จำกัดการหาประเด็นที่ "ท้องถิ่น" ในรหัสและไม่สามารถที่จะตรวจสอบการปฏิบัติที่มีสเปคสูงระดับ. เราได้เห็นการวิจัยเกี่ยวกับการใช้การตรวจสอบรูปแบบการเอาใจใส่ที่จะหา " กรณีขอบ "ในการออกแบบที่จะทดสอบรหัส21 วิธีการที่ดูเหมือนว่ามีแนวโน้ม อย่างไรก็ตาม Tasiran et al, 21 ที่ครอบคลุมการออกแบบฮาร์ดแวร์และเรายังไม่ได้พยายามที่จะใช้วิธีการที่จะซอฟแวร์



















































การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
เรียนรู้เกี่ยวกับ TLA วิศวกร
มักจะถามว่า " เราจะรู้ได้อย่างไรว่า

ยืนยันรหัสที่ถูกต้องใช้ออกแบบ " คำตอบคือ
เราไม่รู้ แม้นี้ วิธีเป็นทางการ
ยังช่วยในหลายวิธี :
ได้รับการออกแบบที่เหมาะสม อย่างเป็นทางการวิธีการ
ช่วยวิศวกรได้ออกแบบ
ซึ่งเป็นเรื่องจำเป็น ก้าวแรก
รับรหัสที่ถูกต้อง ถ้าออกแบบ
แตกแล้วรหัสจะเกือบแน่นอนเสียเป็นข้อผิดพลาดในการเข้ารหัสจะยากมากที่จะชดเชยความผิดพลาดในการออกแบบ เลวร้าย
วิศวกรมีแนวโน้มที่จะหลอกให้เชื่อว่าเป็นรหัสที่ถูกต้อง "

" เพราะมันจะปรากฏขึ้นอย่างถูกต้องใช้
( เสีย ) การออกแบบ วิศวกรมีแนวโน้มที่จะตระหนักถึงการออกแบบไม่ถูกต้อง
ในขณะที่มุ่งเน้นการเข้ารหัส ;
ได้รับความเข้าใจที่ดีขึ้น อย่างเป็นทางการ
วิธีการช่วยให้วิศวกรเพิ่มความเข้าใจ
ของการออกแบบ ปรับปรุง

เข้าใจเท่านั้นที่สามารถเพิ่มโอกาสที่พวกเขาจะได้รหัสและขวา ;

เขียนโค้ดที่ดีกว่า อย่างเป็นทางการวิธีการ
สามารถช่วยวิศวกรเขียนดีกว่า " ตัวเอง -
การวินิจฉัยรหัส " ในรูปแบบของ assertions . หลักฐานที่เป็นอิสระและประสบการณ์ของเรา 10

ใช้เองแนะนำให้แพร่หลายของ assertions เป็นวิธีที่ดีเพื่อลด
ข้อผิดพลาดในรหัสมีการตรวจสอบ
ขนาดเล็กส่วนท้องถิ่นของค่าคงที่ระบบ
โดยรวม ระบบที่ดีไม่เปลี่ยนแปลง

จับเหตุผลพื้นฐานระบบการทำงาน ; ระบบจะไม่ทำ
อะไรที่อาจฝ่าฝืน
ความปลอดภัยคุณสมบัติตราบใดที่มันอย่างต่อเนื่องยังคงไม่เปลี่ยนแปลงระบบ .
เป็นความท้าทายที่จะหาค่าคงที่ระบบ
ดีหนึ่งแข็งแรงพอที่จะ en -
ว่าไม่มีคุณสมบัติจะละเมิดความปลอดภัย .
วิธีการทางการช่วยวิศวกรหา
ผลยืนยงแข็งแรงดังนั้นวิธีการอย่างเป็นทางการ

สามารถช่วยปรับปรุง assertions ที่ช่วยปรับปรุงคุณภาพของรหัส .
ในขณะที่เราต้องการตรวจสอบว่าโค้ดที่ปฏิบัติการได้อย่างถูกต้องใช้สเปค

แม้แต่ระดับสูงหรือสร้างรหัสจากข้อมูลที่เราไม่ได้ตระหนักถึงเครื่องมือใด ๆ เช่น
ที่สามารถจัดการ ระบบกระจายขนาดใหญ่และซับซ้อนเช่นเดียวกับ
ถูกสร้างขึ้นใน Amazon เราทำประจำใช้เครื่องมือการวิเคราะห์แบบคงที่ แต่พวกเขาส่วนใหญ่จะ จำกัด การค้นหา
" ปัญหาภายใน " ในรหัส

และไม่สามารถตรวจสอบความสอดคล้องกับข้อกำหนดพื้นฐาน
เราได้เห็นวิจัยโดยใช้แบบตรวจสอบเพื่อค้นหา "
( ขอบกรณี " ในการออกแบบที่จะทดสอบ
รหัส 21 วิธีที่ดูสดใส อย่างไรก็ตาม tasiran et al .21 ปกคลุม
การออกแบบฮาร์ดแวร์ และเราก็ยังพยายามใช้วิธี

เพื่อซอฟต์แวร์
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: