Método de verificación de reingeniería
Descripción general
 Reduzca la carga del trabajo de verificación de reingeniería. ] Conversión de programa de la unidad 102, la conversión del programa fuente antes de la conversión 101 de los formatos disponibles en las herramientas CASE para el programa de origen convertida 103, realizado sin cambiar la lógica del programa. Las 104 salidas del compilador la convierten antes de unidad de compilación 105 y la información 150 de la correspondencia antes de la conversión y convertidos unidad de compilación 106 y convertidos información correspondencia 160. verificación de la unidad de compilación unidad 107, la presencia o ausencia de diferencia entre el código objeto en la unidad de compilación pre-conversión 105 y el código objeto en la unidad de compilación convertida 106 y la conversión antes de unidad de compilación 105 mediante la comparación de la unidad de compilación convertida 106 verificado, con referencia a la información de correspondencia pre-conversión 150 y la información 160 de la correspondencia post-conversión y envía el informe de resultado de 108 que indica el resultado de la verificación de la verificación.
Campo técnico
La presente invención, CASE se refiere (Computer Aided Software Engineering) tecnología de herramientas de reingeniería de apoyo, especialmente la reingeniería de verificación para verificar la validez de traducciones para la reingeniería (validez de los contenidos del programa fuente antes y después de la conversión con respecto a la reingeniería) Sistema.
Antecedentes de la técnica
En los últimos años, las tecnologías relacionadas con la reingeniería de los programas fuente se están desarrollando junto con el progreso de la tecnología CASE y el desarrollo del entorno CASE. La técnica anterior relativa a la reingeniería de dicho programa fuente, 'Sociedad de Procesamiento de la Información de Japón informan de la investigación, los sistemas de información 19 de enero de 1993, 42 1, las tendencias y los requisitos de software de reingeniería de la tecnología, Autor Toru Takeshita' y ' mismo, 42 5, el soporte de mantenimiento del desarrollo utilizando la re-ingeniería, Masayuki Sonobe, Uehara treinta y ocho, Toshiaki Yoshino, Shigeki Naota, Tomoko Akiyama, Minako Kimura, Ayumi Ishizaki, Takao Okubo, se ha informado en la literatura de la orilla del río Keiko al., 'etc. Ahí
De acuerdo con dicha técnica anterior, el programa fuente es un activo existente (programa fuente antes de la conversión), forman el programa fuente (herramienta CASE capaz fuente convertido se utiliza en diversas funciones (de edición, etc.) para proporcionar Programa) mediante el uso del programa.
La conversión del programa fuente por la reingeniería de herramienta (software para la realización de la reingeniería) se convierte también se incluye lo que resulta en el cambio en la lógica del programa como la conversión a un código de tipo de estructura, de hecho, el nombre de conversión de formato o elemento de datos en Japón palabra de conversión (conversión de llevar a cabo los japoneses del nombre del elemento de datos con el fin de mejorar la lectura del programa) conversión es también a menudo no implica un cambio en la lógica del programa de este tipo.
Aquí, el 'sin cambiar la lógica del programa' que la diferencia antes y después de la conversión no se produce con respecto a la ejecución del programa a nivel de código objeto en una unidad de compilación que son generados por el compilador basado en el programa de origen para ser convertido . Es decir, cuando se realiza el programa de código de conversión sin cambiar la lógica del programa, la unidad de compilación basado en una unidad de compilación con el programa fuente convertido basado en el programa de origen antes de la conversión son los mismos (el comportamiento del programa se convierte Será lo mismo antes y después).
La presente invención está dirigida a un método de verificación de reingeniería que concierne a una herramienta de reingeniería que realiza tal 'conversión sin cambio de lógica de programa'.
Convencionalmente, en la reingeniería del método de verificación de este tipo, para la verificación de traducciones para reingeniería como se describió anteriormente (conversión sin cambiar la lógica del programa) se ha realizado correctamente, el programa fuente convertida después de la conversión , La prueba de comprobación de funcionamiento del programa fue realizada por el usuario, etc.
Tarea de solución
En un sistema de verificación de reingeniería convencional descrito anteriormente, ya que la verificación de la conversión relacionada con la reingeniería se ha realizado correctamente ha sido implementado por la 'prueba de confirmación de la operación del programa', que requiere una gran cantidad de horas-hombre para trabajar para esta prueba Hubo un problema.
Resumen de la invención En vista de los puntos anteriores, la herramienta de re-ingeniería para proporcionar una función de conversión sin cambiar la lógica del programa, si hay una diferencia en el código objeto de tanto unidad de compilación es una compilación de resultados antes y después de la conversión del programa fuente mediante la determinación de que la conversión se ha realizado con precisión, e innecesario 'programa de comprobación de funcionamiento' en la verificación de la exactitud de la reingeniería relacionadas con la traducción, método de verificación que puede reducir la carga de la verificación reingeniería reingeniería .
Solución
Reingeniería método de verificación de la presente invención, significa una transformación de programa para realizar sin programa de conversión cambia la lógica de los activos existentes en un programa fuente pre-conversión herramientas CASE disponibles de formatos convertidos conversión programa fuente antes de la salida de la convertidos antes de unidades de compilación y la información de correspondencia sin convertir para compilar el programa fuente, el compilador da salida a las unidades de compilación convertidos y convierte la información de correspondencia para compilar el programa fuente convertido es de salida por dicho compilador código objeto y la configuración compilador convertido y conversión antes de unidad de compilación comparando el código de objeto correspondiente a cada otra en el código objeto en el convertida salida unidad de compilación por el pre-conversión durante unidad de compilación Verificar la presencia o ausencia de diferencia entre la unidad ilo, verificación de la unidad de compilación significa con referencia a la salida antes de la conversión por la información compilador correspondencia y la información de correspondencia convertida y emite un informe de resultados que indica un resultado de la verificación de la verificación .
En la reingeniería método de verificación de la presente invención, la unidad de conversión programa realiza sin cambio de conversión lógica de programa a programa fuente formato convertido utilizable con herramientas CASE del programa fuente antes de la conversión es un activo existente, el compilador Hay salidas compilan realiza conversión antes de unidades de compilación y salidas correspondiente información de relación de unidad de compilación convertida no convertidos para compilar el programa fuente después de la conversión y la información de correlación convertido del programa fuente antes de la conversión, la verificación unidad de compilación significa menos El procesamiento de
En el código de objeto en la unidad de compilación pre-conversión de salida por el compilador, el código objeto en el convertida salida unidad de compilación por el compilador, compilación después de la conversión mediante la comparación del código objeto que corresponde a entre sí, la unidad de compilación pre-conversión Verificar la existencia de la diferencia con la unidad.
Consulte la información de correspondencia de salida convertida anterior y la información de correspondencia después de la conversión por el compilador, y emite el informe de resultado que indica un resultado de la verificación de la verificación (verificación).
A continuación, la presente invención se describirá en detalle con referencia a los dibujos.
La figura 1 es un diagrama de bloques que muestra una configuración de una realización del método de verificación de reingeniería de la presente invención.
Reingeniería método de verificación de esta realización, el programa fuente antes de la conversión 101, una unidad de conversión de programa 102, un programa fuente post-conversión 103, un compilador 104, una unidad de compilación antes de la conversión 105, y convertida unidad de compilación 106, unidad de compilación Una unidad de verificación 107, un informe de resultado 108, información de relación de correspondencia previa a la conversión 150, e información de relación de correspondencia posterior a la conversión 160.
La figura 2 es un diagrama de flujo que muestra el procesamiento del método de verificación de reingeniería de esta realización. Este proceso es una unidad de conversión de programa de conversión de la etapa 201, el antes y después de fuente de conversión de paso de compilación del programa 202, una verificación de la unidad de compilación significa paso de verificación 203, y ambos diferencia unidad de compilación existencia determinación de la etapa 204, y la etapa de salida del informe diferencia presencia 205, Y un informe de resultados que da salida al paso 206 cuando no hay diferencia.
La figura 3 es un diagrama para explicar una operación específica del método de verificación de reingeniería de esta realización.
A continuación, con referencia a la figura 1 y a la figura 2, se describirá la operación del método de verificación de reingeniería de la presente realización así configurada.
El programa fuente de conversión previa 101 es un programa fuente que tiene las siguientes características.
Es un programa fuente que se puede editar con un editor de texto convencional o similar.
Está escrito en un lenguaje de programación como COBOL.
Es un activo existente.
En muchos casos, los usuarios desean usar herramientas CASE que tengan salida de documentos, funciones avanzadas de edición de textos y similares para mejorar la eficiencia del mantenimiento del programa y demás. En tal caso, se utiliza herramientas CASE herramienta de reingeniería (función de conversión de programa) proporcionado por ser, el programa fuente 101 antes de la conversión que es un activo existente se convierte en el programa de origen convertida 102 en forma de activo CASE.
El medio de conversión de programa 102 es un software que realiza una función de conversión de programa mediante tal herramienta de reingeniería. la unidad 102, conversión de formato y se convierte en la forma correspondiente de las herramientas CASE el formato de archivo del programa fuente antes de la conversión 101 conversión del programa, el programa es la conversión como un nombre de elemento de datos de conversión japonés a japonés el nombre del elemento de datos, después de la conversión Y genera un programa fuente 103 (etapa 201).
Por cierto, como se describe anteriormente, la presente forma de realización, el método de verificación de reingeniería relacionados reingeniería de este modo presente invención, la transformación que implica un cambio de la lógica de programa el programa de origen se supone que no se realiza. Por lo tanto, la unidad de compilación grupo de código de objeto es un resultado de compilar el programa fuente pre-conversión 101 y el grupo de código objeto (antes de unidad de compilación de conversión 105), unidad de compilación se compila resultados del programa fuente convertida 103 (unidad de compilación convertido 106) Debería ser lo mismo.
El compilador 104, cada uno para compilar, y emite la convertidos antes de unidad de compilación 105 y unidad de compilación convertido 106, la información de correspondencia después de información de correlación 150 y la conversión antes de la conversión, al mismo tiempo del programa fuente pre-conversión 101 y el programa de origen post-conversión 103 160 (paso 202). La herramienta CASE también tiene una función para compilar el programa fuente convertido por reingeniería y generar el objeto. El compilador 104, tal herramienta CASE también ha compilado función por, es posible dar salida a la unidad de compilación convertida 106 descrito anteriormente.
Aquí, la información de correspondencia pre-conversión 150, el principio del número de línea de programa fuente antes de la conversión del código fuente en 101 con un código de objeto de la compensación en la unidad de compilación pre-conversión 105 correspondiente al código de fuente (la unidad de compilación pre-conversión 105 (En lo sucesivo, simplemente denominada dirección)) (ver la información de relación de correspondencia previa a la conversión 350 en la figura 3). La conversión después de la información de correspondencia 160, de la cabeza del número de línea convertida del código fuente en el programa fuente 103 y código objeto compensaciones en la unidad de compilación convertida 106 correspondientes al código fuente (la unidad de compilación pre-conversión 106 (En lo sucesivo, simplemente se denomina 'dirección') (ver la información de relación de correspondencia posterior a la conversión 360 en la figura 3).
Entonces, la unidad de unidad de verificación de compilación 107 introduce la unidad de compilación pre-conversión 105 y convierte la unidad compilado 106 y la información de correspondencia pre-conversión 150 y la información de correspondencia de conversión post-160, de forma secuencial, de la cabeza correspondiente de ambos unidad de compilación (dirección en ambas unidades de compilación son los mismos tanto en código objeto) tanto código objeto en comparación extrayendo determina si tanto el código de objeto son los mismos. O unidad de compilación unidad de verificación 107 lleva a cabo la verificación de la transformación antes de unidad de compilación 105 y convierte la unidad compilado 106 mediante la repetición de todo el código objeto tal comparación y determinación (etapa 203), hay diferencias tanto en unidad de compilación (Paso 204).
verificación de la unidad de compilación unidad 107, cuando se determina que 'hay diferencias tanto en unidad de compilación' en el paso 204, con referencia a la información pre-conversión correspondencia 150 y la información de correspondencia de conversión post-160, la diferencia con la presencia de sitios diferencias (Paso 205). Es decir, como el resultado de la verificación indica que las diferencias en tanto unidad de compilación está presente, existe el número de línea del código fuente en tanto programa fuente (programa fuente pre-conversión 101 y el programa de origen post-conversión 103) correspondiente a la diferencia de código objeto Y emite el informe de resultados 108 (paso 205).
Usuario, el resultado basado en el número de línea del código fuente en el informe 108, para investigar la causa de la diferencia de reconocer la ubicación de las diferencias Ya la diferencia modificada para eliminar (modificación del programa fuente convertida 103 La corrección del contenido del proceso de conversión en la conversión del programa significa 102). Cuando tal modificación se completa, el procesamiento como se muestra en la figura 2 se realiza una vez más en el programa corregido.
verificación de la unidad de compilación unidad 107, cuando se determina que 'no hay diferencia en tanto unidad de compilación' en el paso 204, y envía el informe de resultado de 108 a tal efecto (etapa 206). El usuario, los resultados basados ​​en el informe 108, se puede confirmar que no hay diferencia en tanto unidad de compilación en este momento (antes de unidad de compilación de conversión 105 y convertida unidad de compilación 106), convertido de la fuente de programa pre-conversión 101 Y reconoce que la conversión relacionada con la reingeniería al programa fuente posterior 103 ha finalizado normalmente. Esto sin puede fue convencionalmente requiere 'programa de prueba de verificación de la operación' para certificar el programa fuente convertida 103 y convierte la unidad compilado 106.
A continuación, con referencia a la figura 3, se describirá una operación específica del método de verificación de reingeniería de esta realización.
fuente Pre-conversión del programa 301 en la Fig. 3, un ejemplo específico del programa fuente pre-conversión 101 en la Fig. 1, un programa de fuente para ser convertido refiere reingeniería. Para este programa fuente antes de la conversión 301, la unidad de conversión de programa 102, la conversión de programas sin cambiar la lógica del programa, tal como la conversión del formato, los datos de nombre del elemento de conversión japonés. programa Fuente después se supone que la conversión a ser convertido programa fuente 303 en la Fig. 3 (un ejemplo específico del programa fuente convertida 103 en la Fig. 1).
Haciendo referencia programa fuente a pre-conversión 301 y el programa de origen post-conversión 303, por japonés del nombre del elemento de datos, por ejemplo, 'AA' como un nombre de elemento de datos se convierte en el nombre del elemento de datos 'ah'. Sin embargo, siempre que la conversión se realice correctamente, la lógica del programa no se ha modificado para afectar el código del programa.
Por cada uno de los programa de código (programa fuente pre-conversión 301 y el programa de origen post-conversión 303) es compilada por un compilador 104, código objeto específico que se fija en una unidad de compilación pre-conversión 305 (antes de la compilación de conversión de unidades 105 en la Fig. 1 Ejemplo) y la unidad de compilación posterior a la conversión 306 (ejemplo concreto de la unidad de compilación posterior a la conversión 106 en la figura 1) se envían. Al mismo tiempo, la información de correspondencia pre-conversión 350 correspondientes a ambos unidad de compilación (ejemplo de información de correspondencia pre-conversión 150 en la Fig. 1) y se convierte correspondencia relaciones de información 360 (después de correspondencia de conversión de información 160 en la Fig. 1 Ejemplo específico) es salida.
Como se muestra en la Fig. 3, tanto en la información de correspondencia, por ejemplo, en forma de 'número de línea' 10 'código objeto partir de la dirección' 0000 'que corresponde al código fuente del' número de línea y la dirección del La información correspondiente está configurada.
Entonces, la unidad de unidad de verificación de compilación 107, la unidad de compilación pre-conversión 305 y convierte la unidad compilado 306 y la información de correspondencia pre-conversión 350 y la información de correspondencia post-conversión 360 es de entrada, el código objeto que corresponde tanto en unidad de compilación a su vez Son comparados
En primer lugar, el código objeto de la dirección siendo traducido antes de unidad de compilación 305 correspondiente al código fuente de la línea 10 en el programa fuente pre-conversión 301 '0000' (para ser preciso, 'código objeto a partir de la dirección' 0000 '' Las siguientes e incluso de la misma) en la expresión del mismo tipo, y código objeto de la dirección que se traduce después de unidad de compilación 306 correspondiente al código fuente de la línea 100 en el programa fuente post-conversión 303 '0000' se compara, y ellos son los mismos .
Entonces, correspondiente al código de objeto y, 200 de código fuente de línea en el programa fuente convertida 303 antes de la línea de conversión 20 de la dirección en la traducción antes de unidad de compilación 305 correspondiente al código fuente en el programa fuente 301 '0010' Y el código objeto de la dirección '0010' en la unidad 306 de compilación posterior a la conversión se compara, y se reconoce que son los mismos.
Asimismo, se compara el código de objeto de la dirección '0030' en ambas unidades de compilación, y se reconoce que son los mismos.
Entonces, correspondiente al código de objeto y, 400 línea de código fuente en el programa fuente convertida 303 antes de la línea de conversión 40 de la dirección en la traducción antes de unidad de compilación 305 correspondiente al código fuente en el programa fuente 301 '0040' para el código objeto de la dirección de '0040' en la unidad de compilación convertida 306 se comparan, tanto reconocer que son diferentes, el informe de resultado de verificación 308 (específicamente el informe 108 de la Fig. 1 que indica que Ejemplo).
La comparación de código objeto, tal como se ha descrito anteriormente se repite hasta que el último código objeto de ambas unidades de compilación, los resultados finales espectáculos de verificación de ambas unidades de compilación informan 308 es la salida para el usuario.
La fuente de línea de usuario 400 en el informe 308 en la información (antes de la conversión antes de la conversión correspondiente al código fuente de la línea 40 en el programa fuente 301 siendo compilado unidad 305 del código objeto y el programa de origen post-conversión 303 comprobar el resultado de la verificación) que indica que el código objeto en la unidad de compilación convertida 306 correspondiente al código que hay una diferencia, para analizar la causa tanto de código objeto son diferentes, se corrige la diferencia. Después de esta modificación, de nuevo, el procesamiento mostrado en la Fig. 2 (Verificación mediante compilación o verificación unidad de compilación unidad 107 por el compilador 104, etc.) se realiza. Tal trabajo se realiza repetidamente hasta que no haya diferencia en todos los códigos de objetos (hasta que ambas unidades de compilación se vuelvan idénticas). Si no hay diferencia en tanto unidad de compilación por el proceso repetido, sin llevar a cabo una prueba de verificación la operación del programa, significa que garantizan un funcionamiento posible del programa fuente convertida 303 y convierte la unidad compilado 306.
Efecto de la invención
Se ha descrito anteriormente forma, la presente invención es, mediante la determinación de que si hay diferencias tanto en unidad de compilación es un resultado de compilar el programa fuente antes y después de la conversión con respecto a la reingeniería (unidad de compilación antes y después de la conversión) la conversión se ha realizado con precisión , 'una prueba de confirmación de la operación del programa' para la verificación de reingeniería, que ha sido una necesidad en la reingeniería de procesos convencionales no se requiere, y tiene el efecto de que es posible reducir la carga de trabajo de verificación de reingeniería.
La figura 1 es un diagrama de bloques que muestra una configuración de una realización de un método de verificación de reingeniería de la presente invención.
La figura 2 es un diagrama de flujo que muestra el procesamiento del método de verificación de reingeniería mostrado en la figura 1.
La figura 3 es un diagrama para explicar una operación específica del método de verificación de reingeniería mostrado en la figura 1.
101, 301 programa fuente antes de la conversión
102 La conversión del programa significa
103, 303 Programa fuente después de la conversión
104 compilador
105, 305 Unidad de compilación antes de la conversión
106, 306 Unidad de compilación después de la conversión
107 compilar medios de verificación de la unidad
108,308 Informe de resultados
150, 350 información de relación de correspondencia antes de la conversión
160,360 información de relación de correspondencia después de la conversión
Reclamo
Un programa de unidad de conversión para realizar las reivindicaciones 1 activos existentes en una conversión programa fuente antes de la conversión a la sentencia de herramientas disponibles en el programa fuente forma transformado sin cambiar la lógica del programa, la compilación del programa fuente pre-conversión realizado antes de la unidad de conversión de salidas de compilación y la información de correspondencia antes de la conversión, el compilador y convertidos antes de unidad de compilación de la producción por el compilador de salida de las unidades de compilación convertidos y convertida información correspondencia para compilar el programa fuente convertida Sí diferencia entre el código objeto y el código objeto en el convertida salida unidad de compilación por la unidad de compilador y la compilación antes de la conversión mediante la comparación del código de objeto correspondiente a cada unidad sí y convertida compilación Se verifica, y que tiene una verificación de la unidad de compilación significa con referencia a la salida antes de la conversión por la información compilador correspondencia y la información de correspondencia convertida y emite un informe de resultados que indica un resultado de la verificación de la verificación Li Método de verificación de ingeniería
Una información de correspondencia entre el desplazamiento de 2 antes de las reivindicaciones de la información de correspondencia de conversión objeto código de conversión de número de línea antes de unidad de compilación del código fuente antes de programa fuente de conversión, la información de relación correspondiente después de la conversión del código fuente del programa fuente convertida Y la información de correspondencia es información de correspondencia entre el número de línea y el desplazamiento del código de objeto de la unidad de compilación posterior a la conversión.
3. El método de verificación de reingeniería según la reivindicación 1 o la reivindicación 2, en el que el lenguaje de programación para describir el programa fuente de preconversión es COBOL.
Dibujo :
Application number :1997-006606
Inventors :日本電気株式会社
Original Assignee :宮崎義昭