Abstract
Refactoring tools are extremely important to prevent errors and reduce consumed time. But these tools only support text-based languages, especially in Object Oriented languages. In order to accommodate the situation that Dataflow Visual Programming Languages (DFVPLs) are more and more popular, an automated refactoring tool for DFVPL was proposed. DFVPL was divided into two layers---visual layer and dataflow layer. Two layers mutually evolved, which ensured correctness of visual elements and dataflow semantic during refactoring. Some algorithms like middle graph generation; terminal auto-generation and terminal auto-modification were proposed to implement the changes of two layers. This tool has been proved correct and efficient by some refactoring instances. In addition, we discussed some famous DFVPL like LabVIEW to expose lacking of automated refactoring tool forced refactoring by hand to be time-consuming and error-prone.
- M Fowler, K Beck, J Brant, W Opdyke, and D Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999, pp. 47--51.Google Scholar
- W. F. Opdyke, "Refactoring Object-Oriented Frameworks," Ph.D. thesis, University of Illinois, 1992, pp. 18--35. Google Scholar
Digital Library
- D Roberts, J Brant, R Johnson, "A refactoring tool for Smalltalk," Theory and Practice of Object Systems, vol. 3, no. 4, pp. 253--263, 1997. Google Scholar
Digital Library
- Instantiations. jFactor, http://old.instantiations.com/jfactor/default.htm, 2007.Google Scholar
- xtreme-simplicity, C# Refactory, http://www.xtreme-simplicity.net/csharprefactory.htm, 2007.Google Scholar
- A. M Leitão, "A Formal Pattern Language for Refactoring of Lisp Programs," in Proceedings of the Sixth European Conference on Software Maintenance and Reengineering, Budapest, Hungary, 2002, pp.186--192. Google Scholar
Digital Library
- Wesley M. Johnston, J. R. Paul Hanna, Richard J. Millar, "Advances in Dataflow Programming Languages," ACM Computing Surveys, vol. 36, no. 1, pp. 1--31, 2004. Google Scholar
Digital Library
- TIOBE Programming Community Index, http://www.tiobe.com/tpci.htm, 2007.Google Scholar
- T. R. G Green, M Petre, "Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework," Journal of Visual Languages and Computing, vol. 7, pp. 158--162, 1996.Google Scholar
Cross Ref
- H. A Andrade, S Kovner, "Software Synthesis from Dataflow Models for G and LabVIEW#8482;," In Proceedings of the IEEE Conference Record of the 32nd Asilomar Conference on Signals, Systems and Computers, Vol 2. Pacific Grove, CA, 1998, pp. 1706--1709.Google Scholar
- M Klinger, "Reusable test executive and test programs methodology and implementation comparison between HP VEE and LabView," In IEEE Systems readiness technology conference, Antonion, USA, 1999, pp. 305--312.Google Scholar
- P. T Cox, H Glaser, S Maclean, "A visual development environment for parallel application," Proceedings of IEEE Symposium on Visual Languages, 1998, pp. 144--151. Google Scholar
Digital Library
- LabVIEW 8.2, LabVIEW User Manual, National Instruments, Austin, TX, 2007.Google Scholar
Index Terms
An automated refactoring tool for dataflow visual programming language
Recommendations
Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects
Aspect-Oriented Programming (AOP) provides mechanisms for the separation of crosscutting concerns—functionalities scattered through the system and tangled with the base code. Existing systems are a natural testbed for the AOP approach since they often ...
Refactoring the JUnit framework using aspect-oriented programming
OOPSLA '05: Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsAspect-Oriented Programming (AOP) has been proposed as a complementary modularization technique to the existing object-oriented techniques. AOP encourages the modular development of complex software by providing support for cleanly separating the basic ...
Automated Support for Program Refactoring using Invariants
ICSM '01: Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)Program refactoring - transforming a program to improve readability, structure, performance, abstraction, maintainability, or other features - is not applied in practice as much as might be desired. One deterrent is the cost of detecting candidates for ...






Comments