Post Job Free
Sign in

Software Design

Location:
Mountain View, CA
Posted:
October 17, 2012

Contact this candidate

Resume:

Mikhail Alexandrovitch DMITRIEV

Sun Microsystems Laboratories, UMTV29-112, 2600 Casey Avenue, Mountain View, CA 94043

Phone: 1-650-***-****

E-mail: *******.********@***.***.***

EDUCATION:

Ph.D. in Computer Science, University of Glasgow, UK, 2001

Diploma in Computer Science, University of Cambridge, UK, 1997

M.Sc. in Applied Mechanics, Moscow State Technical University, Russia, 1996

EXPERIENCE:

Research and development in compilers, persistent object systems, virtual machines (VMs),

application profiling, and software tools since 1990. Started working on these as a part

of my M.Sc. and Ph.D. studies, presently work as an engineer in industry.SKILLS:

Design and implementation of evolution facilities and runtime systems in persistent

object systems and VMs.

Design and implementation of software tools for dependency checking, off-line and runtime

evolution, and profiling.

Documenting and presenting designs, benchmarking.

SOFTWARE:

Java: development of various software tools at Sun Microsystems and the University of

Glasgow.

C/C++: development of VM runtime systems (University of Glasgow and Sun Microsystems),

compilers (University of Cambridge), and software tools (GAZPROM Corp, Moscow).

80x86 Assembler: development of compilers (Moscow Technical University and University of

Cambridge) and VM runtime systems (Sun Microsystems).

SPARC Assembler: development of VM runtime systems (Sun Microsystems).

Pascal: development of compilers, runtime systems, and software tools (Moscow Technical

University).

TOOLS:

JDK, CVS, Teamware, Sun Workshop, Forte for Java, and JBuilder at Sun Microsystems and

University of Glasgow.

Visual C++ and OptimizeIt at Sun Microsystems.

GNU C++ at University of Cambridge.

Borland C++ and Borland Debugger at the University of Cambridge and GAZPROM.

Borland Pascal and Borland Debugger at Moscow Technical University.

HARDWARE:

Sun SPARC 4, 10, 20, 1000, 4000, ULTRA 1, Sun 3/60.

PCs XT, AT, Pentium.

OSs:

Solaris, SunOS, Windows, DOS.WORK EXPERIENCE

COMPANY:

Sun Microsystems Laboratories, Inc.

Title:

Member of Technical Staff4, Software

From: 01/2002

To: present

Job description:

Research, study, design and implementation of new techniques for dynamic bytecode

instrumentation, profiling and monitoring for the Java platform. Design and implementation

of the Make and Dependency Checking tool for the Java Programming Language (Javamake),

evaluation of user feedback. Reading technical reports and papers, design and

implementation of complex algorithms, data gathering and analysis, presentation of results

in seminars and papers/reports, consulting engineers in production divisions.

Completed the initial version of the dynamic bytecode instrumentation functionality in

the HotSpot Java Virtual Machine (JVM), and started working on the JFluid project

(advanced profiling techniques and tools taking advantage of dynamic bytecode

instrumentation).

Successfully completed numerous intermediate releases of Javamake, fixing bugs and adding

new features upon user requests. By this time, there have been over 2000 downloads, and

over 300 e-mails from users have been received.

Filed 4 patent applications.

Published 2 workshop and 1 conference papers.

Together with two academic researchers, organized and served on the Program committee of

the First Workshop on Unanticipated Software Evolution (USE), held at the 16th European

Conference on Object-Oriented Programming (ECOOP 2002), that attracted over 50

participants from many countries.

Reviewed research papers submitted for ECOOP 2002 conference.

Member of the Program committee of the Second USE Workshop.

Title:

Member of Technical Staff 3, Software

From: 06/2001

To: 01/2002

Job description:

Research, study, design and implementation of new techniques for program evolution and

debugging for the Java programming language. Reading technical reports and papers, design

and implementation of complex algorithms, data gathering and analysis, presentation of

results in seminars and papers/reports.

Started working on the initial version of the functionality to support dynamic bytecode

instrumentation at run time in the HotSpot Java Virtual Machine (JVM), to be used for

profiling and other kinds of application introspection activities.

Designed and developed the experimental GUI tool to support runtime application

evolution, and posted it on the Web.

Initiated the Javamake (Make and Dependency checking technology for the Java programming

language) project, implemented the first version of the Javamake tool and posted it on the

Web.

Published 1 workshop paper.

Title:

Student intern 2, Software

From: 08/2000

To: 06/2001

Job description:

Research, study, design and implementation of new techniques for runtime program

evolution and debugging for the Java programming language. Collaborating with the Sun

Microsystems HotSpot Java Virtual Machine (JVM) production group. Writing technical

docummentation.

Have implemented reflective runtime class redefinition (evolution) functionality in the

HotSpot JVM (subsequently included in the JDK Version 1.4), that is used during debugger-

