• Title/Summary/Keyword: source code visualization

Search Result 23, Processing Time 0.02 seconds

Visualization Techniques for Massive Source Code (대용량 소스코드 시각화기법 연구)

  • Seo, Dong-Su
    • The Journal of Korean Association of Computer Education
    • /
    • v.18 no.4
    • /
    • pp.63-70
    • /
    • 2015
  • Program source code is a set of complex syntactic information which are expressed in text forms, and contains complex logical structures. Structural and logical complexity inside source code become barriers in applying visualization techniques shown in traditional big-data approaches when the volume of source code become over ten-thousand lines of code. This paper suggests a procedure for making visualization of structural characteristics in source code. For this purpose, this paper defines internal data structures as well as inter-procedural relationships among functions. The paper also suggests a means of outlining the structural characteristics of source code by visualizing the source codes with network forms The result of the research work can be used as a means of controling and understanding the massive volume of source code.

A Practical Study on Code Static Analysis through Open Source based Tool Chains (Open Source 기반 툴 체인화를 통한 코드 정적 분석 연구)

  • Kang, Geon-Hee;Kim, R. Young Chul;Yi, Geun Sang;Kim, Young Soo;Park, Yong. B.;Son, Hyun Seung
    • KIISE Transactions on Computing Practices
    • /
    • v.21 no.2
    • /
    • pp.148-153
    • /
    • 2015
  • In our domestic software industries, it is focused on such a high quality development/ testing process, maturity measurement, and so on. But the real industrial fields are still working on a code-centric development. Most of the existing legacy systems did not keep the design and highly increased the code complexity with more patching of the original codes. To solve this problem, we adopt a code visualization technique which is important to reduce the code complexity among modules. To do this, we suggest a tool chaining method based on the existing open source software tools, which extends NIPA's Software Visualization techniques applied to procedural languages. In addition, it should be refactored to fix bad couplings of the quality measurement indicators within the code visualization. As a result, we can apply reverse engineering to the legacy code, that is, from programming via model to architecture, and then make high quality software with this approach.

A Study on Object-Oriented Programming Education using Visualization Method (시각화방법을 이용한 객체지향프로그래밍 교육에 관한 연구)

  • Shin, Woochang
    • Journal of The Korean Association of Information Education
    • /
    • v.21 no.5
    • /
    • pp.557-565
    • /
    • 2017
  • In the era of the Fourth Industrial Revolution, programming education is becoming more important. However, it takes a lot of time and practice for students to acquire programming skills. In particular, students find it more difficult to learn object-oriented languages such as JAVA and C++, which are widely used in the industrial field. In this paper, we propose a visualization method of object interaction that can help to educate the concept of object-oriented programming, understand functions, and improve source code analysis and understanding. The proposed visualization method automatically changes the existing source code and visualizes the operation of the objects simultaneously with the execution of the program.

Plug-in Diverse Parsers Within Code Visualization System with Redefining the Coupling and Cohesion in the Object-Oriented Paradigm (객체지향 관점의 결합도 & 응집도 재정의와 코드 가시화 시스템내 파서 플러그인화 구현)

  • Lee, Jin Hyub;Park, Ji Hun;Byun, Eun Young;Son, Hyun Seung;Seo, Chae Yun;Kim, R. Young Chul
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.6 no.5
    • /
    • pp.229-234
    • /
    • 2017
  • Because of the invisible nature of software and the bad coding habits (bad smell) of the existing developers, there are many redundant codes and unnecessary codes, which increases the complexity and makes it difficult to upgrade software. Therefore, it is required a code visualization so that developers can easily and automatically identify the complexity of the source code. To do this, it is necessary to construct SW visualization tool based on open source software and redefine the coupling and cohesion according to the object oriented viewpoint. Specially to identify a bad smell code pattern, we suggest how to plug-in diverse parsers within our tool. In this paper, through redefining coupling and cohesion from an object oriented perspective, we will extract bad smell code patterns within source code from inputting any pattern into the tool.

Quality Visualization of Quality Metric Indicators based on Table Normalization of Static Code Building Information (정적 코드 내부 정보의 테이블 정규화를 통한 품질 메트릭 지표들의 가시화를 위한 추출 메커니즘)

  • Chansol Park;So Young Moon;R. Young Chul Kim
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.12 no.5
    • /
    • pp.199-206
    • /
    • 2023
  • The current software becomes the huge size of source codes. Therefore it is increasing the importance and necessity of static analysis for high-quality product. With static analysis of the code, it needs to identify the defect and complexity of the code. Through visualizing these problems, we make it guild for developers and stakeholders to understand these problems in the source codes. Our previous visualization research focused only on the process of storing information of the results of static analysis into the Database tables, querying the calculations for quality indicators (CK Metrics, Coupling, Number of function calls, Bad-smell), and then finally visualizing the extracted information. This approach has some limitations in that it takes a lot of time and space to analyze a code using information extracted from it through static analysis. That is since the tables are not normalized, it may occur to spend space and time when the tables(classes, functions, attributes, Etc.) are joined to extract information inside the code. To solve these problems, we propose a regularized design of the database tables, an extraction mechanism for quality metric indicators inside the code, and then a visualization with the extracted quality indicators on the code. Through this mechanism, we expect that the code visualization process will be optimized and that developers will be able to guide the modules that need refactoring. In the future, we will conduct learning of some parts of this process.

