• Title/Summary/Keyword: Reusable Code

Search Result 37, Processing Time 0.025 seconds

Analogy-based Reuse of Object Model (아날로지를 기반으로 한 객체모델의 재사용)

  • Bae, Je-Min
    • The KIPS Transactions:PartD
    • /
    • v.14D no.6
    • /
    • pp.665-674
    • /
    • 2007
  • Code reuse in software reuse has several limitations such as difficulties of understanding and retrieval of the reuse code written by other developers. To overcome these problems, it should be possible to reuse the analysis/design information than source code itself. Therefore, this paper present analogical matching techniques for the reuse of object models and patterns. And this paper have suggested the object model and the design patterns as reusable components and the representation techniques to store them. Namely, the contents of the paper are as follows. Analogical matching functions to retrieve analogous components from reusable libraries. And the representation of reusable components to be stored in the library in order to support the analogical matching.

A Reusable SQL Injection Detection Method for Java Web Applications

  • He, Chengwan;He, Yue
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • v.14 no.6
    • /
    • pp.2576-2590
    • /
    • 2020
  • The fundamental reason why most SQL injection detection methods are difficult to use in practice is the low reusability of the implementation code. This paper presents a reusable SQL injection detection method for Java Web applications based on AOP (Aspect-Oriented Programming) and dynamic taint analysis, which encapsulates the dynamic taint analysis processes into different aspects and establishes aspect library to realize the large-grained reuse of the code for detecting SQL injection attacks. A metamodel of aspect library is proposed, and a management tool for the aspect library is implemented. Experiments show that this method can effectively detect 7 known types of SQL injection attack such as tautologies, logically incorrect queries, union query, piggy-backed queries, stored procedures, inference query, alternate encodings and so on, and support the large-grained reuse of the code for detecting SQL injection attacks.

A study on Quality Metrics of Reusable Classes Candidate (재사용가능한 클래스 후보자들의 품질 메트릭들에 관한 연구)

  • Kim, Jae-Saeng;Song, Yeong-Jae
    • The Transactions of the Korea Information Processing Society
    • /
    • v.4 no.1
    • /
    • pp.107-117
    • /
    • 1997
  • It is use in many researches that the s/w quality evaluation evaluates the developing system or the developed system, updates the problems and selects the reusable components from source code. In this paper, we propose the objective metric functions which can evaluate the reusability of candidates classes with the KHR system[11] and select a proper candidate. The quantitative quality we proposed have merits to compare and to evaluate the reusable candidates classes.

  • PDF

Reuse of Analysis/Design patterns Based on Analogy (Analogy를 기반으로 한 분석/설계 패턴의 재사용)

  • Kim, Jeong-A;Kim, Haeng-Gon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.4
    • /
    • pp.916-931
    • /
    • 1999
  • Code reuse in software reuse has several limitations such as difficulties of understanding and retrieval of the reuse code written by other developers. To overcome these problems, it should be possible to reuse the analysis/design information than source code itself. In this paper, we present analogical matching techniques for the reuse of object models and patterns. We have suggested the design patterns as reusable components and the representation techniques to store them. The contents of the paper is as follows.1. analogical matching functions to retrieve analogous components from reusable libraries. 2. the representation of reusable components to be stored in the library in order to support the analogical matching. 3. the design library with more semantic informations about domains. 4. the analogical matching agent with a user-friendly interface that can retrieve the analogous components from the library based on analogical matching techniques.

  • PDF

A study of generic programming method for source code reuse in image processing algorithm implementation (영상처리 알고리즘 구현에서 소스코드 재사용을 위한 제너릭 프로그래밍 방법에 관한 연구)

  • Lee Jeong-Heon;Lee June-Hyung
    • Journal of the Korea Society of Computer and Information
    • /
    • v.10 no.3 s.35
    • /
    • pp.19-34
    • /
    • 2005
  • The difficulties in implementing of image processing algorithms are a major reason for the lack of research into algorithm comparison. This fact makes an image processing research with difficult. We conclude that it is important to represent algorithms in form of reusable code. Since current image processing systems do not fulfill all requirements we must pose on reusable implementations, we propose to solve the reuse problem by applying generic programming. We define two dimensional iterators, which mediate between image processing algorithms and their underlying data structures, so that the same algorithm implementation can be applied to any number of different image formats. The elegance and efficiency of this approach is illustrated by a number of useful examples and demonstrated by porting in existing image processing algorithm IDE(Integrated Development Environment).

  • PDF

Domain Analysis of Device Drivers Using Code Clone Detection Method

  • Ma, Yu-Seung;Woo, Duk-Kyun
    • ETRI Journal
    • /
    • v.30 no.3
    • /
    • pp.394-402
    • /
    • 2008
  • Domain analysis is the process of analyzing related software systems in a domain to find their common and variable parts. In the case of device drivers, they are highly suitable for domain analysis because device drivers of the same domain are implemented similarly for each device and each system that they support. Considering this characteristic, this paper introduces a new approach to the domain analysis of device drivers. Our method uses a code clone detection technique to extract similarity among device drivers of the same domain. To examine the applicability of our method, we investigated whole device drivers of a Linux source. Results showed that many reusable similar codes can be discerned by the code clone detection method. We also investigated if our method is applicable to other kernel sources. However, the results show that the code clone detection method is not useful for the domain analysis of all kernel sources. That is, the applicability of the code clone detection method to domain analysis is a peculiar feature of device drivers.

  • PDF

