Architectural refactoring of corporate program systems
- M. V. Ksenzov
- Programming and Computer Software
cannot easily move from area to area. Building upon existing software systems while maintaining or improving software quality is a major goal of software engineering. To achieve this, every software engineering phase (requirements analysis, software design, implementation, testing and maintenance) must produce good quality outputs for the next phase. We believe that a next generation reverse engineering tool can assist in realizing this need. Improving access to living, accurate knowledge is critical to the success of software development . We believe that the next generation reverse engineering tool should allow architects and designers to ask their day-to-day questions directly to the tool and receive up-to-date answers while interacting with the tool. insight is a new and powerful CASE toolset for software developers and architects, designed to support the development and maintenance of software throughout the complete lifecycle. The insight tool suite provides software architects and developers with new capabilities of understanding existing software systems, allowing them to ask their day-to-day questions directly to the tool and receive up-to-date answers while interacting with the tool. It includes data mining capabilities such as code flow extraction, and software interaction extraction such as operating system and application specific messaging, uses, needs, etc. The insight tool suite also includes powerful graphical interfaces for presenting and manipulating the extracted information. Control flow is presented as editable flowcharts. insight supports Protel, ANSI C, and C++. insight uses a patent pending reverse engineering technique to perform these extractions. 2 REVERSE ENGINEERING insight offers a method and suite of software tools that automatically reverse engineers existing systems based on their structural and behavioral representation. Automatic reverse engineering methods [l, 5, 61 involve the extraction of system abstractions and design elements from source code to produce: l functional descriptions of the architectural components which could be viewed at different levels of abstraction
Unfortunately, ACM prohibits us from displaying non-influential references for this paper.
To see the full reference list, please visit http://dl.acm.org/citation.cfm?id=302723.