คำถามที่คุณถามนั้นแตกต่างกันมาก
อย่างไรก็ตามฉันไม่แน่ใจว่าสิ่งนี้มีผลกับโปรแกรมในโลกแห่งความเป็นจริงเช่นระบบปฏิบัติการ โปรแกรมประเภทนี้ต้องการความสมบูรณ์แบบของทัวริงอย่างสมบูรณ์หรือไม่?
ใช้เวลาน้อยมากสำหรับแบบจำลองการคำนวณที่จะทำให้ทัวริงสมบูรณ์ ตัวอย่างเช่นรุ่นต่างๆที่มีเคาน์เตอร์สามารถจำลองเครื่องทัวริงได้ หากคุณเชื่อว่าซอฟต์แวร์ของคุณต้องการตัวนับมากกว่าสองตัวที่คุณสามารถจัดการได้เองคุณกำลังใช้ภาษาทัวริงที่สมบูรณ์ แม้ว่าจำนวนเต็มของเครื่องจะ จำกัด apriori แต่โครงสร้างข้อมูลที่จัดสรรฮีปมักจะไม่ใช่ หากซอฟต์แวร์ของคุณต้องการรายการต้นไม้และข้อมูลที่จัดสรรแบบไดนามิกอื่น ๆ คุณกำลังใช้ภาษาทัวริงที่สมบูรณ์
มีรูปแบบการคำนวณที่ง่ายขึ้น (เช่น PR) ซึ่งสามารถเขียนแอปพลิเคชันเหล่านี้ได้หรือไม่? ถ้าเป็นเช่นนั้นสิ่งนี้จะช่วยให้การตัดสินใจถูกต้องของโปรแกรม?
สิ่งสำคัญคือต้องตระหนักว่าเราไม่ต้องการตรวจสอบคุณสมบัติโดยพลการของซอฟต์แวร์ของเรา การตรวจสอบคุณสมบัติที่เจาะจงและแคบมาก (ไม่มีบัฟเฟอร์มากเกินไปไม่มีข้อผิดพลาดแบบไม่มีตัวชี้ไม่มีการวนซ้ำไม่สิ้นสุด ฯลฯ ) ปรับปรุงคุณภาพและการใช้งานของซอฟต์แวร์อย่างมาก ในทางทฤษฎีแล้วปัญหาดังกล่าวก็ยังไม่สามารถตัดสินใจได้ ในทางปฏิบัติการมุ่งเน้นไปที่คุณสมบัติเฉพาะช่วยให้เราสามารถค้นพบโครงสร้างในโปรแกรมของเราที่เรามักจะใช้ประโยชน์จากการแก้ปัญหา
โดยเฉพาะอย่างยิ่งคุณสามารถแก้ไขคำถามเดิมของคุณเป็น
มีซอฟต์แวร์นามธรรมที่ฉันสามารถวิเคราะห์ได้อย่างมีประสิทธิภาพในโมเดลที่ไม่ใช่ทัวริงใช่หรือไม่
สิ่งที่เป็นนามธรรมคือรูปแบบที่รวมถึงพฤติกรรมของซอฟต์แวร์ต้นฉบับและอาจมีพฤติกรรมเพิ่มเติมมากมาย มีหลายรุ่นเช่นเครื่องจักรเคาน์เตอร์เดียวหรือระบบขยายลงที่ไม่ทัวริงสมบูรณ์และเราสามารถวิเคราะห์ได้ แนวทางมาตรฐานในการตรวจสอบโปรแกรมด้วยเครื่องมืออัตโนมัติคือการสร้างสิ่งที่เป็นนามธรรมในรูปแบบดังกล่าวและตรวจสอบอัลกอริทึม
มีแอพพลิเคชั่นที่ผู้คนใส่ใจเกี่ยวกับคุณสมบัติที่ซับซ้อนของฮาร์ดแวร์หรือซอฟต์แวร์ของพวกเขา บริษัท ฮาร์ดแวร์ต้องการให้ชิปของตนใช้อัลกอริธึมทางคณิตศาสตร์อย่างถูกต้อง บริษัท ยานยนต์และ บริษัท avionic ต้องการซอฟต์แวร์ที่ถูกต้อง ถ้ามันสำคัญขนาดนั้นคุณก็ควรใช้มนุษย์ที่ได้รับการฝึกฝนมาแล้ว