Page 144 - 《软件学报》2025年第8期
P. 144

于涛 等: 基于下推自动机的同步数据流语言可信编译                                                       3567


                    本文实现的基于下推自动机的编译方法在理论上有良好的可扩展性和语言无关性, 未来可以在编译器扩展性
                 上进行进一步的研究和实践, 或将该方法扩展应用到其他语言的编译当中.

                 References:
                  [1]  Benveniste A, Caspi P, Edwards SA, Halbwachs N, Le Guernic P, De Simone R. The synchronous languages 12 years later. Proc. of the
                     IEEE, 2003, 91(1): 64–83. [doi: 10.1109/JPROC.2002.805826]
                  [2]  Caspi  P,  Pilaud  D,  Halbwachs  N,  Plaice  JA.  Lustre:  A  declarative  language  for  real-time  programming.  In:  Proc.  of  the  14th  ACM
                     SIGACT-SIGPLAN Symp. on Principles of Programming Languages. Munich: ACM, 1987. 178–188. [doi: 10.1145/41625.41641]
                  [3]  Halbwachs N, Caspi P, Raymond P, Pilaud D. The synchronous data flow programming language Lustre. Proc. of the IEEE, 1991, 79(9):
                     1305–1320. [doi: 10.1109/5.97300]
                  [4]  Berry  G,  Gonthier  G.  The  Esterel  synchronous  programming  language:  Design,  semantics,  implementation.  Science  of  Computer
                     Programming, 1992, 19(2): 87–152. [doi: 10.1016/0167-6423(92)90005-V]
                  [5]  Berry G. The foundations of Esterel. In: Proof, Language, and Interaction: Essays in Honour of Robin Milner. Cambridge: The MIT
                     Press, 2000. 425–454.
                  [6]  Le Guernic P, Gautier T, Le Borgne M, Le Maire C. Programming real-time applications with SIGNAL. Proc. of the IEEE, 1991, 79(9):
                     1321–1336. [doi: 10.1109/5.97301]
                  [7]  Le Guernic P, Talpin JP, Le Lann JC. Polychrony for system design. Journal of Circuits, Systems and Computers, 2003, 12(3): 261–303.
                     [doi: 10.1142/S0218126603000763]
                  [8]  Lustre V6 home. http://www-verimag.imag.fr/Lustre-V6.html?lang=en
                  [9]  McCarthy J, Painter J. Correctness of a compiler for arithmetic expressions. In: Mathematical Aspects of Computer Science 19: Proc of
                     Symposia in Applied Mathematics. American Mathematical Society, 1967. 33−41.
                 [10]  Leroy  X.  Formal  verification  of  a  realistic  compiler.  Communications  of  the  ACM,  2009,  52(7):  107–115.  [doi:  10.1145/1538788.
                     1538814]
                 [11]  CompCert. http://compcert.inria.fr/
                 [12]  Yang XJ, Chen Y, Eide E, Regehr J. Finding and understanding bugs in C compilers. In: Proc. of the 32nd ACM SIGPLAN Conf. on
                     Programming Language Design and Implementation. San Jose: ACM, 2011. 283–294. [doi: 10.1145/1993498.1993532]
                 [13]  Paulin C, Pouzet M. Certified compilation of SCADE/Lustre. 2006. https://www.lri.fr/~paulin/lustreincoq.pdf
                 [14]  Bourke T, Brun L, Dagand PÉ, Leroy X, Pouzet M, Rieg L. A formally verified compiler for Lustre. ACM SIGPLAN Notices, 2017,
                     52(6): 586–601. [doi: 10.1145/3140587.3062358]
                 [15]  Shang S, Gan YK, Shi G, Wang SY, Dong Y. Key translations of the trustworthy compiler L2C and its design and implementation. Ruan
                     Jian Xue Bao/Journal of Software, 2017, 28(5): 1233–1246 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5213.
                     htm [doi: 10.13328/j.cnki.jos.005213]
                 [16]  Pnueli A, Siegel M, Singerman E. Translation validation. In: Proc. of the 4th Int’l Conf. on Tools and Algorithms for the Construction
                     and Analysis of Systems. Lisbon: Springer, 1998. 151–166. [doi: 10.1007/BFb0054170]
                 [17]  Pnueli A, Shtrichman O, Siegel M. Translation validation for synchronous languages. In: Proc. of the 25th Int’l Colloquium. Aalborg:
                     Springer, 1998. 235–246. [doi: 10.1007/BFb0055057]
                 [18]  van Ngo C, Talpin JP, Gautier T, Le Guernic P, Besnard L. Formal verification of compiler transformations on polychromous equations.
                     In: Latella D, Treharne H, eds. Proc. of the 2012 Int’l Conf. on Integrated Formal Methods, 2012. 113–127.
                 [19]  van Ngo C, Talpin JP, Gautier T, Le Guernic P. Translation validation for clock transformations in a synchronous compiler. In: Proc. of
                     the 18th Int’l Conf. on Fundamental Approaches to Software Engineering, 2015. 171–185. [doi: 10.1007/978-3-662-46675-9_12]

                 附中文参考文献:
                 [15]  尚书, 甘元科, 石刚, 王生原, 董渊. 可信编译器 L2C 的核心翻译步骤及其设计与实现. 软件学报, 2017, 28(5): 1233–1246. [doi:
                     10.13328/j.cnki.jos.005213]


                 附录  A. 形式化验证过程中所使用的符号集

                    在本文形式化验证过程中所使用的公理系统其符号集如表                     A1  所示.
   139   140   141   142   143   144   145   146   147   148   149