Font Size: a A A

Research On Source Code Analysis, Display And Application Based On SrcML

Posted on:2009-05-17Degree:MasterType:Thesis
Country:ChinaCandidate:J L BoFull Text:PDF
GTID:2178360278956915Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the increasing of the complexity and the size of the computer software, software understanding and maintenance is becoming more and more important in software lifecycle. Also, the cost of software understanding and maintenance is increasing correspondingly. Therefore, there exists a gap between the inherent diversity and complexity of programming language and developing environment and the simplex processing ability provided by current tools. The existing gap makes the process of understanding and maintaining large-scale software more complex. To reduce the complexity of software understanding and maintenance, it is essential and significant to develop a tools suite of source code analysis, displaying and weaving, in which some important features, such as the independence of target system language, extensibility and the light weight, should be provided.As a new source code representing method based on XML, srcML inherits all the advantages of XML. The programs developed in different languages and various developing environments can be described in a uniform and extensible style by using srcML. A framework of software understanding and maintenance can be constructed on the basis of srcML to provide the independence and extensibility of target system languages. By applying srcML into the area of software understanding and maintenance, a source code application model based on srcML (SCAMS) is proposed. By introducing the design methodology of hierarchy, SCAMS can provide not only the advantages of high independence, extensibility, simplicity and adaptability of platform but also the full compatibility with XML. A novel framework of software understanding and maintenance with high structural and functional extensibility is implemented based on SCAMS. A tools suite of source code analysis, displaying and weaving is also implemented under the proposed framework. These tools can efficiently support the analysis, displaying and weaving of high-level programming languages by providing friendly human interface. The tools suite has been successfully embedded into the Trusted Software Integration Develop Environment (TSIDE) system developed by the school of computer in NUDT. The main work and contributions of the dissertation are as follows.(1)Some markup textual representation methods of source code are investigated, in which the representation methods based on XML are compared and summarized. The principles and the applications of srcML are emphasized in our work.(2)Based on the design methodology of hierarchy, a source code application model based on srcML (SCAMS) is proposed. SCAMS consists of code representation layer, abstract model layer and specific application layer. By introducing srcML layer into the traditional source code processing procedure, independence can be obtained between the task of software understanding and maintenance and the target system language. The mechanisms of source code analysis, displaying and weaving provided by SCAMS are with high compatibility and extensibility.(3)A framework of software understanding and maintenance is designed based on SCAMS, mainly including the tools suite of source code analysis, displaying and weaving, i.e., SrcADWTool. SrcADWTool can efficiently generate the syntax structure graph without compiler's support. Moreover, through the friendly graphic interface, the developers can weave the source code based on the syntax structure of the target code, while maintaining the original quality of the source code.(4)The practical application of SrcADWTool in TSIDE is introduced. The functionality and the reliability of the SrcADWTool are verified by using an application of producer-consumer. The experimental results show that, SCAMS and the corresponding SrcADWTool can efficiently support the analysis and the displaying of the syntax structure for source code, and it can also offer a high-quality source code weaving results. The work in this dissertation is practical and significant and it can serve as an important guideline for the complex software understanding and maintenance.
Keywords/Search Tags:Software Understanding, Software Maintainance, Source Code Analysis, Source Code Weaving, SrcML
PDF Full Text Request
Related items