School of Engineering Department of Computer Science and Engineering 117 Common Challenges in Web Applications Supervisor: SHEN Jiasi / CSE Student: CHEN Kuo / COMP Course: UROP 1100, Fall UROP 2100, Summer Web application testing is a complex and systematic process. There are issues that have raised a lot of attention but still difficult to solve, database constraints maintenance and flaky tests are two of them. They have a high occurrence rate and are misleading in many cases. Database constraints may be different in database side and application side, which will lead to invalid record added or loss of constraints in updates. Flaky tests’ reasons take a lot of time to determine. In this report, we study recent work on these two topics, summarize the main causes and raise potential solutions for the problems. We also describe the design of tools that can automatically detect these bugs and corresponding code lines. Automated Transformation of Computer Programs Supervisor: SHEN Jiasi / CSE Student: LIU Chenqi / CPEG Course: UROP 1000, Summer Program comprehension is a critical aspect of software engineering, particularly when dealing with complex systems like Android applications. Traditional static analysis of source code presents significant challenges: 1. It requires extensive expert knowledge of various libraries and platforms used in Android development (e.g., Fragments, Jetpack Compose, Activities). 2. Modern apps often utilize advanced UI frameworks, making static analysis even more complex. To address these challenges, we propose a dynamic approach to program comprehension. This method is inspired by the intuition that users can often grasp an app's functionality through direct interaction, without needing to read the source code. For example, users naturally understand app navigation by clicking buttons and observing the resulting transitions between screens. IDE Extensions Supervisor: SHEN Jiasi / CSE Student: ZHANG Puyang / COMP ZHAO Yuhua / COMP Course: UROP 1000, Summer UROP 1000, Summer This UROP project is about an IDE extension for automating test case refactoring to boost developer productivity. Using IntelliJ Plugin DevKit and PSI library, this extension automates API replacements with JSON configurations. This extension streamlines refactoring, reduces errors, and supports test-driven development, helping developers focus on new code. Future improvements aim to enhance functionality and user experience.
RkJQdWJsaXNoZXIy NDk5Njg=