Danhua Shao
Ph.D. Candidate
Electrical and Computer Engineering Department
The
512-619-9940
Education
Electrical
& Computer Engineering Department, The
Aug. 2004 –May. 2009 (Expected): Ph.D. candidate in Computer Engineering, Major GPA 3.8/4.0
Aug. 1997: M.S. in Computer Software, Major GPA 3.8/4.0
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.
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
R&D Department,
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
·
Designed
and implemented a uniform C++ framework to support multiple network transport mechanisms such as
message queue, ftp, and email.
IBM Corporation,
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
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.
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
· Designed the thread-pool-based schedule strategy to improve the system performance.
National High Performance Computing Center
(NHPCC), University of Science and Technology of
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,
Co-reviewer, 12th International SPIN
Workshop on Model Checking of Software (SPIN 05). August 22-24, 2005,
Organizer, Computer Science Journal Club,
Computer Science retreat planning
committee,
Awards
2001
First Prize, Science and Technology Progress Awards,
1999-2001 Young
Investigator Research Grant,
1995 Elite
Scholarship of
1993 Special
Award for Excellence in Research,
1989
University Scientific Research Honorary,
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).
[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),
[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.
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),
[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),
[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.
B. Zhang, T. Huang, Y. Fu,
and D. Shao. ODL compiler
design and implementation. Technical
Reports 95-16-04, Laboratory of Computer Science,
D. Shao and T. Huang. SCOP query
system. Technical Reports 95-16-08,
Laboratory of Computer Science,
D. Shao, et al. Object-Oriented Application Development with
VisualAge C++ for OS/2 (translation). Sciences Press,
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),
[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