ACM Home Page
Please provide us with feedback. Feedback
Generation of visitor components that implement program transformations
Full text PdfPdf (136 KB)
Source Symposium on Software Reusability archive
Proceedings of the 2001 symposium on Software reusability: putting software reuse in context table of contents
Toronto, Ontario, Canada
Pages: 86 - 94  
Year of Publication: 2001
ISBN:1-58113-358-8
Also published in ...
Authors
R. E. Kurt Stirewalt  Department of Computer Science and Engineering, Michigan State University, East Lansing, MI
Laura K. Dillon  Department of Computer Science and Engineering, Michigan State University, East Lansing, MI
Sponsor
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 11,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/375212.375258
What is a DOI?

ABSTRACT

The visitor pattern is appealing to developers of program-analysis tools because it separates the design of the data structures that represent a program from the design of software that traverses these structures. Unfortunately, the visitor pattern is difficult to apply when the analysis involves transformation logic that involves multiple program fragments simultaneously. We encountered this problem in our work on the {\proj} project and discovered a novel way to use multiple cooperating visitor objects to systematically implement such functions when they are specified via a set of transformation rules. This paper introduces our {\em curried-visitor framework} and illustrates how we applied it to implement a key component in the {\proj} framework. We are working on a code generator that will automatically synthesize curried-visitor frameworks from a description of a program's abstract syntax and a set of pattern-matching transformation rules.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
D. Batory. Refinements and separation of concerns. In Proc. of the Second Workshop on Multi-dimensional Separation of Concerns, 2000. Co-located with ICSE'2000.
2
 
3
 
4
J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic model checking: 10-20 states and beyond. In Proc. of the 5 th International Symposium on Logic in Computer Science, June 1990.
5
 
6
7
 
8
 
9
 
10
R. E. Johnson and B. Foote. Designing reusable classes. Journal of Object-Oriented Programming, pages 22-35, June/July 1988.
 
11
G. Kiczales et al. Aspect oriented programming. In European Conference on Object-Oriented Programming (ECOOP'97), 1997.
 
12
 
13
14
 
15
D. Parnas. Designing software for ease of extension and contraction. IEEE Trans. Softw. Eng., 5(2), 1979.
 
16
G. D. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Computer Science Department, Aarhus University, 1981.
17
 
18
Reasoning Systems Incorporated, Palo Alto, CA. Refine User's Guide.
 
19
 
20


Collaborative Colleagues:
R. E. Kurt Stirewalt: colleagues
Laura K. Dillon: colleagues