Development of Analysis and Visualization Tool for Java Source Code Changes using Reverse Engineering Technique (역공학을 이용한 자바 소스 코드의 변화량 분석 및 시각화 도구 개발)

  • Kwon, Jin-Wook;Choi, Yun-Ja;Lee, Woo-Jin
    • The KIPS Transactions:PartD
    • /
    • v.19D no.1
    • /
    • pp.39-48
    • /
    • 2012
  • In order to quickly understand which changes of source codes have been made and to perform effective maintenance of a system, it is important to visualize the changed parts. Although there are many works for analyzing software changes, there are few works for visualizing both of the change types and change quantifications for Java based systems. In this paper, we propose a change analysis technique based on class diagram and provide a change visualization technique by using change quantification information. In order to check the structural changes in source codes, source codes are transformed to class diagrams by reverse engineering methods. On the class diagrams, the changes are analyzed and quantified by numbers. Based on the change quantification, the changes are visualized on the class diagram by color spectrum. By using visualization techniques, maintainers can easily recognize the code changes to reduce the cost and time of maintenance.

An SVG Code Generator for Algorithm Visualization (알고리즘 시각화를 위한 SVG 코드 생성 시스템)

  • Lee, Hyang-Sug;Lee, Su-Hyun
    • Journal of Korea Multimedia Society
    • /
    • v.13 no.3
    • /
    • pp.359-368
    • /
    • 2010
  • Algorithm visualization is useful for program testing, debugging and evaluating, as well as visual aids in education. When teaching algorithms and data structures, showing exact behaviors by graphics or animation is more suitable than just explaining them. Current systems for algorithm animation are limited to a couple of specific applications and need a special environment. In the proposed system, programmer writes source program in C and animator embeds visualization scripts in the appropriate location of the program. Then user can get an animation code in form of SVG and see a graphical representation on the web browser. Generated SVG animation code is platform independent and can also interact with other XML applications or HTML.

Numerical study of the flow smulation and visualization in the co-extrusion die using OpenFOAMⓇ (OpenFOAMⓇ을 이용한 공압출기 다이 내부 유동 모사 및 가시화에 관한 수치 연구)

  • Mun, Jun Ho;Kim, Ju Hyeon;Mun, Sang Ho;Kim, See Jo
    • Journal of the Korean Society of Visualization
    • /
    • v.11 no.3
    • /
    • pp.5-11
    • /
    • 2013
  • It is of great importance to obtain the uniform layer thickness in the multi-layer co-extrusion processes. In the present study, the three-dimensional numerical simulation was carried out using the open source code named OpenFOAM(R) to understand the flow characteristics in the multi-layer die. In this numerical study, Multi-thin-layers were successfully computed depending on the number of repeating units. The generation mechanism for the multi-layer was numerically verified by the flow simulation and visualization in the co-extrusion die using OpenFOAM(R). The results suggested that the multi-layer has a divided and folded mechanism similar to the stretching and folding in the chaotic flow.

Distance Learning of Programming using the Visualization of Source Code Difference (소스 코드 차이의 시각화를 적용한 프로그래밍 원격 학습)

  • Lee, Myoung-Hee;Sohn, Ki-Rack
    • Journal of The Korean Association of Information Education
    • /
    • v.15 no.1
    • /
    • pp.77-84
    • /
    • 2011
  • Distance learning makes it possible for educational consumers to study anywhere or anytime. In order to provide effective distance learning, it requires not only educational process and educational results to be closely correlated but also a method for teachers and students to communicate immediately. We devised a dialogue system like a chatting program containing an editor. With this program, students can learn a programming practice by chatting between a teacher and a student. We also incorporated a source code visualization technique based on diff algorithm so that the visualization technique makes it possible for students to recognize the remedies by teachers visually. The result comes by mixing the merits of a dialogue system giving a close interrelationship among users into a programming language education. We expect that the successful result would be tantamount to a face-to-face education.

  • PDF

Coding Style Score Visualization Using Facial Expression (얼굴 표정을 이용한 코딩 스타일 점수 시각화)

  • Ji, Jeong-Hoon;Lee, Yun-Jung;Woo, Gyun
    • Journal of KIISE:Software and Applications
    • /
    • v.37 no.7
    • /
    • pp.578-583
    • /
    • 2010
  • This paper presents an automated visualization system, called StyleVisualizer, which checks the coding style of source codes and visualizes the coding style score using facial expression. Our system represents some kinds of facial expressions according to the evaluated score of the code style: A smile face means that the source code follows coding standards correctly. To measure the effectiveness of the StyleVisualizer, some experiments have been conducted on two class students in an applied computer course. In the experiments, we have compared the error ratio for obeying the coding standards when the StyleVisualizer was used or not. According to the experimental results, the error ratio with the StyleVisualizer was reduced above 30% than that without it. We expect that our system can encourage the students to obey the coding standards by providing the feedback of the visualized faces corresponding to their programs, resulting in high readable programs.