By Steven G. Woods

The nice problem of opposite engineering is getting better layout details from legacy code: the idea that restoration challenge. This monograph describes our examine attempt in attacking this challenge. It discusses our idea of ways a constraint-based method of application plan popularity can successfully extract layout suggestions from resource code, and it information experiments in suggestion restoration that help our claims of scalability. Importantly, we current our versions and experiments in enough element so we can be simply replicated. This ebook is meant for researchers or software program builders keen on opposite engineering or reengineering legacy structures. even if, it could additionally curiosity these researchers who're utilizing plan reputation thoughts or constraint-based reasoning. we think the reader to have a cheap machine technological know-how heritage (i.e., familiarity with the fundamentals of programming and set of rules analysis), yet we don't require familiarity with the fields of opposite engineering or man made intelligence (AI). To this finish, we conscientiously clarify the entire AI recommendations we use. This ebook is designed as a reference for complicated undergraduate or graduate seminar classes in software program engineering, opposite engineering, or reengineering. it may well additionally function a supplementary textbook for software program engineering-related classes, corresponding to these on software knowing or layout restoration, for AI-related classes, reminiscent of these on plan popularity or constraint pride, and for classes that conceal either subject matters, similar to these on AI functions to software program engineering. association The ebook contains 8 chapters.

Show description

Read Online or Download Constraint-Based Design Recovery for Software Reengineering: Theory and Experiments PDF

Best design books

Design of Composite Highway Bridges Curved in Plan

This booklet enhances prior layout courses for the layout of composite bridges in line with the Eurocodes. It recognises that many road bridges hold roads which are on a curved alignment and the aiding constitution follows that curved alignment. The counsel addresses the results of the plan curvature at the layout.

Planning by Design (PxD)-Based Systematic Methodologies

The booklet exhibits how you can use making plans through layout (PxD) for constructing operating versions to any kind of topic quarter. part 1 describes the character of making plans usually, the formulation of making plans, the good points that make it systematic, the essence of PxD, and constructing and utilizing the operating version. part 2 demonstrates own software of inventive making plans to actual existence instances and useful operating versions on diversified topic components.

Additional resources for Constraint-Based Design Recovery for Software Reengineering: Theory and Experiments

Sample text

Add 1 to n. IF ssn < zero GO TO Done. IF job < 5 IF job < 2 GO TO print-pay ELSE GO TO ded2. 2 GOTO print-ded. COMPUTE deduct = pay print-ded. DISPLAY deduct. print-pay. DISPLAY pay. GO TO Loop. Done. SUBTRACT 1 from n. DISPLAY n. STOP RUN. 10. * p15. An example COBOL code fragment. Program Representation. Unprog's internal representation is a hierarchical program model or HMODEL. An HMODEL is a hierarchical control flow graph that is annotated with data creation and use relationships. 11 shows its top-level HMODEL.

The idea is that there may be insufficient information for the system to verify that a particular design concept is present but enough information to make an educated guess that it might be there. The suggestion that this design concept is present may aid the user in understanding exactly what is happening with a particular portion of the source code. 1): it has many of the features of a leap year test, but not the division by 400 or the use of that result in a comparison. ,,--- .... ... Design Concept Recognizer ...

In addition, whenever a plan is recognized and implies another plan, attempt to match the additional components and evaluate the additional constraints. Then for each plan recognized, recursively see if it indexes any plans in the library. There were several potential complications to this algorithm. One is that at the time an index is evaluated, components that are themselves plans may not have been recognized yet. For example, the Increment component of Indexed-Traverse-String is a sub-plan that may not have been recognized at the time the index triggers consideration of Indexed-Traverse-String.

Download PDF sample

Rated 4.53 of 5 – based on 11 votes