Jinlin Yang

jinlin at gmail dot com

Thanks for visiting my homepage! I was a PhD student in the Department of Computer Science at the University of Virginia. I worked with Professor David Evans on the Inexpensive Program Analysis Project. For my PhD thesis, I developed techniques for automatically inferring temporal properties from program's execution traces. I have implemented my technique into a prototype tool called Perracotta. Please refer to my PASTE 2004 paper for details of my approach, my ISSRE 2004 paper for an evaluation of my approach on OpenSSL. As an intern at Microsoft during summer 2005, I applied Perracotta to infer temporal rules for Windows kernel APIs. Perracotta successfully inferred dozens of interesting temporal properties (e.g., locking disciplines or resource allocation/deletion). I used the ESP verifier to check the inferred properties and found many previously unknown bugs in Windows. In addition to Windows, I also used Perracotta to infer a 24-state finite-state-machine for the transaction management module of the JBoss application server. These results will be published in our ICSE 2006 paper.

I received my Master in Computer Science degree from the University of Virginia in January 2004. I evaluated Bounded Exhaustive Testing, one test selection criterion, in my Master project. In particular, I applied TestEra/Alloy to testing Galileo, a dynamic fault tree modeling and analysis tool. This is by far the largest scale and most comprehensive evaluation of BET. This work has been published in ISSTA 2004. An extended version of this paper has been published in the April 2005 issue of the IEEE Transactions on Software Engineering.

In July 2001, I received my Bachelor of Engineering degree in Computer Science and Technology from the Tsinghua University, Beijing, P. R. China.

Publications

Back to top

  • Jinlin Yang, David Evans, Deepali Bhardwaj, Thirumalesh Bhat, and Manuvir Das. Perracotta: Mining Temporal API Rules from Imperfect Traces. To appear in the 28th International Conference on Software Engineering (ICSE 2006). May 20-28, 2006, Shanghai, China. (Acceptance rate: 9%, 36/395) [PDF]

  • Jinlin Yang. Automatically Inferring Temporal Properties. The Doctoral Symposium, 27th International Conference on Software Engineering (ICSE 2005). May 15-21, 2005, Saint Louis, Missouri, USA. (Acceptance rate: 41%, 21/51) [PDF]

  • Jinlin Yang and David Evans. Automatically Discovering Temporal Properties for Program Verification. Technical Report, Department of Computer Science, University of Virginia, 2005. [PDF]

  • David Coppit, Jinlin Yang, Sarfraz Khurshid, Wei Le, and Kevin Sullivan. Software Assurance by Bounded Exhaustive Testing. IEEE Transactions on Software Engineering. Volume 31, Issue 4, April 2005. Page(s):328-339. (This is an extended version of our ISSTA 2004 paper, which was selected as one of the five best papers in ISSTA 2004.) [PDF]

  • Jinlin Yang and David Evans. Automatically Inferring Temporal Properties for Program Evolution. Fifteenth IEEE International Symposium on Software Reliability Engineering (ISSRE 2004). November 2-5, 2004, Saint-Malo, France. (Acceptance rate: 32%, 39/120) [PDF, PS]

  • Kevin Sullivan, Jinlin Yang, David Coppit, Sarfraz Khurshid, and Daniel Jackson. Software Assurance by Bounded Exhaustive Testing. International Symposium on Software Testing and Analysis (ISSTA 2004). July 11-14, 2004, Boston, USA. (Acceptance rate: 27%, 26/93) (Selected as one of the five best papers) [PDF, PS]

  • Jinlin Yang and David Evans. Dynamically Inferring Temporal Properties. In proceedings of ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2004). June 7-8, 2004, Washington DC, USA. (Acceptance rate: 27%, 10/36) [PDF, PS, PPT]

Presentations

Back to top

  • Perracotta: Mining Temporal API Rules from Imperfect Traces. Invited talk at the New Jersey Programming Language Seminar. University of Maryland at College Park. November 18, 2005. (Host: Dr. Michael Hicks and Dr. Jeff Foster)

  • Perracotta: Mining Temporal API Rules from Imperfect Traces. Invited talk at the CS851: Dependability System Seminar. Department of Computer Science, University of Virginia. September 28, 2005. (Host: Dr. Elisabeth Strunk)

  • Mining Windows Kernel API Rules. A special presentation about my summer intern project for Amitabh Srivastava, a Corporate Vice President of the Windows Core Operating System Development and a Microsoft Distinguished Engineer. Microsoft, Redmond, WA. August 2005.

  • Mining Windows Kernel API Rules. This is my end of internship talk. Microsoft Research, Redmond, WA. August 10, 2005. (Host: Dr. Jim Larus)

  • Automatically Inferring Temporal Properties for Windows Kernel. Invited talk for the Windows Core Developers Talk, a series of talks given to the Windows developers on every Friday. Microsoft Corporation, Redmond, WA. July 29, 2005. (Host: Dr. David Probert)

  • Dynamically Inferring Temporal Properties for Daisy. At the Joint CAV/ISSTA Special Event on Specification, Verification, and Testing of Concurrent Software. July 14, 2004. (Host: Dr. Shaz Qadeer) [PPT]

  • Dynamically Inferring Temporal Properties. PASTE 2004. June 7, 2004. (Session chair: Dr. Michael Ernst) [PPT]


Last Modified: 4/19/2006