controlled program execution.

Developed the experimental prototype that supported runtime updates to server-type

applications running in production mode.

Title:

Student intern 1, Software

From: 08/1999

To: 11/1999

Job description:

Research, design and implementation of new techniques for class and data evolution in

persistent object systems.

Ported the (previously developed as a part of my PhD research) class and data evolution

technology and tool for the Persistent Java Platform, to the new major release based on

the Java 2 SDK 1.3.

Published 1 workshop paper.

COMPANY:

GAZPROM Corp., Moscow, Russia - R&D Division

Title:

Programmer

From: 01/1996

To: 08/1996

Job description:

Design and implementation of software for data acquisition, processing and

representation, used in natural gas transportation control systems and portable

measurement devices.

Have implemented the user interface class library, and signal data processing/

visualization embedded software for a specialized portable computer (vibroanalyzer) in

C++/80x86 assembler.

COMPANY:

Department of Applied Mechanics, Moscow State Technical University, Russia

Title:

Part-timeResearch Associate

From: 02/1992

To: 12/1995

Job description:

Scientific research in dynamics of mechanical systems described by nonlinear systems of

ordinary differential equations (ODEs) with retarded argument and other specific

properties. Application of the research results to certain technological problems in

industry. Application programming.

Have developed the scientific/educational software package ("Delta" project) for studying

the above specific systems of ODEs. That included the design of a novel native ODE

description language, development and integration of a 80x86/87-code compiler for this

language, a solver supporting numerous numerical methods, graphic tools etc., in a user-

friendly environment.

Published 1 conference paper.

COMPANY

:

Research and Design Institute of Power Machinery (NIKIET), Moscow, Russia

Title:

Part-time English-Russian translator

From: 02/1992

To: 06/1994Job description:

Translations of technical documentation from/to English.

Have translated a large amount of documents from the Code ASME (American Society of

Mechanical Engineers) describing rules of design, testing and maintenance of nuclear power

machinery.

COMPANY:

IT Department, Moscow State Technical University, Russia

Title:

Part-time Programmer

From: 10/1989

To: 01/1991

Job description:

Development of office automation software.

PUBLICATIONS

The First Experience of Class Evolution Support in PJama. Published in the Advances in

Persistent Object Systems - Proceedings of the Eighth International Workshop on Persistent

Object Systems (POS-8) and The Third International Workshop on Persistence and Java (PJAVA-

3), R.Morrison, M.J.Jordan and M.P.Atkinson (Eds.), Morgan Kaufmann, August 30 - September

4, 1998, Tiburon, California.

With M. Atkinson. Evolutionary Data Conversion in the PJama Persistent Language. In

Proceedings of the 1st ECOOP Workshop in Object-Oriented Databases, Lisbon, Portugal,

June 1999.

With C. Hamilton and M.P. Atkinson. Providing Evolution Support for PEVM within Sphere..

Technical Report TR-1999-50, Department of Computing Science, University of Glasgow,

Glasgow G12 8QQ, UK, December 1999.

With C. Hamilton. Towards Scalable and Reliable Object Evolution for the PJama Persistent

Platform. Published in the Proceedings of the ECOOP 2000 Symposium on Objects and

Databases, in Association with the 14th European Conference on Object-Oriented

Programming,, Springer Verlag, LNCS 1944, Cannes, France, June 2000.

Class and Data Evolution Support in the PJama Persistent Platform. Technical Report TR-

2000-57, Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, UK,

November 2000.

With M.P. Atkinson, C. Hamilton and T.Printezis. Scalable and Recoverable Implementation

of Object Evolution for the PJama Platform. Published in the Proceedings of the Ninth

International Workshop on Persistent Object Systems: Design, Implementation and Use (POS-

9), Springer Verlag, LNCS 2012, Lilihammer, Norway, September 2000.

Safe Class and Data Evolution in Large and Long-Lived Java Applications. PhD Thesis,

Department of Computing Science, University of Glasgow, Glasgow G12 8QQ, Scotland, and

Technical Report

TR-

2001-98, Sun Microsystems Laboratories, 2600 Casey Avenue, Mountain

View, CA 94043, USA, 2001.

Towards Flexible and Safe Technology for Runtime Evolution of Java Language Applications.

In Proceedings of the Workshop on Engineering Complex Object-Oriented Systems for

Evolution, held in Association with OOPSLA 2001 International Conference, Tampa Bay,

Florida, USA, October 14-18, 2001.

Application of the HotSwap Technology to Advanced Profiling. In Proceedings of the

Workshop on Unanticipated Software Evolution, held at ECOOP 2002 International Conference,

Malaga, Spain, June 10-14, 2002.

Language-Specific Make Technology for the Java Programming Language. In Proceedings of

the ACM OOPSLA 2002 International Conference, Seattle, USA, November 4-8, 20



Contact this candidate