Email: zfc-at-andrew-dot-cmu-dot-edu
Position: Ph.D. Student
School: Carnegie Mellon University
Advisor: Claire Le Goues
In today's society, inovation, particularly software innovation, is a major driver of the U.S. economy. It is estimated over 50% of software development resources are spent on maintiaining software systems. My goal is to reduce the cost of developing and maintaining software. I research debugging problems from both the view of a framework user and an integrated development environment (IDE) developer. In the past, I have worked on projects which involved security, static analysis, self-adaptive system planning, and empirical software investigations.
Researched software engineering problems with a focus on debugging frameworks and IDEs. In the process, I learned how to create, propose, and conduct novel research projects. I have also learned how to evaluate other research contributions, look towards the future needs of the software community, and present research findings in a precise manner.
Investigated how to assist developers with the exception triage process. In the process, I applied data sceince techniques to a large corpus, learned how to use statistical techniques to analyze my findings, and built an advanced web survey with Bootstrap and Javascript. This project also helped me gain a better understanding of the research problems that interest industrial companies. The survey can be found here (it takes a while to load the first time).
Investigated the security of multiple open source projects to determine how they used the Java sandbox. My collaborators and I then created a tool that could reinforce the Java sandbox without preventing applications from doing their necessary techniques. In the proecess, I learned static analysis, dynamic analysis techniques, and how to work with Java bytecode.
Developed a refactoring technique to add security to applications with integer overflow bugs. During the project, I learned Bash scripting, Eclipse plugin development, and how to use bug trackers.
Supported projects involving missle navigation. In the process I learned the basics of computer vision, graphic user interface design, bit processing, file type conversions, and sensor calibrations, along with software and hardware testing.