[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1512475.1512481acmconferencesArticle/Chapter ViewAbstractPublication PagespasteConference Proceedingsconference-collections
research-article

A field study in static extraction of runtime architectures

Published: 09 November 2008 Publication History

Abstract

We recently developed a static analysis to extract runtime architectures from object-oriented programs written in existing languages. The approach relies on adding ownership domain annotations to the code, and statically extracts a hierarchical runtime architecture from an annotated program.
We present promising results from a week-long on-site field study to evaluate the method and the tools on a 30-KLOC module of a 250-KLOC commercial system. In a few days, we were able to add the annotations to the module and extract a top-level architecture for review by a developer.

References

[1]
M. Abi-Antoun and J. Aldrich. Compile-Time Views of Execution Structure Based on Ownership. In Intl. Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming, pages 81--92, 2007.
[2]
M. Abi-Antoun and J. Aldrich. Ownership Domains in the Real World. In Intl. Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming, pages 93--104, 2007.
[3]
M. Abi-Antoun and J. Aldrich. A Field Study in Static Extraction of Runtime Architectures. Technical Report CMU-ISR-08-133, Carnegie Mellon University, June 2008. Extended version of this paper.
[4]
M. Abi-Antoun and J. Aldrich. Static Extraction of Sound Hierarchical Runtime Object Graphs. Technical Report CMU-ISR-08-127, Carnegie Mellon University, 2008.
[5]
M. Abi-Antoun, J. Aldrich, and W. Coelho. A Case Study in Re-engineering to Enforce Architectural Control Flow and Data Sharing. J. Systems and Software, 80(2):240--264, 2007.
[6]
Agile J. StructureViews. www.agilej.com, 2008.
[7]
J. Aldrich and C. Chambers. Ownership Domains: Separating Aliasing Policy from Mechanism. In ECOOP, pages 1--25, 2004.
[8]
J. Aldrich, C. Chambers, and D. Notkin. ArchJava: Connecting Software Architecture to Implementation. In ICSE, pages 187--197, 2002.
[9]
B. Bokowski and J. Vitek. Confined Types. In OOPSLA, November 1999.
[10]
I. T. Bowman, R. C. Holt, and N. V. Brewster. Linux as a Case Study: its Extracted Software Architecture. In ICSE, pages 555--563, 1999.
[11]
A. Christl, R. Koschke, and M.-A. Storey. Equipping the Reflexion Method with Automated Clustering. In WCRE, 2005.
[12]
D. Clarke, J. Potter, and J. Noble. Ownership Types for Flexible Alias Protection. In OOPSLA, 1998.
[13]
P. Clements et al. Documenting Software Architecture. Addison-Wesley, 2003.
[14]
W. Dietl and P. Müller. Universes: Lightweight Ownership for JML. Journal of Object Technology, 4(8), 2005.
[15]
W. Dzidek, E. Arisholm, and L. Briand. A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance. TSE, 34(3):407--432, May-June 2008.
[16]
C. Flanagan and S. N. Freund. Dynamic Architecture Extraction. In Workshop on Formal Approaches to Testing and Runtime Verification, August 2006.
[17]
hyperCision Inc. jMetra.www.hypercision.com, 2008.
[18]
D. Jackson and A. Waingold. Lightweight Extraction of Object Models from Bytecode. TSE, 27(2), 2001.
[19]
R. Kazman and S. J. Carriére. Playing Detective: Reconstructing Software Architecture from Available Evidence. Automated Softw. Eng., 6(2), 1999.
[20]
D. Kirk, M. Roper, and M. Wood. Identifying and Addressing Problems in Object-Oriented Framework Reuse. Empirical Software Engineering, 2006.
[21]
B. Kitchenham, L. Pickard, and S. L. Pfleeger. Case studies for method and tool evaluation. IEEE Software, 12(4):52--62, 1995.
[22]
R. Kollman, P. Selonen, E. Stroulia, T. Systä, and A. Zundorf. A Study on the Current State of the Art in Tool-Supported UML-Based Static Reverse Engineering. In WCRE, pages 22--32, 2002.
[23]
H. Koning, C. Dormann, and H. van Vliet. Practical Guidelines for the Readability of IT-Architecture Diagrams. In SIGDOC, 2002.
[24]
P. Lam and M. Rinard. A Type System and Analysis for the Automatic Extraction and Enforcement of Design Information. In ECOOP, pages 275--302, 2003.
[25]
Lattix Inc. LDM tool. www.lattix.com, 2008.
[26]
Y. Liu and S. Smith. Pedigree Types. In Intl. Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming, 2008.
[27]
S. Malek, M. Mikic-Rakic, and N. Medvidovic. A Style-Aware Architectural Middleware for Resource-Constrained, Distributed Systems. TSE, 31(3):256--272, 2005.
[28]
A. Milanova. Static Inference of Universe Types. In Intl. Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming, 2008.
[29]
G. C. Murphy, D. Notkin, and K. J. Sullivan. Software Reflexion Models: Bridging the Gap between Design and Implementation. TSE, 27(4):364--380, 2001.
[30]
R. W. O'Callahan. Generalized Aliasing as a Basis for Program Analysis Tools. PhD thesis, Carnegie Mellon University, 2001.
[31]
T. Richner and S. Ducasse. Recovering High-Level Views of Object-Oriented Applications from Static and Dynamic Information. In ICSM, 1999.
[32]
D. Riehle. Framework Design: a Role Modeling Approach. PhD thesis, Federal Institute of Technology Zurich, 2000.
[33]
J. Schäfer, M. Reitz, J.-M. Gaillourdet, and A. Poetzsch-Heffter. Linking Programs to Architectures: An Object-Oriented Hierarchical Software Model based on Boxes. In The Common Component Modeling Example: Comparing Software Component Models, 2008.
[34]
B. Schmerl, J. Aldrich, D. Garlan, R. Kazman, and H. Yan. Discovering Architectures from Running Systems. TSE, 32(7):454--466, 2006.
[35]
M. Sefika, A. Sane, and R. Campbell. Architecture Oriented Visualization. In OOPSLA, 1996.
[36]
F. Shull, F. Lanubile, and V. R. Basili. Investigating Reading Techniques for Object-Oriented Framework Learning. TSE, 26(11):1101--1118, 2000.
[37]
A. Spiegel. Automatic Distribution of Object-Oriented Programs. PhD thesis, FU Berlin, 2002.
[38]
M.-A. D. Storey, F. D. Fracchia, and H. A. Müller. Cognitive Design Elements to Support the Construction of a Mental Model During Software Exploration. J. Systems & Software, 44(3), 1999.

Cited By

View all
  • (2015)An approach to recovery and analysis of architectural behavioral views2015 CHILEAN Conference on Electrical, Electronics Engineering, Information and Communication Technologies (CHILECON)10.1109/Chilecon.2015.7404683(923-930)Online publication date: Oct-2015
  • (2013)Collecting a heap of shapesProceedings of the 2013 International Symposium on Software Testing and Analysis10.1145/2483760.2483761(123-133)Online publication date: 15-Jul-2013
  • (2012)Extraction of ownership object graphs from object-oriented codeProceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures10.1145/2304696.2304719(133-142)Online publication date: 25-Jun-2012
  • Show More Cited By

Index Terms

  1. A field study in static extraction of runtime architectures

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PASTE '08: Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
    November 2008
    92 pages
    ISBN:9781605583822
    DOI:10.1145/1512475
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 November 2008

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. architecture recovery
    2. ownership types
    3. runtime architecture

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    PASTE08

    Acceptance Rates

    Overall Acceptance Rate 57 of 159 submissions, 36%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2015)An approach to recovery and analysis of architectural behavioral views2015 CHILEAN Conference on Electrical, Electronics Engineering, Information and Communication Technologies (CHILECON)10.1109/Chilecon.2015.7404683(923-930)Online publication date: Oct-2015
    • (2013)Collecting a heap of shapesProceedings of the 2013 International Symposium on Software Testing and Analysis10.1145/2483760.2483761(123-133)Online publication date: 15-Jul-2013
    • (2012)Extraction of ownership object graphs from object-oriented codeProceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures10.1145/2304696.2304719(133-142)Online publication date: 25-Jun-2012
    • (2010)Developer refinement of runtime architectural structureProceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge10.1145/1833335.1833347(80-87)Online publication date: 2-May-2010
    • (2010)Questions about object structure during coding activitiesProceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering10.1145/1833310.1833321(64-71)Online publication date: 2-May-2010
    • (2009)Static extraction and conformance analysis of hierarchical runtime architectural structure using annotationsProceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications10.1145/1640089.1640113(321-340)Online publication date: 26-Oct-2009
    • (2009)Static extraction and conformance analysis of hierarchical runtime architectural structure using annotationsACM SIGPLAN Notices10.1145/1639949.164011344:10(321-340)Online publication date: 25-Oct-2009
    • (2009)Static extraction of sound hierarchical runtime object graphsProceedings of the 4th international workshop on Types in language design and implementation10.1145/1481861.1481869(51-64)Online publication date: 24-Jan-2009

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media