คำถามติดแท็ก se.software-engineering

2
อัลกอริทึมสามารถทำนายความซับซ้อนของเวลาในระดับใดที่โปรแกรมอินพุตโดยพลการ
ลังเลปัญหากล่าวว่ามันเป็นไปไม่ได้ที่จะเขียนโปรแกรมที่สามารถตรวจสอบว่าหยุดโปรแกรมอื่นสำหรับโปรแกรมการป้อนข้อมูลเป็นไปได้ทั้งหมด อย่างไรก็ตามฉันสามารถเขียนโปรแกรมที่สามารถคำนวณเวลาทำงานของโปรแกรมที่ชอบได้อย่างแน่นอน for(i=0; i<N; i++) { x = 1; } และคืนค่าความซับซ้อนของเวลาเป็นโดยไม่ต้องเรียกใช้NNN สำหรับโปรแกรมอินพุตอื่น ๆ ทั้งหมดมันจะคืนค่าสถานะที่ระบุว่าไม่สามารถระบุเวลาที่ซับซ้อนได้ คำถามของฉันคือ: ต้องมีเงื่อนไขอะไรเช่นนี้เราสามารถกำหนดขั้นตอนวิธีความซับซ้อนของเวลาของโปรแกรมที่กำหนดได้ * หากมีการอ้างอิงที่เป็นที่ยอมรับหรือตรวจสอบบทความนี้ฉันจะขอบคุณลิงค์ไปในความคิดเห็น

9
จะสร้าง Mission Critical Software ได้อย่างไร
ฉันเรียนรู้วิธีการอย่างเป็นทางการด้วยตนเอง ฉันได้ยินมาว่ามีการใช้วิธีการอย่างเป็นทางการ (และมักใช้เท่านั้น) เพื่อสร้างซอฟต์แวร์ที่มีความสำคัญต่อภารกิจ (เช่นตัวควบคุมเครื่องปฏิกรณ์นิวเคลียร์ตัวควบคุมการบินของอากาศยานตัวควบคุมโพรบอวกาศ) นั่นเป็นเหตุผลที่ฉันสนใจที่จะเรียนรู้: p อย่างไรก็ตามหลังจากเรียนรู้วิธีการที่เป็นทางการ (โดยเฉพาะอย่างยิ่ง LTL, CTL และพี่น้องของพวกเขา) ฉันรู้สึกว่าพวกเขาสามารถใช้เพื่อตรวจสอบความถูกต้องของสเปคเท่านั้น (ความปลอดภัย, ความมีชีวิตชีวา, ความเป็นธรรม ฯลฯ ) แต่วิธีการตรวจสอบว่าซอฟต์แวร์ (ไม่เพียง แต่สเปค) ถูกต้องแน่นอน? ข้อจำกัดความรับผิดชอบ: ฉันเป็นคนงี่เง่า 90% เมื่อพูดถึงวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี ดังนั้นโปรดเมตตาในขณะตอบรับ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.