Change impact analysis for AspectJ programs

Sai Zhang, Zhongxian Gu, Yu Lin, Jianjun Zhao

Research output: Chapter in Book/Report/Conference proceedingConference contribution

34 Citations (Scopus)

Abstract

Change impact analysis is a useful technique for software evolution. It determines the effects of a source editing session and provides valuable feedbacks to the programmers for making correct decisions. Recently, many techniques have been proposed to support change impact analysis of procedural or object-oriented software, but seldom effort has been made for aspect-oriented software. In this paper we propose a new change impact analysis technique for AspectJ programs. At the core of our approach is the atomic change representation which captures the semantic differences between two versions of an AspectJ program. We also present an impact analysis model, based on AspectJ call graph construction, to determine the affected program fragments, affected tests and their responsible changes. The proposed techniques have been implemented in Celadon, a change impact analysis framework for AspectJ programs. We performed an empirical evaluation on 24 versions of eight AspectJ benchmarks. The result shows that our proposed technique can effectively perform change impact analysis and provide valuable information in AspectJ software evolution.

Original languageEnglish
Title of host publicationProceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008
Pages87-96
Number of pages10
DOIs
Publication statusPublished - Dec 29 2008
Event24th IEEE International Conference on Software Maintenance, ICSM 2008 - Beijing, China
Duration: Sep 28 2008Oct 4 2008

Publication series

NameIEEE International Conference on Software Maintenance, ICSM

Other

Other24th IEEE International Conference on Software Maintenance, ICSM 2008
CountryChina
CityBeijing
Period9/28/0810/4/08

Fingerprint

Decision making
Semantics
Feedback

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Zhang, S., Gu, Z., Lin, Y., & Zhao, J. (2008). Change impact analysis for AspectJ programs. In Proceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008 (pp. 87-96). [4658057] (IEEE International Conference on Software Maintenance, ICSM). https://doi.org/10.1109/ICSM.2008.4658057

Change impact analysis for AspectJ programs. / Zhang, Sai; Gu, Zhongxian; Lin, Yu; Zhao, Jianjun.

Proceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008. 2008. p. 87-96 4658057 (IEEE International Conference on Software Maintenance, ICSM).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Zhang, S, Gu, Z, Lin, Y & Zhao, J 2008, Change impact analysis for AspectJ programs. in Proceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008., 4658057, IEEE International Conference on Software Maintenance, ICSM, pp. 87-96, 24th IEEE International Conference on Software Maintenance, ICSM 2008, Beijing, China, 9/28/08. https://doi.org/10.1109/ICSM.2008.4658057
Zhang S, Gu Z, Lin Y, Zhao J. Change impact analysis for AspectJ programs. In Proceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008. 2008. p. 87-96. 4658057. (IEEE International Conference on Software Maintenance, ICSM). https://doi.org/10.1109/ICSM.2008.4658057
Zhang, Sai ; Gu, Zhongxian ; Lin, Yu ; Zhao, Jianjun. / Change impact analysis for AspectJ programs. Proceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008. 2008. pp. 87-96 (IEEE International Conference on Software Maintenance, ICSM).
@inproceedings{0ad1ac4ba81b41c9a00913751c986598,
title = "Change impact analysis for AspectJ programs",
abstract = "Change impact analysis is a useful technique for software evolution. It determines the effects of a source editing session and provides valuable feedbacks to the programmers for making correct decisions. Recently, many techniques have been proposed to support change impact analysis of procedural or object-oriented software, but seldom effort has been made for aspect-oriented software. In this paper we propose a new change impact analysis technique for AspectJ programs. At the core of our approach is the atomic change representation which captures the semantic differences between two versions of an AspectJ program. We also present an impact analysis model, based on AspectJ call graph construction, to determine the affected program fragments, affected tests and their responsible changes. The proposed techniques have been implemented in Celadon, a change impact analysis framework for AspectJ programs. We performed an empirical evaluation on 24 versions of eight AspectJ benchmarks. The result shows that our proposed technique can effectively perform change impact analysis and provide valuable information in AspectJ software evolution.",
author = "Sai Zhang and Zhongxian Gu and Yu Lin and Jianjun Zhao",
year = "2008",
month = "12",
day = "29",
doi = "10.1109/ICSM.2008.4658057",
language = "English",
isbn = "9781424426140",
series = "IEEE International Conference on Software Maintenance, ICSM",
pages = "87--96",
booktitle = "Proceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008",

}

TY - GEN

T1 - Change impact analysis for AspectJ programs

AU - Zhang, Sai

AU - Gu, Zhongxian

AU - Lin, Yu

AU - Zhao, Jianjun

PY - 2008/12/29

Y1 - 2008/12/29

N2 - Change impact analysis is a useful technique for software evolution. It determines the effects of a source editing session and provides valuable feedbacks to the programmers for making correct decisions. Recently, many techniques have been proposed to support change impact analysis of procedural or object-oriented software, but seldom effort has been made for aspect-oriented software. In this paper we propose a new change impact analysis technique for AspectJ programs. At the core of our approach is the atomic change representation which captures the semantic differences between two versions of an AspectJ program. We also present an impact analysis model, based on AspectJ call graph construction, to determine the affected program fragments, affected tests and their responsible changes. The proposed techniques have been implemented in Celadon, a change impact analysis framework for AspectJ programs. We performed an empirical evaluation on 24 versions of eight AspectJ benchmarks. The result shows that our proposed technique can effectively perform change impact analysis and provide valuable information in AspectJ software evolution.

AB - Change impact analysis is a useful technique for software evolution. It determines the effects of a source editing session and provides valuable feedbacks to the programmers for making correct decisions. Recently, many techniques have been proposed to support change impact analysis of procedural or object-oriented software, but seldom effort has been made for aspect-oriented software. In this paper we propose a new change impact analysis technique for AspectJ programs. At the core of our approach is the atomic change representation which captures the semantic differences between two versions of an AspectJ program. We also present an impact analysis model, based on AspectJ call graph construction, to determine the affected program fragments, affected tests and their responsible changes. The proposed techniques have been implemented in Celadon, a change impact analysis framework for AspectJ programs. We performed an empirical evaluation on 24 versions of eight AspectJ benchmarks. The result shows that our proposed technique can effectively perform change impact analysis and provide valuable information in AspectJ software evolution.

UR - http://www.scopus.com/inward/record.url?scp=57849114893&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=57849114893&partnerID=8YFLogxK

U2 - 10.1109/ICSM.2008.4658057

DO - 10.1109/ICSM.2008.4658057

M3 - Conference contribution

AN - SCOPUS:57849114893

SN - 9781424426140

T3 - IEEE International Conference on Software Maintenance, ICSM

SP - 87

EP - 96

BT - Proceedings of the 24th IEEE International Conference on Software Maintenance, ICSM 2008

ER -