Abstract
The SoftDocs project at Concordia University investigates knowledge acquisition from software documents and the analysis of that knowledge for reverse engineering of legacy systems. It focusses on the recognition and analysis of diagrams rather than natural language processing of textual components of a software document. Rigorous analysis of diagrams requires a formal semantics for them, and utilises tools for symbolic reasoning.Data flow diagrams (DFDs) are one of many kinds of diagrams that software engineers use to help them understand complex systems. A data flow diagram represents a system as a network of processes connected by data flows. DFDs provide a useful and intuitive way of representing a system and they are easily interpreted by people. Without a formal semantics, however, DFDs cannot be used for automatic software understanding or reverse engineering. The goal of our research is to abstract meaning from existing diagrams, thereby enabling software tools, such as reverse engineering tools, to make use of existing diagrams.We have previously described a formal semantics for DFDs based on Milner's Calculus of Communicating Systems (CCS). The resulting formal description of a DFD can be analyzed with the aid of the Edinburgh Concurrency Workbench (CWB).A prototype tool, II-DFD, hides the details of the formal semantic notation and the commands of CWB. II-DFD provides engineers with the capability to analyze the structure and semantics of a DFD, to run simulations of the behavior of a DFD, and to display the results graphically. Semantic analysis includes the computation of a DFD's state space; finding a minimal representation for the state space; deciding whether two DFDs are equivalent; and whether one DFD is an abstraction of another, more detailed, DFD. All of these operations are potentially useful in reverse engineering and software understanding.KeywordsReverse EngineeringFormal SemanticObservable ActionPrototype ToolCase ToolThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.