how to speed up software migration and
play

How to Speed Up Software Migration and Resulting Problem: . . . - PowerPoint PPT Presentation

Computers Are . . . Need for Software . . . Software Migration . . . How Migration Is . . . How to Speed Up Software Migration and Resulting Problem: . . . Modernization: Successful Strategies Our Main Idea Developed by Precisiating Expert


  1. Computers Are . . . Need for Software . . . Software Migration . . . How Migration Is . . . How to Speed Up Software Migration and Resulting Problem: . . . Modernization: Successful Strategies Our Main Idea Developed by Precisiating Expert Need for Expert . . . Knowledge Two-Rules Approach Practical Consequences Francisco Zapata 1 , Octavio Lerma 2 , Home Page Leobardo Valera 2 , and Vladik Kreinovich 1 , 2 Title Page 1 Department of Computer Science ◭◭ ◮◮ 2 Computational Science Program ◭ ◮ University of Texas at El Paso El Paso, TX 79968, USA Page 1 of 20 fazg74@gmail.com, lolerma@episd.org leobardovalera@gmail.com, vladik@utep.edu Go Back Full Screen Close Quit

  2. Computers Are . . . Need for Software . . . 1. Computers Are Ubiquitous Software Migration . . . • In many aspects of our daily life, we rely on computer How Migration Is . . . systems: Resulting Problem: . . . Our Main Idea – computer systems record and maintain the student Need for Expert . . . grades, Two-Rules Approach – computer systems handle our salaries, Practical Consequences – computer systems record and maintain our medical Home Page records, Title Page – computer systems take care of records about the ◭◭ ◮◮ city streets, ◭ ◮ – computer systems regulate where the planes fly, etc. Page 2 of 20 • Most of these systems have been successfully used for years and decades. Go Back • Every user wants to have a computer system that, once Full Screen implemented, can effectively run for a long time. Close Quit

  3. Computers Are . . . Need for Software . . . 2. Need for Software Migration/Modernization Software Migration . . . • Computer systems operate in a certain environment; How Migration Is . . . they are designed: Resulting Problem: . . . Our Main Idea – for a certain computer hardware – e.g., with sup- Need for Expert . . . port for words of certain length, Two-Rules Approach – for a certain operating system, programming lan- Practical Consequences guage, interface, etc. Home Page • Eventually, the computer hardware is replaced by a Title Page new one. ◭◭ ◮◮ • While all the efforts are made to make the new hard- ◭ ◮ ware compatible with the old code, there are limits. Page 3 of 20 • As a result, after some time, not all the features of the old system are supported. Go Back • In such situations, it is necessary to adjust the legacy Full Screen software so that it will work on a new system. Close Quit

  4. Computers Are . . . Need for Software . . . 3. Software Migration and Modernization Is Dif- Software Migration . . . ficult How Migration Is . . . • At first glance, software migration and modernization Resulting Problem: . . . sounds like a reasonably simple task: Our Main Idea Need for Expert . . . – the main intellectual challenge of software design is Two-Rules Approach usually when we have to invent new techniques; Practical Consequences – in software migration and modernization, these Home Page techniques have already been invented. Title Page • Migration would be easy if every single operation from ◭◭ ◮◮ the legacy code was clearly explained and justified. ◭ ◮ • The actual software is far from this ideal. Page 4 of 20 • In search for efficiency, many “tricks” are added by programmers that take into account specific hardware. Go Back • When the hardware changes, these tricks can slow the Full Screen system down instead of making it run more efficiently. Close Quit

  5. Computers Are . . . Need for Software . . . 4. How Migration Is Usually Done Software Migration . . . • When a user runs a legacy code on a new system, the How Migration Is . . . compiler produces thousands of error messages. Resulting Problem: . . . Our Main Idea • Usually, a software developer looks corrects these errors Need for Expert . . . one by one. Two-Rules Approach • This is a very slow and very expensive process: Practical Consequences – correcting each error can take hours, and Home Page – the resulting salary expenses can run to millions of Title Page dollars. ◭◭ ◮◮ • There exist tools that try to automate this process by ◭ ◮ speeding up the correction of each individual error. Page 5 of 20 • These tools speed up the required time by a factor of Go Back even ten. Full Screen • However, still thousands of errors have to be handled individually. Close Quit

  6. Computers Are . . . Need for Software . . . 5. Resulting Problem: Need to Speed up Migra- Software Migration . . . tion and Modernization How Migration Is . . . • Migration and modernization of legacy software is a Resulting Problem: . . . ubiquitous problem. Our Main Idea Need for Expert . . . • It is thus desirable to come up with ways to speed up Two-Rules Approach this process. Practical Consequences • In this paper: Home Page – we propose such an idea, and Title Page – we show how expert knowledge can help in imple- ◭◭ ◮◮ menting this idea. ◭ ◮ Page 6 of 20 Go Back Full Screen Close Quit

  7. Computers Are . . . Need for Software . . . 6. Our Main Idea Software Migration . . . • Modern compilers do not simply indicate an error, How Migration Is . . . Resulting Problem: . . . • They usually provide a reasonably understandable de- Our Main Idea scription of the type of an error; for example: Need for Expert . . . – it may be that a program is dividing by zero, Two-Rules Approach – it may be that an array index is out of bound. Practical Consequences • Some of these types of error appear in numerous places Home Page in the software. Title Page • Our experience shows that in many such places, these ◭◭ ◮◮ errors are caused by the same problem in the code. ◭ ◮ • So, instead of trying to “rack our brains” over each Page 7 of 20 individual error, a better idea is Go Back – to look at all the errors of the given type, and Full Screen – come up with a solution that would automatically eliminate the vast majority of these errors. Close Quit

  8. Computers Are . . . Need for Software . . . 7. Need for Expert Knowledge Software Migration . . . • This idea saves time only if we have enough errors of How Migration Is . . . a given type. Resulting Problem: . . . Our Main Idea • We thus need to predict how many errors of different Need for Expert . . . type we will encounter. Two-Rules Approach • There are currently no well-justified software models Practical Consequences that can predict these numbers. Home Page • What we do have is many system developers who have Title Page an experience in migrating and modernizing software. ◭◭ ◮◮ • It is therefore desirable to utilize their experience. ◭ ◮ • Experts usually describe their experience by using im- Page 8 of 20 precise (“fuzzy”) words from natural language. Go Back • It is reasonable to use the known precisiation tech- Full Screen niques – fuzzy logic. Close Quit

  9. Computers Are . . . Need for Software . . . 8. Expert Knowledge about Software Migration Software Migration . . . and Modernization and Its Precisiation How Migration Is . . . • A reasonable idea is to start with n 1 errors of the most Resulting Problem: . . . frequent type. Our Main Idea Need for Expert . . . • Then, we should concentrate on n 2 errors of the second Two-Rules Approach most frequent type, etc. Practical Consequences • So, we want to know the numbers n 1 , n 2 , . . . , for which Home Page n 1 ≥ n 2 ≥ . . . ≥ n k − 1 ≥ n k ≥ n k +1 ≥ . . . Title Page ◭◭ ◮◮ • We know that for every k , n k +1 is somewhat smaller than n k . ◭ ◮ • Similarly, n k +2 is more noticeably smaller than n k , etc. Page 9 of 20 • After formalizing and defuzzifying the n k < n k +1 rule, Go Back we get n k +1 = f ( n k ) . Full Screen • Which function f ( n ) should we choose? Close Quit

  10. Computers Are . . . Need for Software . . . 9. Which Function f ( n ) Should We Choose? Software Migration . . . • A migrated software package usually consists of two How Migration Is . . . (or more) parts. Resulting Problem: . . . Our Main Idea • We can estimate n k +1 in two different ways: Need for Expert . . . – We can use n k = n (1) k + n (2) to predict k Two-Rules Approach n k +1 ≈ f ( n k ) = f ( n (1) k + n (2) Practical Consequences k ) . Home Page – Oe, we can use n (1) to predict n (1) k +1 , n (2) to predict k k Title Page n (2) k +1 , and add them: n k +1 ≈ f ( n (1) k ) + f ( n (2) k ) . ◭◭ ◮◮ • It is reasonable to require that these estimates coincide: ◭ ◮ f ( n (1) k + n (2) k ) = f ( n (1) k ) + f ( n (2) k ) . Page 10 of 20 • So, f ( a + b ) = f ( a ) + f ( b ) for all a and b , thus f ( a ) = Go Back f (1) + . . . + f (1) ( a times), and f ( a ) = f (1) · a . Full Screen • Thus, n k +1 = c · n k , i.e., n k +1 /n k = const. Close Quit

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend