Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1109/ICSM.2001.972777guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article
Free access

Aiding Program Comprehension by Static and Dynamic Feature Analysis

Published: 07 November 2001 Publication History

Abstract

Understanding a system's implementation without prior knowledge is a hard task for reengineers in general. However, some degree of automatic aid is possible. In this paper, we present a technique building a mapping between the system's externally visible behavior and the relevant parts of the source code. Our technique combines dynamic and static analyses to rapidly focus on the system's parts urgently required for a goal-directed process of program understanding.

References

[1]
Bauhaus project, University of Stuttgart, http://www.informatik.uni-stuttgart.de/ifi/ps/bauhaus.
[2]
Brandenburg, F.J., 'Graphlet', Universität Passau, http://www.infosun.fmi.uni-passau.de/Graphlet.
[3]
Booch, G., Rumbaugh, Jacobson, J., 'The Unified Modeling Language Reference Manual', Addison-Wesley.
[4]
Canfora, G., Cimitile, A., De Lucia, A., Di Lucca, G.A., 'A Case Study of Applying an Eclectic Approach to Identify Objects in Code', Workshop on Program Comprehension, pp. 136-143, 1999.
[5]
Chen, K., Rajlich, V., 'Case Study of Feature Location Using Dependence Graph', Proc. of the 8th Int. Workshop on Program Comprehension, pp. 241-249, June 2000.
[6]
Eisenbarth, E., Koschke, R. Simon, D., 'Feature-Driven Program Understanding Using Concept Analysis of Execution Traces', Proc. Int. Workshop on Program Comprehension, 2001, to appear.
[7]
Garlan, D., Allen, R., Ockerbloom, J., 'Architectural Mismatch or, Why it's hard to build systems out of existing parts', Proceedings of the 17th International Conference on Software Engineering, pp. 179-185, April 1995.
[8]
Graudejus, H., 'Implementing a Concept Analysis Tool for Identifying Abstract Data Types in C Code', master thesis, University of Kaiserslautern, Germany, 1998.
[9]
Horwitz, S., Reps, T., Binkley, D., 'Interprocedural slicing using dependence graphs', ACM Transactions on Programming Languages and Systems, vol. 12, no. 1, pp. 26-60, January 1990.
[10]
Lindig, C., Snelting, G., 'Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis', Proceedings of the International Conference on Software Engineering, pp. 349-359, 1997.
[11]
Lindig, C., Concepts, ftp://ftp.ips.cs.tu-bs.de/pub/local/softech/misc.
[12]
Koschke, R., Girard, J.-F., Würthner, M., 'An Intermediate Representation for Reverse Engineering Analyses', Proceedings of the Working Conference on Reverse Engineering, 1998.
[13]
Koschke, R., 'Atomic Architectural Component Recovery for Program Understanding and Evolution', Dissertation, Institut für Informatik, Universität Stuttgart, 2000, http://www.informatik.uni-stuttgart.de/ifi/ps/rainer/thesis.
[14]
Krone, M., Snelting, G., 'On the Inference of Configuration Structures From Source Code', Proceedings of the International Conference on Software Engineering, pp. 49-57, May 1994.
[15]
Kuipers, T., Moonen, L., 'Types and Concept Analysis for Legacy Systems', Proc. Int. Workshop on Program Comprehension, 2001.
[16]
Sahraoui, H., Melo. W, Lounis, H., Dumont, F., 'Applying Concept Formation Methods to Object Identification in Procedural Code', Proceedings of the Conference on Automated Software Engineering, pp. 210-218, November 1997.
[17]
Siff, M., Reps, T., 'Identifying Modules via Concept Analysis', Proceedings of the International Conference on Software Maintenance, pp. 170-179, October 1997.
[18]
Snelting, G., 'Reengineering of Configurations Based on Mathematical Concept Analysis', ACM Transactions on Software Engineering and Methodology vol. 5, no. 2, pp. 146- 189, April 1997.
[19]
Snelting, G., Tip, F., 'Reengineering Class Hierarchies Using Concept Analysis', Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 99- 110, November 1994.
[20]
van Deursen, A., Kuipers, T., 'Identifying objects using cluster and concept analysis', Proc. Int. Conf. Software Engineering, 1999.
[21]
Wilde, N., Scully, M.C., 'Software Reconnaissance: Mapping Program Features to Code', Software Maintenance: Research and Practice, vol. 7, pp. 49-62, 1995.
[22]
Wong, K., 'The Rigi User's Manual', Version 5.4.4., June 1998.

Cited By

View all
  • (2024)Symbol-Specific Sparsification of Interprocedural Distributive Environment ProblemsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639092(1-12)Online publication date: 20-May-2024
  • (2021)PyCGProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00146(1646-1657)Online publication date: 22-May-2021
  • (2017)Two quasi-experiments on cohesion metrics and program comprehensionProceedings of the 11th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3132498.3132512(1-10)Online publication date: 18-Sep-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
ICSM '01: Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
November 2001
722 pages
ISBN:0769511899

Publisher

IEEE Computer Society

United States

Publication History

Published: 07 November 2001

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)3
Reflects downloads up to 26 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Symbol-Specific Sparsification of Interprocedural Distributive Environment ProblemsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639092(1-12)Online publication date: 20-May-2024
  • (2021)PyCGProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00146(1646-1657)Online publication date: 22-May-2021
  • (2017)Two quasi-experiments on cohesion metrics and program comprehensionProceedings of the 11th Brazilian Symposium on Software Components, Architectures, and Reuse10.1145/3132498.3132512(1-10)Online publication date: 18-Sep-2017
  • (2013)On the impact of trace-based feature location in the performance of software maintainersJournal of Systems and Software10.1016/j.jss.2012.12.03286:4(1023-1037)Online publication date: 1-Apr-2013
  • (2009)Architecture ReconstructionSoftware Engineering10.1007/978-3-540-95888-8_6(140-173)Online publication date: 22-Jan-2009
  • (2008)On the evaluation of the Bunch search-based software modularization algorithmSoft Computing - A Fusion of Foundations, Methodologies and Applications10.5555/2698256.269849612:1(77-93)Online publication date: 1-Jan-2008
  • (2008)Applying causal inference to understand emergent behaviorProceedings of the 40th Conference on Winter Simulation10.5555/1516744.1516877(712-721)Online publication date: 7-Dec-2008
  • (2007)Software clustering based on behavioural featuresProceedings of the 11th IASTED International Conference on Software Engineering and Applications10.5555/1647636.1647724(511-516)Online publication date: 6-Nov-2007
  • (2006)Combined static and dynamic analysis for inferring program dependencies using a pattern languageProceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research10.1145/1188966.1188970(3-es)Online publication date: 16-Oct-2006
  • (2006)The case for analysis preserving language transformationProceedings of the 2006 international symposium on Software testing and analysis10.1145/1146238.1146260(191-202)Online publication date: 21-Jul-2006
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media