JCSD: Visual support for understanding code control structure

Ahmad Jbara, Dror G. Feitelson

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Scopus citations

Abstract

Program comprehension is a vital mental process in any maintenance activity. It becomes decisive as functions get larger. Such functions are burdened with very many programming constructs as lines of code (LOC) strongly correlate with the McCabe's cyclomatic complexity (MCC). This makes it hard to capture the whole code of such functions and as a result hinders grasping their structural properties that might be essential for maintenance. Program visualization is known as a key solution that assists in comprehending complex systems. As a matter of fact we have shown, in a recent work, that control structure diagrams (CSD) could be useful to better understand and discover structural properties of such functions. For example, we found that the code regularity property, and even cloning, can be easily identified by CSDs. This paper presents JCSD, which is an Eclipse plug-in that implements CSD diagrams for Java methods. In particular it visualizes the control structure and nesting of a Java method, and by this it easily conveys structural characteristics of the code to the programmer and helps him to better understand and refactor.

Original languageEnglish (US)
Title of host publication22nd International Conference on Program Comprehension, ICPC 2014 - Proceedings
PublisherAssociation for Computing Machinery
Pages300-303
Number of pages4
ISBN (Electronic)9781450328791
DOIs
StatePublished - Jun 2 2014
Externally publishedYes
Event22nd International Conference on Program Comprehension, ICPC 2014 - Hyderabad, India
Duration: Jun 2 2014Jun 3 2014

Publication series

Name22nd International Conference on Program Comprehension, ICPC 2014 - Proceedings

Conference

Conference22nd International Conference on Program Comprehension, ICPC 2014
Country/TerritoryIndia
CityHyderabad
Period6/2/146/3/14

Keywords

  • Code complexity
  • Code regularity
  • LOC
  • MCC
  • Visualization

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Fingerprint

Dive into the research topics of 'JCSD: Visual support for understanding code control structure'. Together they form a unique fingerprint.

Cite this