Danhua Shao

Ph.D. Candidate

Electrical and Computer Engineering Department

The University of Texas at Austin

danhua.shao@gmail.com

512-619-9940

Education

       Electrical & Computer Engineering Department, The University of Texas at Austin

Aug. 2004 –May. 2009 (Expected): Ph.D. candidate in Computer Engineering, Major GPA 3.8/4.0

Institute of Software, Chinese Academy of Sciences

Aug. 1997: M.S. in Computer Software, Major GPA 3.8/4.0

       University of Science and Technology of China

Jul. 1994: B.E. in Computer Science, Major GPA 3.8/4.0

Knowledge and Technical Skills

• Programming Languages:    C, C++, x86 assembly language, Java, scripts (Perl, Scheme, and UNIX Shells), Alloy.

• Computer System:              Computer Architecture and Microarchitecture, Operating System, Compiler.

• Platforms:                          System level programming on UNIX (Solaris, AIX, and Linux) and MS Windows.

• Network:                           TCP/IP protocol implementations and socket programming.

• Software Engineering:         Objected-oriented design and programming, practical experience on software development life cycle: analysis, design, documentation, implementation, testing, maintenance and technology support.

Industrial Experience

Sun Microsystems Inc.

Graduate Intern, Network File System group, May 2008 – present

Instrument DTrace probes into Solaris operating system to trace activities of NFS (Network File System) client and server.

·        Designed and implemented DTrace provider and probes to trace NFS v4.1 operations of meta-data server

·        Designed DTrace provider and probes to trace the interaction between virtual file system (VFS), NFS v3 client, and network communication modules.

·        Analyze performance of NFS client and server by tracing interactions between file system operations, NFS operations and network communications

VMWare Inc. Palo Alto, CA

Software Engineer Intern, Platform API group, Jun. 2007 – Aug. 2007

Developed network modules for ESX Server, a microkernel operating system (hypervisor) that supports multiple operating systems running on X86 host architecture simultaneously

·        Designed and implemented DNS and virtual switch configuration module for ESX Server kernel

·        Designed and implemented unit tests for the network configuration modules

R&D Department, Beijing ChinaTech International Software Co., Ltd.

Senior Software Engineer/Architect, A2E-MQ project, Sep. 2001 – Jul. 2004

Designed A2E-MQ, a message-oriented middleware, to support reliable data transfer in distributed systems:

·        Designed a C/C++ library to support cross-platform programming on process/thread, file system, and network communication.

·        Implemented the library on MS Windows, Linux, FreeBSD, Solaris, AIX, and Tru64.  

·        Designed and implemented a multi-threaded task scheduler to handle multiple service requests concurrently.

·        Designed a log-based rollback recovery protocol on file system to support reliable message storage.

·        A2E-MQ has been successfully used in the data report system of a major China petroleum companies, Sinopec (NYSE: SNP).

R&D Department, Information Center of Chinese Ministry of Science and Technology

Software Design Engineer, NetDoc project, Apr. 1998 – Nov. 1998

Designed the browser/server architecture for NetDoc, a virtual information retrieval center for eight major libraries in China.

·        Designed and implemented a uniform C++ framework to support multiple network transport mechanisms such as message queue, ftp, and email.

IBM Corporation, China

Software Design Engineer, Intern, object-oriented modeling practice project, Mar. 1996 – Sep. 1996

Designed and implemented of the data query and transport systems for China Post’s Banking Service System.

·        Object-oriented analysis with Use-Case

·        Object-oriented design with CRC (Class Responsibility Collaborator) cards

·        Object-oriented programming with VisualAge C++

Research Experience

ECE Department, The University of Texas at Austin

       Research Assistant, Empirical Software Engineering Lab, Aug. 2004 – present

Study on conflict detections in version management systems.

·        Designed and implemented a dataflow analysis tool, SCA, to detect semantic interference among concurrent changes.

·        An empirical evaluation with a successful large scale telephone switching system project showed that SCA is effective in predicting faults related to non-pointer variables.

Research Assistant, Software Testing and Verification Group, Jan. 2005 – present

Study on automatic test case generation.

·        Designed and implemented a novel framework, Whispec, for white-box testing of methods that manipulate structurally complex data. Whispec combines a method’s precondition (a declarative formula in first-order logic) with path conditions derived from the method’s control-flow, and uses a SAT solver to generate test inputs, which provide a desired level of code coverage.

·        Compared with the traditional declarative specification based test generation approaches, Whispec generates significantly fewer test cases to achieve the same branch coverage.

Technology Center of Software Engineering, Institute of Software, Chinese Academy of Sciences

       Research Scientist, XDSA project, Aug. 1999 – Aug. 2001

·        Conceived and led the design of the XML-message-based architecture description language, XADL, to describe the interaction between components with sequence, behavior and quality constraints.

·        Unified the software architecture description with implementation by mapping XADL to Java and message queue systems.

      Research Scientist, ISMQ project, Aug. 1997 – Jul. 1999

·        Conceived and led the design of a message queue system, ISMQ, to provide a reliable asynchronous communication platform for distributed system.

·        Designed a transport protocol for reliable message exchange. Ported the system to Solaris, AIX, Tru64, and Linux.

      M.S. Student Researcher, ISBroker project, Nov. 1995 – Jul. 1997

·        Conceived and led the design of ISBroker, the first object-based distributed system in China.

·        Designed the thread-pool-based schedule strategy to improve the system performance.

National High Performance Computing Center (NHPCC), University of Science and Technology of China

