Subir material

Suba sus trabajos a SEDICI, para mejorar notoriamente su visibilidad e impacto

 

Mostrar el registro sencillo del ítem

dc.date.accessioned 2011-12-01T15:17:50Z
dc.date.available 2011-12-01T03:00:00Z
dc.date.issued 2011
dc.identifier.uri http://sedici.unlp.edu.ar/handle/10915/4201
dc.identifier.uri https://doi.org/10.35537/10915/4201
dc.description.abstract The motivation of this work comes from a Global Climate Model (GCM) Software which was in great need of being updated. This software was implemented by scientists in the ’80s as a result of meteorological research. Written in Fortran 77, this program has been used as an input to make climate predictions for the Southern Hemisphere. The execution to get a complete numerical data set takes several days. This software has been programmed using a sequential processing paradigm. In these days, where multicore processors are so widespread, the time that an execution takes to get a complete useful data set can be drastically reduced using this technology. As a first objective to reach this goal of reengineering we must be able to understand the source code. An essential Fortran code characteristic is that old source code versions became unreadable, not comprehensive and sometimes “ejects” the reader from the source code. In that way, we can not modify, update or improve unreadable source code. Then, as a first step to parallelize this code we must update it, turn it readable and easy to understand. The GCM has a very complex internal structure. The program is divided into about 300 .f (Fortran 77) files. These files generally implement only one Fortran subroutine. Less than 10% of the files are used for common blocks and constants. Approximately 25% of the lines in the source code are comments. The total number of Fortran source code lines is 58000. A detailed work within the source code brings to light that [74]: 1 About 230 routines are called/used at run time. Most of the runtime is spent in routines located at deep levels 5 to 7 in the dynamic call graph from the main routine. 2 The routine with most of the runtime (the top routine from now on) requires more than 9% of the total program runtime and is called about 315000 times. 3 The top 10 routines (the 10 routines at the top of the flat profile) require about 50% of total runtime. Two of them are related to intrinsic Fortran functions. Our first approach was using a scripting language and Find & Replace tools trying to upgrade the source code, this kind of code manipulation do not guarantee preservation of software behavior. Then, our goal was to develop an automated tool to transform legacy software in more understandable, comprehensible and readable applying refactoring as main technique. At the same time a catalog of transformation to be applied in Fortran code is needed as a guide to programmers through this process. es
dc.language en es
dc.subject Fortran; legacy systems; refactoring; Photran; software engineering es
dc.title Fortran refactoring for legacy systems es
dc.type Tesis es
sedici.creator.person Méndez, Mariano es
sedici.description.note Es revisado por: http://sedici.unlp.edu.ar/handle/10915/9703 es
sedici.subject.materias Informática es
sedici.description.fulltext true es
mods.originInfo.place Facultad de Informática es
sedici.subtype Tesis de maestria es
sedici.contributor.director Tinetti, Fernando Gustavo es
sedici.contributor.codirector Garrido, Alejandra es
thesis.degree.name Magister en Ingeniería de Software es
thesis.degree.grantor Universidad Nacional de La Plata es
sedici.date.exposure 2011-08-31 es
sedici2003.identifier ARG-UNLP-TPG-0000002759 es


Este ítem aparece en la(s) siguiente(s) colección(ones)