Uploaded by GoogleTechTalks 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.
-
21 likes, 1 dislikes
1:25:08
Three Cool Things About D - The Case for the D Programing Languageby GoogleTechTalks20,702 views
1:13:28
The Lazy Programmer's Guide to Secure Computingby GoogleTechTalks30,164 views
1:08:04
CMake/CPack/CTest/CDash Open Source Tools to Build Test and Deploy C++ Softwareby GoogleTechTalks23,758 views
1:07:54
Ruby Meet Up 8/13/09: Interfaces and the Future of Rubyby GoogleTechTalks3,495 views
7:52
What is Document Management?by stefan4dw10,698 views
7:34
Why Brown Girls like White Guys...by IISuperwomanII653,260 views
9:54
The Use of Formal Methods on the iFACTS ATCl project pt1 (Neil White)by AdaCore05508 views
17 videos

Neural Networks
5:20
Rockwell Automation - exciting careerby JBochinski15013,630 views
3:24
Binary: converting binary to decimal (part 2 of 2)by ajbsharing52,492 views
5:39
C/C++ tutorials conversion to base 2 lesson 5 learn programming the easy wayby slevin741850 views
1:49
Como pasar el ENARM 2009by devilvor9,645 views
7:04
GNU Fortran | Lesson 1by macheads10123,491 views
3:53
Noisia - Machine Gun (Official Video)by NoisiaTV1,644,181 views
6:38
Salt Apps for SAP - Installation: Part 1by SaltApps3,011 views
2:59
DMS - La obiectby Weby29235,148 views
0:38
Visual basic 6.0 - Decimal to Binary Conversion Free source codeby namocatcatanthony2,753 views
5:35
Cool/Easy/Short C++ Tutorial.wmvby kakashura960 views
15:28
Rabar Review Center Philippines (Civil Service Exam Tutorial 5)by CivilServiceExam4,992 views
5:35
C programming tutorials or- "|" operator lesson 7 HD 1080pby slevin741651 views
5:09
Lkama & DJ Miko (+ Decko, Sedláci & DMS) "Podla vkusu"by gramorokkaz333,388 views
- Loading more suggestions...
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.
jcspl 1 year ago