Research Assistant, Sep. 1994 – Oct. 1995

·        Designed the parallel scheduling model and developed tools to integrate the parallel algorithms.

Professional Service

Student Volunteer, 28th International Conference on Software Engineering (ICSE 2006), May 20-28, 2006, Shanghai, China.

Co-reviewer, 12th International SPIN Workshop on Model Checking of Software (SPIN 05). August 22-24, 2005, San Francisco, USA.

Organizer, Computer Science Journal Club, Institute of Software, Chinese Academy of Sciences,        1997-1999

Computer Science retreat planning committee, Institute of Software, Chinese Academy of Sciences,              1998

Awards

2001                                 First Prize, Science and Technology Progress Awards, Chinese Academy of Sciences

1999-2001           Young Investigator Research Grant, Chinese Academy of Sciences 

1995                    Elite Scholarship of Chinese Academy of Sciences

1993                    Special Award for Excellence in Research, University of Science and Technology of China

1989                                 University Scientific Research Honorary, University of Science and Technology of China

Publications

Software Engineering:

D. Shao, S. Khurshid, and D. Perry. Evaluation of Semantic Interference Detection in Parallel Changes: an Exploratory Experiment. 23rd International Conference on Software Maintenance (ICSM 2007). Paris, France. Oct 2007.

[Full text] http://users.ece.utexas.edu/~dshao/paper/ICSM07dshao.pdf

D. Shao, S. Khurshid, and D. Perry. Whispec: White-box Testing of Libraries Using Declarative Specifications. ACM SIGPLAN Symposium on Library-Centric Software Design (LCSD 2007), Montreal, Canada. Oct 2007.

[Full text] http://users.ece.utexas.edu/~dshao/paper/LCSD07dshao.pdf

D. Shao, S. Khurshid, and D. Perry. A Case for White-box Testing Using Declarative Specifications. Testing: Academic & Industrial Conference: Practice And Research Techniques (TAIC PART 2007), Poster Paper.  Windsor, UK, Sep 2007

C. L. Chen, D. Shao, and D. Perry, "An Exploratory Case Study Using CBSP and Archium", Workshop on Sharing Architecture Knowledge and Architecture Design Intent (SHARK/ ADI), International Conference on Software Engineering (ICSE 2007), Minneapolis MN, May 2007.

[Full text] http://users.ece.utexas.edu/~perry/work/papers/070119-CC-ca.pdf

D. Shao, S. Khurshid, and D. Perry. Mining Change and Version Management Histories to Evaluate an Analysis Tool. Mid-Atlantic Student Workshop on Programming Languages and Systems (MASPLAS 2006), Rutgers University, Apr. 2006.

[Full text] http://www.prolangs.rutgers.edu/masplas06/papers/8_Shao.pdf

D. Shao and B. Zhang. XADL, an XML-message Based Architecture Description Language, Technical Reports 01-14-08, Technology Center of Software Engineering, Institute of Software, Chinese Academy of Sciences, 2001

B. Zhang, T. Huang, Y. Fu, Y., and D. Shao. Design and Implementation of Object Description Language Compiler. Journal of Software, 1998, 9(7): 525-531.

[Abstract] http://www.jos.org.cn/paper/detail.asp?id=946

D. Shao. Object-Oriented Programming. China Computer Users, 1996, 2: 8-10.

B. Zhang, T. Huang, Y. Fu, and D. Shao. ODL compiler design and implementation. Technical Reports 95-16-04, Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, 1995

D. Shao and T. Huang. SCOP query system. Technical Reports 95-16-08, Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, 1995

D. Shao, et al. Object-Oriented Application Development with VisualAge C++ for OS/2 (translation). Sciences Press, Beijing, China, 1998.

Distributed systems and Middleware:

J. Wang, B. Jin, J. Li, and D. Shao. A Semantic-Aware Publish/Subscribe System with RDF Patterns. Proceedings of 28th IEEE Annual International Computer Software and Applications Conference (COMPSAC 2004), Hong Kong, Sep. 28 - 30, 2004. pp. 141 - 146

[Abstract] http://csdl.computer.org/comp/proceedings/compsac/2004/2209/01/220910141abs.htm

J. Wang, B. Jin, J. Li, and D. Shao. Data Model and Matching Algorithm in an Ontology-based Publish/Subscribe System. Journal of Software, 2005, 16(9): 1625-1635.

[Abstract] http://www.jos.org.cn/paper/detail.asp?id=2152.

J. Wang,   B. Jin, D. Shao. Device Managing and Monitoring System for Digital Television. Computer Applications and Software, 2007, 24(1), 6-8.

[Abstract] http://www.wanfangdata.com.cn/qikan/periodical.articles/jsjyyyrj/jsjy2007/0701/070102.htm

B. Jin, D. Shao, J. Li, and X. Liu. Real-time data integration technologies and its application. Journal of Computer Research and Development, 2002, 39(2): 172-177.

[Abstract] http://crad.ict.ac.cn/papers/2002-2-172.htm

T. Huang, X. Wu, and D. Shao. Communication System for CIMS Application Integration Platform. Tsinghua Science and Technology, 1999, 4(1): 1320-1324.

[Full text] http://www.tsinghua.edu.cn/docsn/qhdxxb/myweb/english/99n1/990111.htm

D. Shao, T. Huang, X. Wu, B. Zhang, and H. Zhou. Object-based communication platform for distributed environment. Journal of Tsinghua University, 1998, 38(10): 97-101.