Navigation through Source Code Prepared by Soha Makady
Problem Statement As the software changes, documents become obsolete, hence the source code becomes the only reliable documentation for the developer But … as the software size increases, code navigation becomes a hard task So… We need to provide a visual representation for the relationships between the source code elements
Data An XML-based representation for source code. Includes info about: Packages Classes (including attributes and operations) Relationships Inheritance: for classes and interfaces Calls: records calls between different methods References: for field references from a different class, or a method
Related Work Locates a feature within the code
To Do (1) Visualize method calls to trace any feature Class1 attribute1 attribute2 method1() method2() method3() Class2 Attribute3 Attribute4 method7() method8() method9() m1() calls m9() m3() calls m7() …. m2() calls m9()
To Do (2) – May be Visualize the affected test cases by code modification TestClass2 testMethod4() testMethod5() testMethod6() Class1 attribute1 attribute2 method1() method2() method3() TestClass1 testMethod1() testMethod2() testMethod3()