School of Engineering Department of Computer Science and Engineering 132 Development on New Compiler for the ARTIQ System for Quantum Information Experiments (COMP) Supervisor: Lionel PARREAUX / CSE Student: WU Yiu Tsz / COMP Course: UROP 1000, Summer This UROP project contributed to the development of NAC3, a compiler for Python programs written for ARTIQ (Advanced Real-time Infrastructure for Quantum Physics) systems. All objects are allocated on the stack as of the current implementation of NAC3, imposing limitations on the return values of functions. In particular, objects allocated in a function cannot be returned, as they do not persist after the allocating function returns. The addition of dynamic memory allocation involving a heap would relax the limitations, as objects could be allocated on the heap instead when deemed necessary for persistence. This report describes the work that has been done to introduce dynamic memory allocation for Python programs to NAC3 and ARTIQ. Programming Language Design and Implementation Supervisor: Lionel PARREAUX / CSE Student: LI Yu Hong Harry / COMP Course: UROP 1100, Fall UROP 2100, Spring UROP 3100, Summer This report presents an approach to implementing, and a formalization of type class resolution in the MLscript programming language without relying on traditional type checking and type inference. We introduce a minimal module system that constrains the usage of call-site features to specific contexts where sufficient type information is available at compile time. By restricting type class instances and their usage to specific expressions, we achieve similar expressiveness as traditional type class systems while maintaining compile-time decidability. We also formalized the type class resolution algorithm based on a constraintsolving approach, which eases the implementation of type class resolution in the actual MLscript compiler. Automated Transformation of Computer Programs Supervisor: SHEN Jiasi / CSE Student: CHEN Kuo / COMP Course: UROP 3100, Fall Generative AI has been widely used in various areas, including SQL programming in databases. The uncertainty in AI generated contents forces software engineers to manually check before adopting AI’s recommendations. In this research, we introduced a new tool that integrates generative AI with multiple verifications to automate the writing of more efficient SQL queries while maintaining their accuracy and availability. Using the structure of the database and the raw code as input, our tool can return a more efficient set of SQL queries and their respective time consuming. The tool will support query optimization in large-scale database systems as well as automated validation and transformation of programs across data frames.
RkJQdWJsaXNoZXIy NDk5Njg=