คำถามติดแท็ก program-analysis

3
การดำเนินการทางสัญลักษณ์เป็นกรณีของการตีความนามธรรม?
สิ่งนี้ถูกเขียนในรายการ wiki ของSymbolic Executionแต่ฉันไม่พบการอ้างอิงใด ๆ ทุกคนสามารถแสดงตัวชี้ให้ฉันได้หรือไม่ ขอขอบคุณ.

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

1
วรรณคดีเรื่องการวิเคราะห์นามแฝง
ฉันเขียนวิทยานิพนธ์ปริญญาโทของฉันใน CS และฉันทำงานกับการวิเคราะห์นามแฝง สิ่งที่ฉันสนใจคือการวิเคราะห์ที่ละเอียดอ่อนที่จำเป็นต้องมี ฉันกำลังค้นหาข้อความที่อธิบายพื้นฐานของเรื่องนี้อย่างละเอียด แต่ไม่สามารถระบุสิ่งที่เหมาะสมได้ ฉันรอดชีวิตจากหนังสือตำราจำนวนหนึ่งเกี่ยวกับคอมไพเลอร์และการวิเคราะห์แบบคงที่ แต่ไม่พบสิ่งใดที่นั่น ฉันพบเอกสารจำนวนมากที่ใช้การวิเคราะห์นามแฝง แต่ส่วนใหญ่เน้นไปที่ปัญหาที่ใช้การวิเคราะห์นามแฝงและไม่ได้อธิบายขั้นตอนวิธีการวิเคราะห์นามแฝงโดยละเอียด บางคนมุ่งเน้นที่ C ซึ่งไม่เหมาะสมเนื่องจากความซับซ้อนที่เพิ่มขึ้นของตัวชี้ทั่วไป ข้อความที่ดีที่สุดที่ฉันได้ค้นพบคือCompositional Pointer and Escape Analysis สำหรับโปรแกรม Javaโดย Whaley and Rinard มันเป็นกระดาษที่ยอดเยี่ยมและเป็นจุดเริ่มต้นที่ดี แต่มันไม่ได้กล่าวถึงการวิเคราะห์นามแฝงโดยเฉพาะ ปัญหาดูเหมือนทั่วไปดังนั้นฉันคาดหวังว่าจะมีอัลกอริทึมที่ยอมรับได้เพื่อแก้ปัญหา ไม่มีใครมีตัวชี้ไปยังข้อความในเรื่องนี้หรือไม่?

2
เป้าหมายของการตีความเชิงนามธรรมในภาษาการเขียนโปรแกรมคืออะไร
ตอนนี้ฉันกำลังพยายามที่จะเข้าใจดีขึ้นว่า "การตีความเชิงนามธรรม" ในภาษาโปรแกรมคืออะไร ฉันพบบทหนังสือที่ดีที่อธิบายแนวคิดในการขยายโดเมนด้วยองค์ประกอบที่มีค่าคงที่น้อยที่สุด axioms ทั้งสี่ที่ให้จุดคงที่สำหรับฟังก์ชั่นต่อเนื่องและอื่น ๆ ฉันเข้าใจรายละเอียดทางเทคนิคเหล่านี้ (แม้ว่าฉันไม่แน่ใจว่า "การตีความเชิงนามธรรม" หมายถึงอะไรในรูปแบบทั้งหมดนี้) สิ่งที่ฉันไม่แน่ใจเกี่ยวกับสิ่งที่เป็นแรงบันดาลใจการใช้การตีความที่เป็นนามธรรม? มันเป็นเพียงการระบุจุดคงที่สำหรับฟังก์ชั่นที่คำนวณได้หรือไม่? แรงจูงใจหลักมาจากการเรียกซ้ำในภาษาโปรแกรมส่วนใหญ่หรือไม่? ก็จะดีใจที่ได้รับภาพรวมระดับสูงซึ่งจะไปทางเทคนิคลึกพอสำหรับคนที่มีปริญญาวิทยาศาสตร์คอมพิวเตอร์ ฉันพบหน้าวิกิพีเดียค่อนข้างไม่มั่นคง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.