Yang is a Ph.D student in Software Engineering at University of California, Irvine, advised by Prof. James. A. Jones . His research focuses on the areas of the program comprehension, testing, debugging, program analysis, and crowdsourced software engineering. Before joining UC Irvine, he recieved his B.E and M.E. degree in software engineering at Nanjing University, China, advised by
and Prof. Baowen Xu.
Motivated by the problem that software engineers often face the challenge of mapping high-level descriptions of program behavior, such as externally visible system outputs, with low-level workings of the program instructions and their execution sequences, we create an execution trace abstraction technique. We cluster the software instructions that execute together to accomplish higher-level goals to bridge the cognitive gap between such abstract and detailed models of program behavior. We also create hierarchies of such clusters, where the details of the system's working increases as we move from higher- to lower-level instruction clusters.
For the crowdsourced software engineering, we proposed a technique of prioritizing the crowdsourced software testing report to alleviate the stress of disgnosing overwholming test reports. Our technique utilizes two key strategies: (1) a diversity strategy to help developers inspect a wide variety of test reports and to avoid duplicates and wasted effort on falsely classified faulty behavior, and (2) a risk strategy to help developers identify test reports that may be more likely to be fault-revealing based on past observations. Together, these strategies form our DivRisk strategy to prioritize test reports in crowdsourced testing.
I took the responsibility for assisting the lecture of three classes: Introduction to Software Engineering, Requirement Engineering, Information Visualization.
I mainly focused on improving the efficiency of software maintenance. My advisor and I firstly proposed multi-label software behavior learning technique to relax the unrealistic but foundational assumption of classification-based software engineering tasks. By introducing the multi-label classification algorithm and problem transformation methods, we found these technique could maintain the accuracy of test report classification technique at a relatively high level. Furthermore, we also empirically assessed the efficiency of the methods, we also evaluated the efficiency of training and prediction of each technique, and assess the applicability for each technique for different usage contexts.
Worked as the intern developer, I designed and implemented the Advertisement Management System(AMS), namely baidu jinnang(link: http://jn.baidu.com). I took the responsibility for developing the product manamgement module, and was also involved in the system design, module and API implementation, testing, and data migrantion.