Source page: http://www.cse.psu.edu/~gxt29/projects/multilingual.html
ส่วนใหญ่ระบบซอฟต์แวร์จริง พูดได้หลายภาษา; นั่นคือพวกเขาประกอบด้วยส่วนประกอบที่พัฒนาในภาษาการเขียนโปรแกรมที่แตกต่างกัน ระบบซอฟต์แวร์หลายภาษามีความสะดวกในการปฏิบัติ นักพัฒนาสามารถนำโมดูลรหัสที่มีอยู่กลับมาใช้ใหม่ได้และยังสามารถผสมผสานและจับคู่จุดเด่นของภาษาต่างๆ ตัวอย่างเช่นสมมติว่าผู้พัฒนาตั้งใจที่จะทำการบีบอัดข้อมูลใน Java แทนที่จะเขียนโค้ดทั้งหมดสำหรับการบีบอัดข้อมูลตั้งแต่เริ่มต้นเขาสามารถนำไลบรารี ZLib C ที่มีอยู่กลับมาใช้ใหม่และเขียนอินเตอร์เฟสแบบบางระหว่าง Java และ C ผ่าน Java Native Interface (JNI) ในความเป็นจริงนี่เป็นวิธีที่ JDK ของ Sun ใช้คลาสภายใต้ java.util.zip
แม้ว่าระบบซอฟต์แวร์หลายภาษาจะสะดวกสำหรับนักพัฒนาและแพร่หลายในทางปฏิบัติมันยากที่จะเขียนซอฟต์แวร์หลายภาษาที่ปลอดภัยและเชื่อถือได้ โดยทั่วไปแล้วผู้เขียนโปรแกรมจำเป็นต้องคำนึงถึงความแตกต่างระหว่างภาษาในประเด็นต่าง ๆ เช่นคุณสมบัติภาษารูปแบบข้อมูลการจัดการหน่วยความจำสมมติฐานด้านความปลอดภัย/ความปลอดภัยและอื่น ๆ อีกมากมาย ตัวอย่างเช่น Java มีการสนับสนุนในตัวสำหรับข้อยกเว้นและการจัดการข้อยกเว้นในขณะที่ C ไม่ได้ ดังนั้นเมื่อนักพัฒนาเขียนซอฟต์แวร์ที่ประกอบด้วยทั้งรหัส Java และ C รหัส C จะต้องตรวจสอบข้อยกเว้นในทุกที่ที่อาจเกิดขึ้นได้และให้รหัสเพื่อจัดการกับพวกเขา การไม่ทำเช่นนั้นอาจส่งผลให้หน่วยความจำเงียบเงียบ อย่างที่เราจินตนาการได้นี่เป็นกระบวนการที่เกิดข้อผิดพลาดได้ง่ายมาก
เพื่อแก้ไขปัญหาความปลอดภัยและความน่าเชื่อถือในซอฟต์แวร์หลายภาษาโครงการนี้มีวัตถุประสงค์เพื่อ
- ดำเนินการวิเคราะห์ระหว่างภาษากับซอฟต์แวร์หลายภาษาที่มีอยู่เพื่อระบุและกำจัดข้อบกพร่องด้านความปลอดภัยที่สำคัญและเพื่อดำเนินการเพิ่มประสิทธิภาพระหว่างภาษา
- ทำให้เป็นรูปแบบความหมายของการใช้ภาษาร่วมกัน (ในกรอบงานเช่น JNI และ .NET)
- กลไกการออกแบบที่อำนวยความสะดวกในการเขียนซอฟต์แวร์หลายภาษาที่เชื่อถือได้
สิ่งพิมพ์
- ว่า, เอสและตาลกรัม (2014b) หาข้อผิดพลาดของการอ้างอิงการนับในโปรแกรมหลาม/C ที่มีการวิเคราะห์ FFI ภาคตะวันออกเฉียงเหนือ ใน การประชุมยุโรปเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ (ECOOP) [กระดาษ]
- ว่า, เอสและตาลกรัม (2014a) การวิเคราะห์ข้อยกเว้นในการเชื่อมต่อของ Java พื้นเมือง วิทยาศาสตร์คอมพิวเตอร์ การเขียนโปรแกรม, 89, 273-297 [กระดาษ]
- ว่า, เอส, หลิว, วายและตาล กรัม (2012) JATO: atomicity รหัสพื้นเมืองสำหรับ Java ใน เอเชีย ประชุมวิชาการเกี่ยวกับการเขียนโปรแกรมภาษาและระบบ (APLAS), หน้า 2-17 [กระดาษ]
- ว่า, เอสและสีน้ำตาล, กรัม (2011) JET: ข้อยกเว้นการตรวจสอบในการเชื่อมต่อของ Java พื้นเมือง ใน ACM การประชุมเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุระบบภาษาและโปรแกรมประยุกต์ (OOPSLA), หน้า 345-358 [กระดาษ]
- ว่า, เอสและสีน้ำตาล, กรัม (2009) หาข้อบกพร่องในสถานการณ์พิเศษของโปรแกรม JNI ใน วันที่ 16 การประชุม ACM ในคอมพิวเตอร์และการสื่อสารการรักษาความปลอดภัย (CCS), หน้า 442-452 [กระดาษ]
- ตาลกรัมและนาเจ (2008) การศึกษาเชิงประจักษ์การรักษาความปลอดภัยของรหัสพื้นเมืองใน JDK ใน วันที่ 17 Usenix การรักษาความปลอดภัย การประชุมวิชาการ, หน้า 365-377 [กระดาษ] [สไลด์] [รายงานเทคโนโลยี]
- ตาลกรัมและ จรวดแม่ กรัม (2007) ILEA วิเคราะห์ Inter-ภาษาทั่ว Java และ C ใน ACM การประชุมเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุระบบภาษาและโปรแกรมประยุกต์ (OOPSLA), หน้า 39-56 [กระดาษ] [สไลด์]
- ตาลกรัม โทรศัพท์, ใด, ชะอำกราด, เอส อากูนาธานอาร์, ใด, ราวีเอสและวัง, D. (2006b) ปลอดภัย Java อินเตอร์เฟสพื้นเมือง ใน IEEE ระหว่างการประชุมวิชาการเกี่ยวกับการรักษาความปลอดภัยวิศวกรรมซอฟต์แวร์, หน้า 97-106 [กระดาษ] [สไลด์]
ผู้เข้าร่วม
- กังตาน
- ศรีสองฉัน
- เจสันที่ดินฝืนเล็ก
อัพเดทล่าสุด: กรกฎาคม 2011