SlideShare a Scribd company logo
Mapping and Visualization of
Source Code: A Survey
Nakul Sharma
Prasanth Yalla
Computer Science and Engineering Department,
Koneru Laxmiah Education Foundation,
Greenfields, Vijayawada
Abstract
This paper summarizes various states of art
literature in the field of mapping and visualizations
in a programming language. The main focus is the
design and analysis phase of Software Development
Life Cycle. Mapping and visualization in software
artifact is essential component for better
understanding of the software. It also helps
developers and maintenance professionals to
visualize the effect of changes conducted in source
code. In this work, a summary of literature review
in of major tools developed for visualization and
mapping of source code is provided.
Introduction
In this work, the following tools are being examined which are made in respect to
software visualization:-
1. Kieker [1]
2. Octobubbles [2]
3. Umple [3]
4. Reprograms [4]
5. ClonEvol [5]
6. CVSscan [6]
7. Revision Tower [7]
8. 3-DSoftVis [16]
9. History Slicing [8]
10. RelVis [9]
11. Chronia [10]
12. Spectographs [11]
13. Evolution radar [12]
14. CodeCity [13]
Necessity of Source Code Visualization
• The visualizations can help analyst, developer and
maintenance engineer in the following ways:
• Advantages to the developer include:
- Ability to visualize the changes done on source code.
- Ability to check relevant linkage between the design
and source code developed.
- Visual inspection of large software projects helps in
better understanding
Necessity of Source Code Visualization
• Advantages to the Software Maintenance: Software:
• Software maintainers are tasked with introducing
changeability through Software Configuration
Management (SCM). This change is done by studying
the end user's requirements. Hence, software
maintenance work involves the knowledge
• of analysis, design, coding, and testing as well. A visual
inspection of source code can aid in a quick
understanding of how software changes can cause
effects in different phases of the Software
Development Life Cycle (SDLC).
Steps In SCA
Literature Review
• C/C++/Java Related Visualization Tool
– ClonEval
– Kieker
– 3DSoftVis
• General Visualization Tools
– Chronos
– CVScan
– Revision Towers
– Code City
– Umple
– Reprograms
– Evolution metrics
– Evolution Radar
Reconstruction of source code from
the visualization
Source code and Its corresponding
UML class diagram
Observation From Literature Review
There were the following findings from the literature review
undertaken:
1. In a cloud-based environment, there were no specific
visualization tools developed focusing on larger project source-files.
2. Many object-oriented programming languages such as small talk do
not have any source code visualization tool.
3. In the source code visualization’s developed, the architecture of the
system is not recovered.
4. The solution domain is only addressed in the source code
visualizations which is not merged with the problem domain analysis.
5. The source code visualization’s developed were either
semi-automated completely automated.
Summary Of Tools Developed For
Different Languages For Software
VisualizationReference
No. Source Code
Language
Name of Tool
Developed
Research Tools
used Work Done
Year of
Publication
1 Java,.Net, Cobol Kieker
Java Programming
Language, Web
based GUI
Provides a framework which helps to oversee and
analyze the runtime behavior of system. Kieker is
currently deployed in multiple domains of
Software
Engineering. [18].
2012
2 UML Models Octobubbles Not Mentioned
Provides a multi-dimensional view interactive
environment for parallel visualization and
synchronization of software models 2018
5 C, C++, Java ClonEvol C,C++,Java ClonEval takes information from got from software
versioning
2013
15 Matlab/Octave None
Mentioned
Knowledge
Discovery Meta-
model
The authors generate KDM instances which are
fed as input for further processing and analysis. 2018
3
General purpose
programming
language
for visualization
Umple
Programming
language
Umple is a language which integrates modeling
and implementation. 2016
4
Repository based
projects in any
programming
language
Reprograms
Metric based
visualization
model
Tool for checking the differences and similarity of
software projects. 2016
16 Not mentioned 3DSoftVis
Java, JavaScript,
webserver,VRMLJ
D BC, RMI
Tool for visualizing the software’s release
history as it get changed across timelines 2000
Summary Of Tools Developed For
Different Languages For Software
Visualization
9 Not mentioned RelVis Kiviat Graphs
The tool allows studying the summary
of released history
of the source codes. This aids in visual
inspection across different commits.
2005
6 Not Mentioned CVSscan Not mentioned Line based approach for changes across
different Versions
2005
7 Not Mentioned Revision
Towers
Not Mentioned Creates a visualization across different
versions of software’s 2002
8 Not Mentioned Code City Small Talk,
Eclipse IDE
Code city is Eclipse based plugin which
makes use of small talk
2011
9 Not Mentioned Chronos Online tool Develops a tool named chronos for
showing
implementation
2012
11 Not Mentioned
Evolution
Spectrograph
s
Not mentioned
a visualization mechanism using
property based measurements for the
components of source code
2004
12
Mozilla
repository source
code
Evolution
Radar
Not
mentioned
Allows visual representation of the
given code at both document level as
well as module level logical coupling.
The coupling at various levels are
shown by the tool
2006
Advantages And Disadvantages Of
Software Visualization Tools Developed
Reference
No.
Source Code
Language
Name of Tool
Developed
Advantages of The Tool Disadvantage of The Tool
1, 18 Java,.Net, Cobol Kieker Allows the user to monitor the run-time behavior of
distributed systems.
1, 18
2 UML Models Octobubbles Solves the problem of program comprehension and
facilitates software navigation
2
5 C, C++, Java ClonEvol ClonEvol provides visual representation of software
across
different versions.
The scope-oriented view could
provide better representation
6 Not Mentioned CVSscan Provides a visual tool for inspecting contributions of
developers, statement by statement.
Not Mentioned
7 Not Mentioned
Revision
Towers
Provides an interface for the user to see the current
working
areas of the project, the change frequency and how
work are shared in a project.
The tool did not have any link
with the version-control
systems.
8 Not Mentioned Code City
Code City facilitates reduced task completion time and
correctness of the task performed.
Code city did not perform
better in comparison to Eclipse
and Excel
tools combined together.
9 Not Mentioned Chronos
The developer gets benefited as deelopers had study
reduced information to get to results. The accuracy of
the
developers results also increased for software
maintenance.
None Mentioned
3
General purpose
programming
language
for visualization
Umple
1. The tool is more useful to developers due to its
textual coding ability
Umple is restricted to English
natural language
4
Repository based
projects in any
programming
language
Reprograms
Tool provides user with interface to filter out
software projects and make more rational decisions
for evaluations.
None Mentioned
Advantages And Disadvantages Of
Software Visualization Tools
Developed
16 Not mentioned 3DSoftVis Tool for visual representation of release history of
the project. None mentioned
9 Not mentioned RelVis Tool provides visualization of of graphical
representation of
source code extending up to n releases.
3D Kivit diagrams are not
drawn
and are part of future scope.
11 Not Mentioned Evolution
Spectrographs
The tool highlights the changes across software
releases.
None Mentioned
12
Mozilla repository
source code
Evolution
Radar
Tools facilitates visual representation at document
and module level. The tool also does analysis at
different level of logical coupling between objects at
varying granularity.
Integration with different web
based tools.
ARTIFACTS RELATED TO SOURCE-CODE
OF A PROJECT
Sr.
No.
Type of Document Artifact of SDLC
Phase Usage Usage In SCA
Analysis
1 Dynamic Link
Library (DLL)
Coding Use in proving function
calls
Yes
2 Software Requirement
Specification (SRS) Analysis Useful in providing requirement as official
document between clients
Yes
3 Software Design
Specification
(SDS)
Design Useful in providing Design level specification of the
software being developed
Yes
4 Log Files General Create log of any activity Yes*
5 User Manual Deployment Helps in user’s day-to-day
usage of software being developed
No
6 Meeting Records General For creating proof of points discussed in meeting Yes*
7 Temp files General For storing temporary information Yes*
* depends on the relation with the source code being fed as input
Recommendations On The Literature
Review
• . Authors propose that NLP and AI technologies (NLP
and ML) can aid in better software visualization. Source
Code consists of text in-form of the developer’s
comments in the source-code files in addition to the
programming language statements.
• The programming language statements can be
understood by creating a parallel lookup dictionary or
be learnt to a machine using ML/DL techniques.
• The existing tools in SCA focus on mainly the source
code as an input. The developers of such tool need to
adopt a more holistic approach while developing these
SCA tools.
Conclusion
• This is a literature review regarding existing
software visualization tools developed in SCA.
The literature review is done on software
visualization and its related fields. The
literature contains various tools for providing
visualization to the software developer and
maintenance engineers. There has been more
work focused on software visualization with
more traditional languages such as C, C++,
java.
Citation
• Nakul Sharma, Prasanth Yalla, Mapping and
Visualization of Source Code: A Survey, DOI
10.5013/IJSSST.a.21.04.03, 3.1, ISSN: 1473-
804x online, 1473-8031 print, Vol 21, No-3.
(https://ijssst.info/Vol-21/No-4/paper3.pdf)

More Related Content

What's hot

The recommendations system for source code components retrieval
The recommendations system for source code components retrievalThe recommendations system for source code components retrieval
The recommendations system for source code components retrieval
AYESHA JAVED
 
A New Metric for Code Readability
A New Metric for Code ReadabilityA New Metric for Code Readability
A New Metric for Code Readability
IOSR Journals
 
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code... A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
Nakul Sharma
 
Class Diagram Extraction from Textual Requirements Using NLP Techniques
Class Diagram Extraction from Textual Requirements Using NLP TechniquesClass Diagram Extraction from Textual Requirements Using NLP Techniques
Class Diagram Extraction from Textual Requirements Using NLP Techniques
iosrjce
 
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
The University of Adelaide
 
Who Should Review My Code?
Who Should Review My Code?  Who Should Review My Code?
Who Should Review My Code?
The University of Adelaide
 
Software bug prediction
Software bug prediction Software bug prediction
Software bug prediction
Muthukumaran Kasinathan
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect prediction
AmmAr mobark
 
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
Ali Ouni
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
Ali Ouni
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
IJECEIAES
 
Runtime Behavior of JavaScript Programs
Runtime Behavior of JavaScript ProgramsRuntime Behavior of JavaScript Programs
Runtime Behavior of JavaScript Programs
IRJET Journal
 
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Debdoot Mukherjee
 
A Novel Approach for Code Clone Detection Using Hybrid Technique
A Novel Approach for Code Clone Detection Using Hybrid TechniqueA Novel Approach for Code Clone Detection Using Hybrid Technique
A Novel Approach for Code Clone Detection Using Hybrid Technique
INFOGAIN PUBLICATION
 
The Road Not Taken: Estimating Path Execution Frequency Statically
The Road Not Taken: Estimating Path Execution Frequency StaticallyThe Road Not Taken: Estimating Path Execution Frequency Statically
The Road Not Taken: Estimating Path Execution Frequency StaticallyRay Buse
 
A novel data type architecture support for programming languages
A novel data type architecture support for programming languagesA novel data type architecture support for programming languages
A novel data type architecture support for programming languages
ijpla
 

What's hot (19)

The recommendations system for source code components retrieval
The recommendations system for source code components retrievalThe recommendations system for source code components retrieval
The recommendations system for source code components retrieval
 
Mannu_Kumar_CV
Mannu_Kumar_CVMannu_Kumar_CV
Mannu_Kumar_CV
 
A New Metric for Code Readability
A New Metric for Code ReadabilityA New Metric for Code Readability
A New Metric for Code Readability
 
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code... A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 
Class Diagram Extraction from Textual Requirements Using NLP Techniques
Class Diagram Extraction from Textual Requirements Using NLP TechniquesClass Diagram Extraction from Textual Requirements Using NLP Techniques
Class Diagram Extraction from Textual Requirements Using NLP Techniques
 
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
 
Who Should Review My Code?
Who Should Review My Code?  Who Should Review My Code?
Who Should Review My Code?
 
Software bug prediction
Software bug prediction Software bug prediction
Software bug prediction
 
Data collection for software defect prediction
Data collection for software defect predictionData collection for software defect prediction
Data collection for software defect prediction
 
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
A Multi-Objective Refactoring Approach to Introduce Design Patterns and Fix A...
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
 
kapil_2_3years
kapil_2_3yearskapil_2_3years
kapil_2_3years
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
 
Runtime Behavior of JavaScript Programs
Runtime Behavior of JavaScript ProgramsRuntime Behavior of JavaScript Programs
Runtime Behavior of JavaScript Programs
 
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
Is Text Search an Effective Approach for Fault Localization: A Practitioners ...
 
Arch java
Arch javaArch java
Arch java
 
A Novel Approach for Code Clone Detection Using Hybrid Technique
A Novel Approach for Code Clone Detection Using Hybrid TechniqueA Novel Approach for Code Clone Detection Using Hybrid Technique
A Novel Approach for Code Clone Detection Using Hybrid Technique
 
The Road Not Taken: Estimating Path Execution Frequency Statically
The Road Not Taken: Estimating Path Execution Frequency StaticallyThe Road Not Taken: Estimating Path Execution Frequency Statically
The Road Not Taken: Estimating Path Execution Frequency Statically
 
A novel data type architecture support for programming languages
A novel data type architecture support for programming languagesA novel data type architecture support for programming languages
A novel data type architecture support for programming languages
 

Similar to Mapping and visualization of source code a survey

Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
Nakul Sharma
 
Wecreate
WecreateWecreate
Wecreate
Jos De Roeck
 
MERN PPT
MERN PPTMERN PPT
Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....
Babu Kanikicharla (K Y Babu Setty)
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
Tasnim Jahan
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
Tasnim Jahan
 
.Net Technologies Lesson 1.pptx
.Net Technologies Lesson 1.pptx.Net Technologies Lesson 1.pptx
.Net Technologies Lesson 1.pptx
EllenGracePorras
 
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
yaminohime
 
Uc13.chapter.13
Uc13.chapter.13Uc13.chapter.13
Uc13.chapter.13
Irfan Ali Memon
 
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevProTop 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
SofiaCarter4
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compiler
ijtsrd
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
ssuserbe139c
 
React Native App Development Company in USA and India
React Native App Development Company in USA and India				React Native App Development Company in USA and India
React Native App Development Company in USA and India
Shelly Megan
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
MohamedElshaikh10
 
Resume
ResumeResume
dot net
dot netdot net
dot net
sambhajimeher
 

Similar to Mapping and visualization of source code a survey (20)

Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
Wecreate
WecreateWecreate
Wecreate
 
Prakash_Ganapathy
Prakash_GanapathyPrakash_Ganapathy
Prakash_Ganapathy
 
Chapter 10
Chapter 10 Chapter 10
Chapter 10
 
10tait
10tait10tait
10tait
 
MERN PPT
MERN PPTMERN PPT
MERN PPT
 
Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
 
.Net Technologies Lesson 1.pptx
.Net Technologies Lesson 1.pptx.Net Technologies Lesson 1.pptx
.Net Technologies Lesson 1.pptx
 
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
Understanding Computers: Today and Tomorrow, 13th Edition Chapter 13 - Progra...
 
Uc13.chapter.13
Uc13.chapter.13Uc13.chapter.13
Uc13.chapter.13
 
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevProTop 25+ .Net development tools for intelligent business solutions - AppsDevPro
Top 25+ .Net development tools for intelligent business solutions - AppsDevPro
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compiler
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
 
React Native App Development Company in USA and India
React Native App Development Company in USA and India				React Native App Development Company in USA and India
React Native App Development Company in USA and India
 
2. C# Guide - To Print
2. C# Guide - To Print2. C# Guide - To Print
2. C# Guide - To Print
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
Resume
ResumeResume
Resume
 
dot net
dot netdot net
dot net
 

More from Nakul Sharma

Visualizing UML’s Sequence and Class Diagrams Using Graph-Based Clusters
Visualizing UML’s Sequence and   Class Diagrams Using Graph-Based Clusters  Visualizing UML’s Sequence and   Class Diagrams Using Graph-Based Clusters
Visualizing UML’s Sequence and Class Diagrams Using Graph-Based Clusters
Nakul Sharma
 
Integrating natural language processing and software engineering
Integrating natural language processing and software engineeringIntegrating natural language processing and software engineering
Integrating natural language processing and software engineering
Nakul Sharma
 
Possibility of interdisciplinary research software engineering andnatural lan...
Possibility of interdisciplinary research software engineering andnatural lan...Possibility of interdisciplinary research software engineering andnatural lan...
Possibility of interdisciplinary research software engineering andnatural lan...
Nakul Sharma
 
Possibility of interdisciplinary research software engineering and
Possibility of interdisciplinary research software engineering andPossibility of interdisciplinary research software engineering and
Possibility of interdisciplinary research software engineering and
Nakul Sharma
 
Session on machine translation batu 19 march2016
Session on machine translation batu 19 march2016Session on machine translation batu 19 march2016
Session on machine translation batu 19 march2016
Nakul Sharma
 
Integrating natural language processing and software engineering
Integrating natural language processing and software engineeringIntegrating natural language processing and software engineering
Integrating natural language processing and software engineering
Nakul Sharma
 
Statistical machine translation for indian language copy
Statistical machine translation for indian language   copyStatistical machine translation for indian language   copy
Statistical machine translation for indian language copy
Nakul Sharma
 

More from Nakul Sharma (7)

Visualizing UML’s Sequence and Class Diagrams Using Graph-Based Clusters
Visualizing UML’s Sequence and   Class Diagrams Using Graph-Based Clusters  Visualizing UML’s Sequence and   Class Diagrams Using Graph-Based Clusters
Visualizing UML’s Sequence and Class Diagrams Using Graph-Based Clusters
 
Integrating natural language processing and software engineering
Integrating natural language processing and software engineeringIntegrating natural language processing and software engineering
Integrating natural language processing and software engineering
 
Possibility of interdisciplinary research software engineering andnatural lan...
Possibility of interdisciplinary research software engineering andnatural lan...Possibility of interdisciplinary research software engineering andnatural lan...
Possibility of interdisciplinary research software engineering andnatural lan...
 
Possibility of interdisciplinary research software engineering and
Possibility of interdisciplinary research software engineering andPossibility of interdisciplinary research software engineering and
Possibility of interdisciplinary research software engineering and
 
Session on machine translation batu 19 march2016
Session on machine translation batu 19 march2016Session on machine translation batu 19 march2016
Session on machine translation batu 19 march2016
 
Integrating natural language processing and software engineering
Integrating natural language processing and software engineeringIntegrating natural language processing and software engineering
Integrating natural language processing and software engineering
 
Statistical machine translation for indian language copy
Statistical machine translation for indian language   copyStatistical machine translation for indian language   copy
Statistical machine translation for indian language copy
 

Recently uploaded

AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 

Recently uploaded (20)

AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 

Mapping and visualization of source code a survey

  • 1. Mapping and Visualization of Source Code: A Survey Nakul Sharma Prasanth Yalla Computer Science and Engineering Department, Koneru Laxmiah Education Foundation, Greenfields, Vijayawada
  • 2. Abstract This paper summarizes various states of art literature in the field of mapping and visualizations in a programming language. The main focus is the design and analysis phase of Software Development Life Cycle. Mapping and visualization in software artifact is essential component for better understanding of the software. It also helps developers and maintenance professionals to visualize the effect of changes conducted in source code. In this work, a summary of literature review in of major tools developed for visualization and mapping of source code is provided.
  • 3. Introduction In this work, the following tools are being examined which are made in respect to software visualization:- 1. Kieker [1] 2. Octobubbles [2] 3. Umple [3] 4. Reprograms [4] 5. ClonEvol [5] 6. CVSscan [6] 7. Revision Tower [7] 8. 3-DSoftVis [16] 9. History Slicing [8] 10. RelVis [9] 11. Chronia [10] 12. Spectographs [11] 13. Evolution radar [12] 14. CodeCity [13]
  • 4. Necessity of Source Code Visualization • The visualizations can help analyst, developer and maintenance engineer in the following ways: • Advantages to the developer include: - Ability to visualize the changes done on source code. - Ability to check relevant linkage between the design and source code developed. - Visual inspection of large software projects helps in better understanding
  • 5. Necessity of Source Code Visualization • Advantages to the Software Maintenance: Software: • Software maintainers are tasked with introducing changeability through Software Configuration Management (SCM). This change is done by studying the end user's requirements. Hence, software maintenance work involves the knowledge • of analysis, design, coding, and testing as well. A visual inspection of source code can aid in a quick understanding of how software changes can cause effects in different phases of the Software Development Life Cycle (SDLC).
  • 7. Literature Review • C/C++/Java Related Visualization Tool – ClonEval – Kieker – 3DSoftVis • General Visualization Tools – Chronos – CVScan – Revision Towers – Code City – Umple – Reprograms – Evolution metrics – Evolution Radar
  • 8. Reconstruction of source code from the visualization
  • 9. Source code and Its corresponding UML class diagram
  • 10. Observation From Literature Review There were the following findings from the literature review undertaken: 1. In a cloud-based environment, there were no specific visualization tools developed focusing on larger project source-files. 2. Many object-oriented programming languages such as small talk do not have any source code visualization tool. 3. In the source code visualization’s developed, the architecture of the system is not recovered. 4. The solution domain is only addressed in the source code visualizations which is not merged with the problem domain analysis. 5. The source code visualization’s developed were either semi-automated completely automated.
  • 11. Summary Of Tools Developed For Different Languages For Software VisualizationReference No. Source Code Language Name of Tool Developed Research Tools used Work Done Year of Publication 1 Java,.Net, Cobol Kieker Java Programming Language, Web based GUI Provides a framework which helps to oversee and analyze the runtime behavior of system. Kieker is currently deployed in multiple domains of Software Engineering. [18]. 2012 2 UML Models Octobubbles Not Mentioned Provides a multi-dimensional view interactive environment for parallel visualization and synchronization of software models 2018 5 C, C++, Java ClonEvol C,C++,Java ClonEval takes information from got from software versioning 2013 15 Matlab/Octave None Mentioned Knowledge Discovery Meta- model The authors generate KDM instances which are fed as input for further processing and analysis. 2018 3 General purpose programming language for visualization Umple Programming language Umple is a language which integrates modeling and implementation. 2016 4 Repository based projects in any programming language Reprograms Metric based visualization model Tool for checking the differences and similarity of software projects. 2016 16 Not mentioned 3DSoftVis Java, JavaScript, webserver,VRMLJ D BC, RMI Tool for visualizing the software’s release history as it get changed across timelines 2000
  • 12. Summary Of Tools Developed For Different Languages For Software Visualization 9 Not mentioned RelVis Kiviat Graphs The tool allows studying the summary of released history of the source codes. This aids in visual inspection across different commits. 2005 6 Not Mentioned CVSscan Not mentioned Line based approach for changes across different Versions 2005 7 Not Mentioned Revision Towers Not Mentioned Creates a visualization across different versions of software’s 2002 8 Not Mentioned Code City Small Talk, Eclipse IDE Code city is Eclipse based plugin which makes use of small talk 2011 9 Not Mentioned Chronos Online tool Develops a tool named chronos for showing implementation 2012 11 Not Mentioned Evolution Spectrograph s Not mentioned a visualization mechanism using property based measurements for the components of source code 2004 12 Mozilla repository source code Evolution Radar Not mentioned Allows visual representation of the given code at both document level as well as module level logical coupling. The coupling at various levels are shown by the tool 2006
  • 13. Advantages And Disadvantages Of Software Visualization Tools Developed Reference No. Source Code Language Name of Tool Developed Advantages of The Tool Disadvantage of The Tool 1, 18 Java,.Net, Cobol Kieker Allows the user to monitor the run-time behavior of distributed systems. 1, 18 2 UML Models Octobubbles Solves the problem of program comprehension and facilitates software navigation 2 5 C, C++, Java ClonEvol ClonEvol provides visual representation of software across different versions. The scope-oriented view could provide better representation 6 Not Mentioned CVSscan Provides a visual tool for inspecting contributions of developers, statement by statement. Not Mentioned 7 Not Mentioned Revision Towers Provides an interface for the user to see the current working areas of the project, the change frequency and how work are shared in a project. The tool did not have any link with the version-control systems. 8 Not Mentioned Code City Code City facilitates reduced task completion time and correctness of the task performed. Code city did not perform better in comparison to Eclipse and Excel tools combined together. 9 Not Mentioned Chronos The developer gets benefited as deelopers had study reduced information to get to results. The accuracy of the developers results also increased for software maintenance. None Mentioned 3 General purpose programming language for visualization Umple 1. The tool is more useful to developers due to its textual coding ability Umple is restricted to English natural language 4 Repository based projects in any programming language Reprograms Tool provides user with interface to filter out software projects and make more rational decisions for evaluations. None Mentioned
  • 14. Advantages And Disadvantages Of Software Visualization Tools Developed 16 Not mentioned 3DSoftVis Tool for visual representation of release history of the project. None mentioned 9 Not mentioned RelVis Tool provides visualization of of graphical representation of source code extending up to n releases. 3D Kivit diagrams are not drawn and are part of future scope. 11 Not Mentioned Evolution Spectrographs The tool highlights the changes across software releases. None Mentioned 12 Mozilla repository source code Evolution Radar Tools facilitates visual representation at document and module level. The tool also does analysis at different level of logical coupling between objects at varying granularity. Integration with different web based tools.
  • 15. ARTIFACTS RELATED TO SOURCE-CODE OF A PROJECT Sr. No. Type of Document Artifact of SDLC Phase Usage Usage In SCA Analysis 1 Dynamic Link Library (DLL) Coding Use in proving function calls Yes 2 Software Requirement Specification (SRS) Analysis Useful in providing requirement as official document between clients Yes 3 Software Design Specification (SDS) Design Useful in providing Design level specification of the software being developed Yes 4 Log Files General Create log of any activity Yes* 5 User Manual Deployment Helps in user’s day-to-day usage of software being developed No 6 Meeting Records General For creating proof of points discussed in meeting Yes* 7 Temp files General For storing temporary information Yes* * depends on the relation with the source code being fed as input
  • 16. Recommendations On The Literature Review • . Authors propose that NLP and AI technologies (NLP and ML) can aid in better software visualization. Source Code consists of text in-form of the developer’s comments in the source-code files in addition to the programming language statements. • The programming language statements can be understood by creating a parallel lookup dictionary or be learnt to a machine using ML/DL techniques. • The existing tools in SCA focus on mainly the source code as an input. The developers of such tool need to adopt a more holistic approach while developing these SCA tools.
  • 17. Conclusion • This is a literature review regarding existing software visualization tools developed in SCA. The literature review is done on software visualization and its related fields. The literature contains various tools for providing visualization to the software developer and maintenance engineers. There has been more work focused on software visualization with more traditional languages such as C, C++, java.
  • 18. Citation • Nakul Sharma, Prasanth Yalla, Mapping and Visualization of Source Code: A Survey, DOI 10.5013/IJSSST.a.21.04.03, 3.1, ISSN: 1473- 804x online, 1473-8031 print, Vol 21, No-3. (https://ijssst.info/Vol-21/No-4/paper3.pdf)