DMS: Software Tool Infrastructure
Sign in to YouTube
Sign in to YouTube
Sign in to YouTube
Uploaded on Jul 28, 2010
Google Tech Talk
July 27, 2010
Presented by Ira D. Baxter.
Software systems continue to grow in size, complexity, and heterogeneity of structure. Manual methods for designing, implementing, and modifying software systems are becoming less effective. Tools to analyze application code to extract low level details ("static analysis") or architecture are becoming increasingly necessary. But the purpose of analysis is to support *change*. This talk will describe the DMS Software Reengineering Toolkit, a general purpose source code analysis and transformation system.
DMS is a kind of generalized compiler, parameterized by language descriptions, analysis tasks and modification tasks, with mature language front ends for C, C++, C#, Java, Python, COBOL and a number of other languages, allows DMS to be applied to a wide variety of analysis and transformation tasks. DMS provides a kind of amortized infrastructure for tools in the same way that an OS provides amortized infrastructure for conventional application software; without the infrastructure, the cost of tools is much higher and delivery times are much longer. Its generalization allows also DMS to be used for an amazing variety of software engineering tasks.
The talk will provide some description of the DMS infrastructure, and discuss a number of applications, including fully automated conversion of the mission software for the B-2 Stealth Bomber, large-scale architecture restructing of a C++ application system, architecture extraction for mainframe software, test coverage, as well as duplicate code detection.
Dr. Baxter is CEO and CTO of Semantic Designs, Inc., the company behind the DMS toolkit. He has been involved with computing since 1966, working with digit circuits. He discovered software in 1967 and learned to program on IBM 1401 and 1620s. He implemented one of the first commercial minicomputer timesharing systems on a Data General Nova in 1970, before receiving his B.S. in Computer Science (1973). In 1976, he started Software Dynamics, a systems software house, where he designed compilers, time-sharing and distributed network operating systems. The similarity in concepts and dissimilarity in implementation of the various OSes suggested that managing designs was key to managing long-lived software systems, and turned Ira's interests towards deeper software engineering research. In 1990, he received a Ph.D. in Computer Science from the University of California at Irvine, where he studied Software Engineering, focusing on design reuse using transformational methods. Dr. Baxter spent several years with Schlumberger, working on a PDE-solver generator for CM-5 supercomputers (Sinapse). He was consulting Research Scientist for Rockwell International, focusing on industrial control automation software engineering tools for several years.
In 1995, he founded Semantic Designs, to build commercial tools that will radically improve the methods and economics of software enhancement and maintenance. Dr. Baxter is the architect and one of the main implementers of DMS, and the architect and implementer of the PARLANSE parallel programming language. At Semantic Designs, he provides consulting to Fortune 100 companies on automated software analysis, transformation and domain-specific synthesis methods. For the last decade, he has been SD's principal management, supporting marketing and sales, and provides project vision, management and technical architecture to SD's large custom-software customers.
Standard YouTube License
- 12:00:00 12 HOURS OF STATIC BROWN NOISE SOUND BLOCKERby TheGnomeWhispererFeatured 4,138
- 1:25:08 Three Cool Things About D - The Case for the D Programing Languageby GoogleTechTalks 26,632 views
- 1:08:04 CMake/CPack/CTest/CDash Open Source Tools to Build Test and Deploy C++ Softwareby GoogleTechTalks 31,724 views
- 59:21 It Takes Two to Tango: The Human Future and the Future of Buddhismby GoogleTechTalks 15,629 views
- 1:18:28 Smart Grid, Utilities, and Internet Protocolsby GoogleTechTalks 57,885 views
- 1:13:28 The Lazy Programmer's Guide to Secure Computingby GoogleTechTalks 39,864 views
- 56:36 So You Want To Be A Programming Rock Star?by GoogleTechTalks 55,661 views
- 1:24:34 Python in Python: The PyPy Systemby StanfordUniversity 5,039 views
- 7 videos Play all 8 Basic Building Blocks Rebuiltby ankurbakhshi
- 53:30 Lec 1 | MIT 6.00 Introduction to Computer Science and Programming, Fall 2008by MIT 1,411,547 views
- 49:04 Come and meet Super Creators from Japanby GoogleTechTalks 12,711 views
- 1:14:53 Google Internet Summit 2009: Networks and Statistics Sessionby GoogleTechTalks 25,612 views
- 4:37 Building the Great Pyramid: Perpetual Motion Theoryby SolomonSeries 6,698 views
- 58:55 Expressive Languages for the JVMby GoogleTechTalks 10,510 views
- 56:31 Situating Personal Information Management Practices within an Organizationby GoogleTechTalks 24,993 views
- 1:19:26 Role of New and Existing Technologies and Adjuvants and Technology Transfer Modelsby GlobalHealthgov 2,514 views
- 53:28 Ch6 (Part 1): Relational Algebra and Calculusby Jeongkyu Lee 2,057 views
- 1:07:54 Ruby Meet Up 8/13/09: Interfaces and the Future of Rubyby GoogleTechTalks 3,931 views
- 52:01 Challenges with Cross-functional Teams - Stanford Advanced Project Managementby stanfordonline 3,395 views
- 53:29 Nullness Analysis for Javaby GoogleTechTalks 9,740 views
- Loading more suggestions...