skip to main content
10.1145/508386.508401acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Managing crosscutting concerns during software evolution tasks: an inquisitive study

Authors Info & Claims
Published:22 April 2002Publication History

ABSTRACT

Code is modularized, for many reasons, including making it easier to understand, change, and verify. Aspect-oriented programming approaches extend the kind of code that can be modularized, enabling the modularization of crosscutting code. We conducted an inquisitive study to better understand the kinds of crosscutting code that software developers encounter and to better understand how the developers manage this code. We tracked eight participants: four from industry and four from academia. Each participant was currently evolving a non-trivial software system. We interviewed these participants three times about crosscutting concerns they had encountered and the strategies they used to deal with the concerns. We found that crosscutting concerns tended to emerge as obstacles that the developer had to consider to make the desired change. The strategy used by the developer to manage the concern depended on the form of the obstacle code. The results of this study provide empirical evidence to support the problems identified by the aspect-oriented programming community, and provide a basis on which to further assess aspect-oriented programming.

References

  1. D. L. Parnas, On the Criteria To Be Used in Decomposing System into Modules, Communications of the ACM, pp. 1053-1058,1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AspectJ™ web site: www.aspectj.orgGoogle ScholarGoogle Scholar
  3. Hyper/J™ web site: www.research.ibm.com/hyperspace/HyperJ/HyperJ.htmlGoogle ScholarGoogle Scholar
  4. M. Askit, L. Bergmans and S. Vural. An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach, In Proc of European Conference on Object-Oriented Programming (ECOOP), Lecture Notes in Computer Science Vol. 615, pp. 372-395, 1992. Google ScholarGoogle Scholar
  5. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda and C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect Oriented Programming. In Proc. of European Conference on Object-Oriented Programming (ECOOP), Lecture Notes in Computer Science Vol. 1241, pp. 220-242, 1997.Google ScholarGoogle Scholar
  6. H. Ossher, M. Kaplan, A. Katz, W. Harrison and V. Kruskal. Specifying subject-oriented composition. TAPOS, Vol. 2, No. 3. pp. 179-202, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Tarr, H. Ossher, W. Harrison and S. M. Sutton. N degrees of separation: Multi-dimensional separation of concerns. In Proc. of the 21st International Conference on Software Engineering, pp. 107-119, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. V. Lopes and G. Kiczales. "Recent Developments in AspectJ™". Aspect-Oriented Programming Workshop, European Conference on Object-Oriented Programming (ECOOP). In Object-Oriented Technology: ECOOP'98 Workshop Reader, Lecture Notes in Computer Science, Vol. 1543, pp. 398-401, 1998. Google ScholarGoogle Scholar
  9. C. V. Lopes. D: A Language Framework for Distributed Computing, Ph.D. Dissertation, College of Computer Science, Northeastern University, Boston, 1997.Google ScholarGoogle Scholar
  10. C. V. Lopes and K. J. Lieberherr. Abstracting process-to-function relations in concurrent object-oriented applications. In Proc. European Conf. on Object-Oriented Programming (ECOOP), Lecture Notes in Computer Science, Vol. 821, pp. 81-99, 1994. Google ScholarGoogle Scholar
  11. T. Lethbridge, S. Sim, and J. Singer. Studying Software Engineers: Data Collection Methods for Software Field Studies, Submitted May 2000 to Empirical Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. B. W. Kernighan and D. M. Ritchie. The C Programming Language: Second Edition. Prentice Hall, Englewood, New Jersey, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Stroustrup. The C++ Programming Language: Second Edition. Addison Wesley Publishing Co., 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. K. Arnold and J. Gosling. The Java Programming Language. ACM Press Books, Addison Wesley Longman, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Brookes. Towards a theory of the comprehension of computer programs. International Journal of Man-Machine Studies, Vol. 18, pp. 543-554, 1983.Google ScholarGoogle ScholarCross RefCross Ref
  16. E. Soloway and K. Erlich. Empirical studies of programming knowledge. IEEE Transactions on Software Engineering, SE-10, No. 5, pp. 595-609 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. B. Schneiderman and R. Mayer. Syntactic/semantic interactions in programmer behaviour: A model and experimental results. International Journal of Computer and Information Sciences, Vol. 8 No. 3, pp. 219-238, 1979.Google ScholarGoogle ScholarCross RefCross Ref
  18. N. Pennington. Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive Psychology, Vol. 19, pp. 295-341, 1987.Google ScholarGoogle ScholarCross RefCross Ref
  19. S. Letovsky. Cognitive Processes in Program Comprehension. In Empirical Studies of Programmers, pp. 58-79, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. von Mayrhauser, A. Vans. Comprehension processes during large scale maintenance. In Proc. of the 16th International Conference on Software Engineering, pp. 39-48, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Lippert and C. V. Lopes. A Study on Exception Detection and Handling Using Aspect-Oriented Programming. In Proc. 22nd International Conference on Software Engineering, pp. 418-427, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Walker, E. Baniassad and G. Murphy. An Initial Assessment of Aspect-Oriented Programming. In Proc. of the 21st International Conference on Software Engineering, pp. 120-130, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Managing crosscutting concerns during software evolution tasks: an inquisitive study

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Other conferences
                  AOSD '02: Proceedings of the 1st international conference on Aspect-oriented software development
                  April 2002
                  162 pages
                  ISBN:158113469X
                  DOI:10.1145/508386

                  Copyright © 2002 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 22 April 2002

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • Article

                  Acceptance Rates

                  Overall Acceptance Rate41of139submissions,29%

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader