Title :
The Software Concordance: using a uniform document model to integrate program analysis and hypermedia
Author :
Gupta, Satish Chandra ; Nguyen, Tien Nhut ; Munson, Ethan V.
Author_Institution :
IBM India Ltd., Bangalore, India
Abstract :
Since the source code is only one of many types of documents that must be maintained as a software system evolves, modern software development could be improved by better interoperability between source code and other software documents. The Software Concordance is a prototype programming environment that uses hypermedia services and a uniform document model to achieve this interoperability. The Software Concordance editor allows developers to enhance their inline documentation with multimedia objects and hyperlinks, while still supporting advanced program analysis including lexing, parsing and type checking. We motivate the need for environments like the Software Concordance, describe the design and implementation of its program editor, and discuss lessons learned while creating it. The system is based on a uniform, Web compatible document model for both program source code and nonprogram software documents and a corresponding API. Important technical problems addressed by this research include creating a persistent representation of program lexemes that the analysis suite considers to be ephemeral (such as keywords), providing a simple incremental parsing system, and embedding multimedia in source code without disrupting program analysis. Based on insight gained in the process of implementing the document API, a new approach to the design of a more suitable program analysis infrastructure is suggested.
Keywords :
application program interfaces; hypermedia; program diagnostics; programming environments; software prototyping; system documentation; text editing; Software Concordance; application program interface; hypermedia; inline documentation; interoperability; program analysis; program editor; software prototype programming environment; uniform document model; Documentation; Java; Maintenance engineering; Multimedia systems; Programming environments; Software maintenance; Software prototyping; Software systems; System testing; Trademarks;
Conference_Titel :
Software Engineering Conference, 2003. Tenth Asia-Pacific
Print_ISBN :
0-7695-2011-1
DOI :
10.1109/APSEC.2003.1254369