Constructing an Open Source Based Software System for Reusable Module Extraction (재사용 모듈 추출을 위한 오픈 소스 기반 소프트웨어 시스템 구축)

  • Byun, Eun Young;Park, Bokyung;Jang, Woosung;Kim, R. Young Chul;Son, Hyun Seung
    • KIISE Transactions on Computing Practices
    • /
    • v.23 no.9
    • /
    • pp.535-541
    • /
    • 2017
  • Today, the scale of the computer software market has increased, and massive sized software has been developed to satisfy diverse requirements. In this context, software complexity is increasing and the quality of software is becoming more difficult to manage. In particular, software reuse is important for the improvement of the environments of legacy systems and new system development. In this paper, we propose a method to reuse modules that are certified by quality. Reusable levels are divided into code area (method, class, and component), project domain, and business levels. Based on the coupling and cohesion of software complexity, we propose a reusable module extraction mechanism with reusability metrics, which constructs a visualization of the "reusable module's chunk" based on the method and class levels. By applying reverse engineering to legacy projects, it is possible to identify reusable modules/objects/chunks. If these modules/objects/chunks are to be reused to develop an extension system or similar new system, we need to ensure software reliability in order to reduce the time and cost of software development.

Design Automation for Enterprise System based on .NET with Extended UML Profile Mechanism

  • Kum, Deuk-Kyu
    • Journal of the Korea Society of Computer and Information
    • /
    • v.21 no.12
    • /
    • pp.115-124
    • /
    • 2016
  • In this paper, a method to generate the extended model automatically on the critical elements in enterprise system based real time distributed architecture as well as the platform specific model(PSM) for Microsoft(MS) .NET platform is proposed. The key ideas of this method are real time distributed architecture should performed with satisfying strict constraints on life cycle of object and response time such as synchronization, transaction and so on, and .NET platform is able to implement functionalities including before mentioned by only specifying Attribute Code and maximizing advantages of MDA. In order to realize the ideas, functionalities which should be considered enterprise system development are specified and these are to be defined in Meta Model and extended UML profile. In addition, after definition of UML profile for .NET specification, by developing and applying these into plug-in of open source MDA tool, and extended models are generated automatically through this tool. Accordingly, by using proposed specification technology, the profile and tools easily and quickly reusable extended model can be generated even though low level of detailed information for functionalities which is considered in .NET platform and real time distributed architecture. In addition, because proposed profile is MOF which is basis of standard extended and applied, UML and MDA tools which observed MOF is reusable.

Class Code Generation method for Component model Construction (컴포넌트 모델구축을 위한 클래스 코드 자동생성 방법)

  • Lim, Keun;Lee, Ki-Young
    • Journal of the Korea Society of Computer and Information
    • /
    • v.13 no.5
    • /
    • pp.69-76
    • /
    • 2008
  • In this thesis, we implemented the prototype system for the class code generator based on consistent code generation process and standard type, the class to be component unit. Particularly, we proposed relationship rule to solve the difficult problem by the object-oriented language to association and aggregation between classes based on component, through this method we can make to consistent code generation standard. Also it is adopted to component model construction which is generated code using code generation, and it can be basic assembly and deployment of business components to reusable target in developing application system.

  • PDF

A Code Clustering Technique for Unifying Method Full Path of Reusable Cloned Code Sets of a Product Family (제품군의 재사용 가능한 클론 코드의 메소드 경로 통일을 위한 코드 클러스터링 방법)

  • Kim, Taeyoung;Lee, Jihyun;Kim, Eunmi
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.12 no.1
    • /
    • pp.1-18
    • /
    • 2023
  • Similar software is often developed with the Clone-And-Own (CAO) approach that copies and modifies existing artifacts. The CAO approach is considered as a bad practice because it makes maintenance difficult as the number of cloned products increases. Software product line engineering is a methodology that can solve the issue of the CAO approach by developing a product family through systematic reuse. Migrating product families that have been developed with the CAO approach to the product line engineering begins with finding, integrating, and building them as reusable assets. However, cloning occurs at various levels from directories to code lines, and their structures can be changed. This makes it difficult to build product line code base simply by finding clones. Successful migration thus requires unifying the source code's file path, class name, and method signature. This paper proposes a clustering method that identifies a set of similar codes scattered across product variants and some of their method full paths are different, so path unification is necessary. In order to show the effectiveness of the proposed method, we conducted an experiment using the Apo Games product line, which has evolved with the CAO approach. As a result, the average precision of clustering performed without preprocessing was 0.91 and the number of identified common clusters was 0, whereas our method showed 0.98 and 15 respectively.