您現在的位置: 首頁 » 學院新聞 » 新聞動态 » 正文

學院新聞

新聞動态

beat365助力倉颉編程語言發展

攜手華為深耕國産基礎軟件研究

2024年6月21日,在華為開發者大會(HDC)上,華為發布了一款全新的編程語言—倉颉。倉颉編程語言是一款面向全場景智能的新一代編程語言,主打原生智能化、天生全場景、高性能、強安全。

早在2019年,由beat365官方网站院長胡振江教授帶領的beat365程序語言研究室就已經與華為倉颉團隊圍繞倉颉語言的開發環境與工具課題展開長期合作,旨在推進中國自主研發的編程技術發展,提升國内軟件開發的自主性和創新能力。

程序語言實驗室教師團隊

參與華為組織的倉颉培訓的部分師生

其一是基于倉颉的領域特定語言的敏捷開發平台。随着泛在計算時代的到來,多領域、多硬件計算及其互操作正成為主流,而程序員的身份也越發多樣化,随之興起的技術是領域特定語言及其之間的互操作,而倉颉也有着強大的領域特定語言定義功能。而其中一大挑戰是如何針對數目衆多的領域特定語言定制開發環境、支持互操作,傳統方法靠人工定制成本過高。而該合作計劃利用雙向變化技術,從宿主語言倉颉的開發環境出發,自動為領域特定語言生成開發環境,并從倉颉語義和領域特定語言語義的關系出發,自動支持多語言互操作。

其二是針對倉颉的邏輯和概率結合的程序分析框架。程序分析是語言編譯器、開發環境的重要組成部分,倉颉也不例外。而傳統程序分析有着誤報多、不靈活、不智能的缺點。該合作拟将概率加入程序分析中,在保留傳統程序分析高可靠、可解釋、易表達的優點同時,将程序分析轉化為貝葉斯學系統,是的其能自動綜合用戶反饋、測試等信息,智能、靈活、自動的調整結果,以達到高精度。

其三是針對倉颉的資源最壞時間複雜度分析。傳統程序分析主要關注定性分析(如内存安全),而忽略了時間複雜度等定量分析。而近年來軟件的時間消耗問題正引起人們的廣泛關注,相關問題有軟件性能瓶頸、由算法複雜度漏洞引起的拒絕服務攻擊、側信道信息洩漏等。為了解決這些問題,該合作将共同研發針對倉颉程序的最壞時間複雜度分析,通過符号執行、靜态分析、模糊測試等技術,自動發現倉颉程序時間複雜度最高的執行路徑,以識别相關問題。

目前,部分成果已有論文發表于程序語言領域國際頂級會議OOPSLA上[1,2]。未來,雙方将繼續基于各自優勢,繼續圍繞倉颉編程語言、工具、生态等領域展開更深入更全面的合作,為全棧自主可控的基礎軟件産業鍊不斷貢獻力量。

 

[1]X. Zhang, G. Guo, X. He, and Z. Hu, "Bidirectional Object-Oriented Programming: Towards Programmatic and Direct Manipulation of Objects," Proceedings of the ACM on Programming Languages, vol. 7, no. OOPSLA1, pp. 230-255, 2023.

[2]  Y. Zhang, Y. Shi, and X. Zhang, "Learning Abstraction Selection for Bayesian Program Analysis," Proceedings of the ACM on Programming Languages, vol. 8, no. OOPSLA1, pp. 954-982, 2024.



擴展閱讀:針對倉颉語言的貝葉斯程序分析平台