• Cite Icon3
  • https://doi.org/10.1145/1035292.1029003Copy DOI Icon

Refactoring class hierarchies with KABA

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

KABA is an innovative system for refactoring Java class hierar-chies. It uses the Snelting/Tip algorithm [13] in order to determine a behavior-preserving refactoring which is optimal with respect to a given set of client programs. KABA can be based on dynamic as well as static program analysis. The static variant will preserve program behavior for all possible input values; the dynamic version guarantees preservation of behavior for all runs in a given test suite. KABA offers automatic refactoring as well as manual refactoring using a dedicated editor. In this contribution, we recapitulate the Snelting/Tip algorithm, present the new dynamic version, and explain new extensions which allow to handle full Java. We then present five case studies which discuss the KABA refactoring proposals for programs such as javac and antlr. KABA proved that javac does not need refactoring, but generated semantics-based refactoring proposals for antlr.

Similar Papers
  • Conference Article
  • Citations57

Refactoring class hierarchies with KABA

  • Oct 01, 2004
  • Mirko Streckenbach +1
  • Research Article
  • Citations1

A practical algorithm for learning disjunctive abstraction heuristics in static program analysis

  • Mar 08, 2021
  • Information and Software Technology
  • Donghoon Jeon +2
  • PDF
  • Research Article
  • Citations7

Genetic Algorithm for Test Suite Optimization: An Experimental Investigation of Different Selection Methods

  • Apr 10, 2021
  • Turkish Journal of Computer and Mathematics Education (TURCOMAT)
  • Chetan J Shingadiya Et.Al
  • Conference Article
  • Citations8

Novel approach to reuse unused test cases in a GUI based application

  • Mar 01, 2015
  • J Albert Mayan +1
  • Conference Article
  • Citations9

A Datalog Source-to-Source Translator for Static Program Analysis: An Experience Report

  • Sep 01, 2015
  • Bernhard Scholz +3
  • Book Chapter
  • Citations2

Formal Framework for Reasoning About the Precision of Dynamic Analysis

  • Jan 01, 2020
  • Mila Dalla Preda +2
  • Research Article
  • Citations1

Intelligent evaluation of test suites for developing efficient and reliable software

  • Dec 03, 2019
  • International Journal of Parallel, Emergent and Distributed Systems
  • Masoud Mohammadian +1
  • Research Article
  • Citations26

Static analysis of multi-staged programs via unstaging translation

  • Jan 26, 2011
  • ACM SIGPLAN Notices
  • Wontae Choi +3
  • Conference Article
  • Citations247

Taming reflection

  • May 21, 2011
  • Eric Bodden +4
  • Book Chapter
  • Citations11

Towards Static Analysis of Functional Programs Using Tree Automata Completion

  • Jan 01, 2014
  • Thomas Genet
  • Book Chapter
  • Citations1

Verification, Testing and Statistics

  • Jan 01, 2009
  • Sriram K Rajamani
  • Research Article
  • Citations91

Hardware-Assisted Run-Time Monitoring for Secure Program Execution on Embedded Processors

  • Dec 01, 2006
  • IEEE Transactions on Very Large Scale Integration (VLSI) Systems
  • Divya Arora +3
  • Research Article

Identifying co-occurrences of message chains and member ignoring method in android applications using static program analysis and dynamic stacking ensemble

  • Dec 19, 2025
  • Scientific Reports
  • Zhichao Ma +3
  • Conference Article

LinkRadar

  • Nov 03, 2019
  • Diandian Gu +3
  • Conference Article
  • Citations16

UFuzzer: Lightweight Detection of PHP-Based Unrestricted File Upload Vulnerabilities Via Static-Fuzzing Co-Analysis

  • Oct 06, 2021
  • Jin Huang +4
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.