Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

DMS: Software Tool Infrastructure

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
5,290
Loading...
Alert icon
Sign in or sign up now!
Alert icon
There is no Interactive Transcript.

Uploaded by on Jul 28, 2010

Google Tech Talk
July 27, 2010

ABSTRACT

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.

Category:

Science & Technology

Tags:

License:

Standard YouTube License

  • likes, 1 dislikes

Link to this comment:

Share to:
see all

All Comments (2)

Sign In or Sign Up now to post a comment!
  • If you are in software engineeering, you must watch this talk. Ira is showing a technology that works and that scales up. As he says, there is no way of dealing with the massive size of software around us, without automation.  Using software to evolve software is how software engineering will handle the problem. Implications? Well we will still need a large body of software engineers, but they will be able to do a much better job. Listen to Ira.

Loading...

Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more