ACM Home Page
Please provide us with feedback. Feedback
Addressing common crosscutting problems with Arcum
Full text PdfPdf (207 KB)
Source Workshop on Program Analysis for Software Tools and Engineering archive
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering table of contents
Atlanta, Georgia
SESSION: Usability of analysis tools and results table of contents
Pages 64-69  
Year of Publication: 2008
ISBN:978-1-60558-382-2
Authors
Macneil Shonle  UC San Diego, La Jolla, CA
William G. Griswold  UC San Diego, La Jolla, CA
Sorin Lerner  UC San Diego, La Jolla, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 26,   Citation Count: 0
Additional Information:

abstract   references   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/1512475.1512489
What is a DOI?

ABSTRACT

Crosscutting is an inherent part of software development and can typically be managed through modularization: A module's stable properties are defined in an interface while its likely-to-change properties are encapsulated within the module [19]. The crosscutting of the stable properties, such as class and method names, can be mitigated with automated refactoring tools that allow, for example, the interface's elements to be renamed [9, 18]. However, often the crosscutting from design idioms (such as design patterns and coding styles) are so specific to the program's domain that their crosscutting would not likely have been anticipated by the developers of an automated refactoring system.

The Arcum plug-in for Eclipse enables programmers to describe the implementation of a crosscutting design idiom as a set of syntactic patterns and semantic constraints. Arcum can process declarations of related implementations and infer the refactoring steps necessary to transform a program from using one implementation to its alternatives. As a result, automating refactoring for domain-specific crosscutting design idioms can be easy and practical. This paper presents a case study of how Arcum was used to mitigate four classic software engineering problems that are exacerbated by crosscutting: library migration, debugging, programmer-defined semantic checking, and architectural enforcement.


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
 
2
 
3
4
5
6
 
7
 
8
Google. Google collections library 0.5 (alpha). http://code.google.com/p/google-collections/, October 2007.
 
9
10
11
12
13
 
14
15
16
 
17
 
18
19
 
20
21
 
22
C. Simonyi. The death of computer languages, the birth of intentional programming, 1995.
23
24
25
 
26

Collaborative Colleagues:
Macneil Shonle: colleagues
William G. Griswold: colleagues
Sorin Lerner: colleagues