skip to main content
research-article

Maintaining Architecture-Implementation Conformance to Support Architecture Centrality: From Single System to Product Line Development

Published: 27 June 2018 Publication History

Abstract

Architecture-centric development addresses the increasing complexity and variability of software systems by focusing on architectural models, which are generally easier to understand and manipulate than source code. It requires a mechanism that can maintain architecture-implementation conformance during architectural development and evolution. The challenge is twofold. There is an abstraction gap between software architecture and implementation, and both may evolve. Existing approaches are deficient in support for both change mapping and product line architecture. This article presents a novel approach named 1.x-way mapping and its extension, 1.x-line mapping to support architecture-implementation mapping in single system development and in product line development, respectively. They specifically address mapping architecture changes to code, maintaining variability conformance between product line architecture and code, and tracing architectural implementation. We built software tools named xMapper and xLineMapper to realize the two approaches, and conducted case studies with two existing open-source systems to evaluate the approaches. The result shows that our approaches are applicable to the implementation of a real software system and are capable of maintaining architecture-implementation conformance during system evolution.

References

[1]
Jonathan Aldrich, Craig Chambers, and David Notkin. 2002. ArchJava: Connecting software architecture to implementation. In Proceedings of the 24th International Conference on Software Engineering. ACM, 187--197.
[2]
Nicolas Anquetil, Uirá Kulesza, Ralf Mitschke, Ana Moreira, Jean-Claude Royer, Andreas Rummler, and André Sousa. 2010. A model-driven traceability framework for software product lines. Softw. Syst. Model. 9 (2010), 427--451.
[3]
Apache Software Foundation. Apache Solr. Retrieved December 2016 from http://lucene.apache.org/solr/.
[4]
Archstudio. An Architecture-Based Development Environment. Institute for Software Research, University of California, Irvine. Retrieved December 2016 from http://www.isr.uci.edu/projects/archstudio/.
[5]
Robert S. Arnold. 1996. Software Change Impact Analysis. IEEE Computer Society Press.
[6]
Hazeline U. Asuncion. Architecture-Centric Traceability for Stakeholders (ACTS). Ph.D. thesis. Information and Computer Science, University of Califorina, Irvine.
[7]
Hazeline U. Asuncion, Arthur U. Asuncion, and Richard N. Taylor. 2010. Software traceability with topic modeling. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1. ACM, 95--104.
[8]
Robert Balzer. 1985. A 15 year perspective on automatic programming. IEEE Trans. Softw. Eng. 11, 11 (1985), 1257--1268.
[9]
Don Batory, Jacob Neal Sarvela, and Axel Rauschmayer. 2004. Scaling step-wise refinement. IEEE Transactions on Software Engineering 30 (2004), 355--371.
[10]
David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated analysis of feature models 20 years later: A literature review. Information Systems 35 (2010), 615--636.
[11]
Jan Bosch. 1999. Product-line architectures in industry: A case study. In Proceedings of the 21st International Conference on Software Engineering. IEEE Computer Society Press, 544--554.
[12]
Jan Bosch. 2000. Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. ACM.
[13]
Gilad Bracha and William Cook. 1990. Mixin-based inheritance. In Proceedings of the European Conference on Object-Oriented Programming Systems, Languages, and Applications. ACM, 303--311.
[14]
Jim Buckley, Nour Ali, Michael English, Jacek Rosik, and Sebastian Herold. 2015. Real-time reflexion modelling in architecture reconciliation: A multi case study. Information and Software Technology 61 (2015), 107--123.
[15]
Damien Cassou, Emilie Balland, Charles Consel, and Julia Lawall. 2011. Leveraging software architectures to guide and verify the development of sense/compute/control applications. In Proceedings of the 33rd International Conference on Software Engineering. ACM, 431--440.
[16]
Eric Clayberg and Dan Rubel. 2008. Eclipse Plug-ins. Addison-Wesley Professional, Reading, MA.
[17]
J. Craig Cleaveland. 2001. Program Generators with XML and Java. Prentice-Hall.
[18]
Jane Cleland-Huang, Orlena C. Z. Gotel, Jane Huffman Hayes, Patrick Mäder, and Andrea Zisman. 2014. Software traceability: Trends and future directions. In Proceedings of the on Future of Software Engineering. ACM, 55--69.
[19]
Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, and Judith Stafford. 2010. Documenting Software Architectures: Views and Beyond. Addison-Wesley Professional, Reading, MA.
[20]
CollabNet. 2004. Subclipse, Retrieved December 2016 from http://subclipse.tigris.org/.
[21]
Ben Collins-Sussman, Brian W. Fitzpatrick, and C. Michael Pilato. 2011. Version control with subversion. Retrieved December 2016 from http://svnbook.red-bean.com/.
[22]
Cuong Cu and Yongjie Zheng. 2016. Architecture-centric derivation of products in a software product line. In Proceedings of the 8th International Workshop on Modeling in Software Engineering. ACM, 27--33.
[23]
Krzysztof Czarnecki and U. Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, Reading, MA.
[24]
Krzysztof Czarnecki and Michal Antkiewicz. 2005. Mapping features to models: A template approach based on superimposed variants. In Proceedings of the 4th International Conference on Generative Programming and Component Engineering. Springer-Verlag, 422--437.
[25]
Eric M. Dashofy, Nenad Medvidovic, and Richard N. Taylor. 1999. Using off-the-shelf middleware to implement connectors in distributed software architectures. In Proceedings of the 21st International Conference on Software Engineering (ICSE ’99), 3--12.
[26]
Eric M. Dashofy. 2008. Myx and myx.fw. Retrieved December 2016 from http://www.isr.uci.edu/projects/archstudio/myx.html.
[27]
Eric M. Dashofy. 2007. Supporting Stakeholder-Driven, Multi-View Software Architecture Modeling. Ph.D. thesis. Information and Computer Science, University of California, Irvine, p. 294. https://www.antconcepts.com/∼edashofy/files/dashofy-dissertation-2007.pdf.
[28]
Eric M. Dashofy, André van der Hoek, and Richard N. Taylor. 2005. A comprehensive approach for the development of modular software architecture description languages. ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (2005), 199--245.
[29]
Remco C. de Boer and Hans van Vliet. 2009. On the similarity between requirements and architecture. Journal of Systems and Software 82 (2009), 544--550.
[30]
R. DeLine. 2001. Avoiding packaging mismatch with flexible packaging. IEEE Transactions on Software Engineering 27 (2001), 124--143.
[31]
Deepak Dhungana, Paul Grunbacher, and Rick Rabiser. 2011. The DOPLER meta-tool for decision-oriented variability modeling: A multiple case study. Automated Software Engineering 18 (2011), 77--114.
[32]
Eclipse Foundation. Eclipse JET Project. Retrieved December 2016 from http://www.eclipse.org/modeling/m2t/?project=jet.
[33]
Eclipse Foundation. 2009. Jetty. Retrieved December 2016 from http://www.eclipse.org/jetty/.
[34]
Edgewall Software. 2007. The Trac Open Source Project. Retrieved December 2016 from http://trac.edgewall.org/.
[35]
Michael D. Ernst, Greg J. Badros, and David Notkin. 2002. An empirical analysis of C preprocessor use. IEEE Transactions on Software Engineering 28 (2002), 1146--1170.
[36]
Peter H. Feiler, David P. Gluch, and John J. Hudak. 2006. The architecture analysis 8 design language (AADL): An Introduction. Report No. CMU/SEI-2006-TN-011.
[37]
Thomas Forster and Dirk Muthig. 2005. Optimizing model-driven development by deriving code generation patterns from product line architectures. NetObject Days.
[38]
Martin Fowler. 2003. UmlMode. Retrieved December 2016 from http://martinfowler.com/bliki/UmlMode.html.
[39]
Martin Fowler. 2004. Inversion of Control Containers and the Dependency Injection Pattern. Retrieved December 2016 from http://www.martinfowler.com/articles/injection.html.
[40]
Robert France and Bernhard Rumpe. 2007. Model-driven development of complex software: A research roadmap. In 2007 Future of Software Engineering. IEEE Computer Society, 37--54.
[41]
Critina Gacek and Michalis Anastasopoules. 2001. Implementing product line variabilities. In Proceedings of the 2001 Symposium on Software Reusability: Putting Software Reuse in Context. ACM, 109--117.
[42]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading, MA.
[43]
David Garlan, Robert Allen, and John Ockerbloom. 1995. Architectural mismatch: Why reuse is so hard. IEEE Software 12 (1995), 17--26.
[44]
John C. Georgas, Eric M. Dashofy, and Richard N. Taylor. 2006. Architecture-centric development: A different approach to software engineering. ACM Crossroads (issue on Software Engineering 12 (2006).
[45]
GitHub. Case Study with Apache Solr. Retrieved December 2016 from https://github.com/sail-umkc/CaseStudy-Solr.git.
[46]
GitHub. Case Study with ArchStudio. Retrieved December 2016 from https://github.com/sail-umkc/CaseStudy-ArchStudio.git.
[47]
Hassan Gomaa. 2004. Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley Professional, Reading, MA.
[48]
I. Groher and R. Weinreich. 2012. Integrating variability management and software architecture. In Proceedings of the 2012 Joint Working IEEE/IFIP Conference on Software Architecture (WICSA’12) and European Conference on Software Architecture (ECSA’12). 262--266.
[49]
Florian Heidenreich, Jan Kopcsek, and Christian Wende. 2008. FeatureMapper: Mapping features to models. In Companion of the 30th International Conference on Software Engineering. ACM, 943--944.
[50]
Florian Heidenreich, Pablo Sánchez, João Santos, Steffen Zschaler, Mauricio Alférez, João Araújo, Lidia Fuentes, Uirá Kulesza, Ana Moreira, and Awais Rashid. 2010. Relating feature models to other models of a software product line: A comparative study of featuremapper and VML. In Transactions on Aspect-Oriented Software Development VII, Katz Shmuel and Mezini Mira (Eds.). Springer-Verlag, 69--114.
[51]
Scott A. Hendrickson and André van derHoek. 2007. Modeling product line architectures through change sets and relationships. In Proceedings of the 29th International Conference on Software Engineering (ICSE’07). 189--198.
[52]
Patrick Heymans, Quentin Boucher, Andreas Classen, Arnaud Bourdoux, and Laurent Demonceau. 2012. A code tagging approach to software product line development. International Journal on Software Tools for Technology Transfer 14 (2012), 553--566.
[53]
S. Jarzabek, P. Bassett, Zhang Hongyu, and Zhang Weishan. 2003. XVCL: XML-based variant configuration language. In Proceedings of the 25th International Conference on Software Engineering, 2003. 810--811.
[54]
Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, and A. Spencer Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Report No. CMU/SEI-90-TR-021. Software Engineering Institute.
[55]
Christian Kästner, Sven Apel, and Martin Kuhlemann. 2008. Granularity in software product lines. In Proceedings of the 30th International Conference on Software Engineering. ACM, 311--320.
[56]
Christian Kästner, Sven Apel, Thomas Thüm, and Gunter Saake. 2012. Type checking annotation-based product lines. ACM Transactions on Software Engineering and Methodology 21 (2012), 1--39.
[57]
Christian Kästner, Paolo G. Giarrusso, Tillmann Rendel, Sebastian Erdweg, Klaus Ostermann, and Thorsten Berger. 2011. Variability-aware parsing in the presence of lexical macros and conditional compilation. In Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications. ACM, 805--824.
[58]
S. Kelly and J.-P. Tolvanen. 2008. Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Press.
[59]
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. 2001. An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming. 327--353.
[60]
Anneke Kleppe, Jos Warmer, and Wim Bast. 2003. MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley Professional, Reading, MA.
[61]
Charles W. Krueger. 1992. Software Reuse. ACM Computing Survey, 24 (1992), 131--183.
[62]
Charles W. Krueger. 2002. Variation management for software production lines. In Proceedings of the 2nd International Software Product Line Conference. 37--48.
[63]
Charles W. Krueger. 2008. The BigLever software gears unified software product line engineering framework. In Proceedings of the 2008 12th International Software Product Line Conference. IEEE Computer Society, 353.
[64]
Charles W. Krueger and Ken Jackson. 2009. Requirements Engineering for Systems and Software Product Lines. Retrieved December 2016 from http://www.biglever.com/extras/RE_for_SPL.pdf.
[65]
J. Liebig, S. Apel, C. Lengauer, C. Kästner, and M. Schulze. 2010. An analysis of the variability in forty preprocessor-based software product lines. In Proceedings of the 2010 ACM/IEEE 32nd International Conference on Software Engineering. 105-114.
[66]
Jeff Magee, Naranker Dulay, Susan Eisenbach, and Jeff Kramer. 1995. Specifying distributed software architectures. In Proceedings of the 5th European Software Engineering Conference (ESEC’95), W. Schafer and W. Botella (Eds.). Springer-Verlag, Berlin, 137--153.
[67]
Salome Maro, Anthony Anjorin, Rebekka Wohlrab, and Jan-Philipp Steghöfer. 2016. Traceability maintenance: Factors and guidelines. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering. ACM, 414--425.
[68]
Nenad Medvidovic, Nikunj R. Mehta, and Marija Mikic-Rakic. 2002. A family of software architecture implementation frameworks. In Proceedings of the 3rd IFIP Working International Conference on Software Architectures.
[69]
Nenad Medvidovic and Richard N. Taylor. 2000. A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26 (2000), 70--93.
[70]
Nikunj R. Mehta, Nenad Medvidovic, and Sandeep Phadke. 2000. Towards a taxonomy of software connectors. In Proceedings of the 2000 International Conference on Software Engineering. ACM, 178--187.
[71]
Jens Meinicke, Thomas Thüm, Reimar Schröter, Sebastian Krieter, Fabian Benduhn, Gunter Saake, and Thomas Leich. 2016. FeatureIDE: Taming the preprocessor wilderness. In Proceedings of the 38th International Conference on Software Engineering Companion. ACM, 629--632.
[72]
MSDN. Partial Class Definitions. Retrieved December 2016 from https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.
[73]
Gail C. Murphy, David Notkin, and Kevin J. Sulliva. 2001. Software reflexion models: Bridging the gap between design and implementation. IEEE Transactions on Software Engineering 27 (2001), 364--380.
[74]
Varun Narisetty. Integrating Features in the Development of Software Product Line Architecture. M.S. thesis. University of Missouri-Kansas City.
[75]
Laís Neves, Leopoldo Teixeira, Demóstenes Sena, Vander Alves, Uirá Kulezsa, and Paulo Borba. 2011. Investigating the safe evolution of software product lines. In Proceedings of the 10th ACM International Conference on Generative Programming and Component Engineering. ACM, 33--42.
[76]
ObjectAid. The ObjectAid UML Explorer for Eclipse. Retrieved December 2016 from http://www.objectaid.com/.
[77]
Rob van Ommering, Frank van derLinden, Jeff Kramer, and Jeff Magee. 2000. The Koala component model for consumer electronics software. IEEE Computer 33 (2000), 78--85.
[78]
Oracle. Java Annotations Basics. Retrieved December 2016 from https://docs.oracle.com/javase/tutorial/java/annotations/basics.html.
[79]
Oracle. Java Enum Types. Retrieved December 2016 from https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html.
[80]
David L. Parnas. 1979. Designing software for ease of extension and contraction. IEEE Transactions on Software Engineering 5 (1979), 128--137.
[81]
Terence Parr. The ANTLR Parser Generator. Retrieved December 2016 from http://www.antlr.org/.
[82]
H. Partsch and R. Steinbruggen. 1983. Program transformation systems. ACM Computing Surveys (CSUR) 15 (1983), 199--236.
[83]
Renaud Pawlak. 2006. Spoon: Compile-time annotation processing for middleware. IEEE Distributed Systems Online 7 (2006), 1.
[84]
Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York.
[85]
Jie Ren. A Connector-Centric Approach to Architectural Access Control. Ph.D. thesis. Information and Computer Science, University of California, Irvine, p. 222. http://www.ics.uci.edu/∼jie/Thesis.pdf.
[86]
John Reppy and Aaron Turon. 2007. Metaprogramming with traits. In Proceedings of ECOOP 2007 - Object-Oriented Programming, Erik Ernst (Ed.). Springer, Berlin, 373--398.
[87]
Julia Rubin and Marsha Chechik. 2012. Combining related products into product lines. In Proceedings of the 15th International Conference on Fundamental Approaches to Software Engineering. Springer-Verlag, 285--300.
[88]
SAIL. Group Website - Software Architecture and Implementation Lab, Univeristy of Missouri-Kansas City. Retrieved December 2016 from http://info.umkc.edu/sail.
[89]
Christoph Seidl, Florian Heidenreich, and Uwe Aßmann. 2012. Co-evolution of models and feature mapping in software product lines. In Proceedings of the 16th International Software Product Line Conference - Volume 1. ACM, 76--85.
[90]
Bran Selic. 2003. The pragmatics of model-driven development. IEEE Software 20 (2003).
[91]
Shane Sendall and Wojtek Kozaczynski. 2003. Model transformation: The heart and soul of model-driven software dvelopment. IEEE Software 20 (2003).
[92]
Mary Shaw and Paul Clements. 2006. The golden age of software architecture. IEEE Software 23 (2006), 31--39.
[93]
Mary Shaw, Robert DeLine, Daniel V. Klein, Theodore L. Ross, David M. Young, and Gregory Zelesnik. 1995. Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering 21 (1995), 314--335.
[94]
Marco Sinnema, Sybren Deelstra, Jos Nijhuis, and Jan Bosch. 2004. COVAMOF: A framework for modeling variability in software product families. In Proceedings of the 3rd International Software Product Lines Conference (SPLC’04), Robert L. Nord (Ed.). Springer, Berlin, 197--213.
[95]
John Spencer. 2000. Architecture Description Markup Language (ADML): Creating an Open Market for IT Architecture Tools. The Open Group.
[96]
Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework (2nd ed.). Addison-Wesley Professional, Reading, MA.
[97]
Mikael Svahnberg, Jilles van Gurp, and Jan Bosch. 2005. A taxonomy of variability realization techniques. Software Practice and Experience 35 (2005), 705--754.
[98]
Janos Sztipanovits and Gabor Karsai. 1997. Model-integrated computing. Computer 30 (1997), 110--111.
[99]
Richard N. Taylor. 2013. The role of architectural styles in successful software ecosystems. In Proceedings of the 17th International Software Product Line Conference. ACM, 2--4.
[100]
Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, Jr., E. James Whitehead, Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and Deborah L. Dubrow. 1996. A component- and message-based architectural style for GUI software. IEEE Transactions on Software Engineering 22 (1996), 390--406.
[101]
Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. 2010. Software Architecture: Foundations, Theory, and Practice. John Wiley 8 Sons.
[102]
Richard N. Taylor and André van derHoek. 2007. Software design and architecture: The once and future focus of software engineering. In Future of Software Engineering 2007, Lionel C. Briand and Aleander L. Wolf (Eds.). IEEE-CS Press, 226--243.
[103]
Ricardo Terra, Marco Tulio Valente, Krzysztof Czarnecki, and Roberto S. Bigonha. 2015. A recommendation system for repairing violations detected by static architecture conformance checking. SoftwAre: Practice and Experience 45 (2015), 315--342.
[104]
Naoyasu Ubayashi, Jun Nomura, and Tetsuo Tamai. 2010. Archface: A contract place where architectural design and code meet together. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1. ACM, 75--84.
[105]
J. van Gurp, J. Bosch, and M. Svahnberg. 2001. On the notion of variability in software product lines. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture, 2001. IEEE.
[106]
Hans van Vliet. 2000. Software Engineering: Principles and Practice. John Wiley 8 Sons, Ltd.
[107]
Jan Gerben Wijnstra. 2000. Supporting diversity with component frameworks as architectural elements. In Proceedings of the 22nd International Conference on Software Engineering. ACM, 51--60.
[108]
xLineMapper. Demo of Case Study with Apache Solr. Retrieved December 2016 from https://youtu.be/E4hdRIlJkjY.
[109]
xLineMapper. Tool Demo. Retrieved December 2016 from https://youtu.be/8nnVaXIX7ic.
[110]
xMapper. Tool Demo. Retrieved December 2016 from https://youtu.be/-vFoAuZNpho.
[111]
Hong Yan, David Garlan, Bradley Schmerl, Jonathan Aldrich, and Rick Kazman. 2004. DiscoTect: A system for discovering architectures from running systems. In International Conference on Software Engineering.
[112]
Yongjie Zheng, Cuong Cu, and Hazeline U. Asuncion. 2017. Mapping features to source code through product line architecture: Traceability and conformance. In Proceedings of the 2017 IEEE International Conference on Software Architecture (ICSA’17), 225--234.
[113]
Yongjie Zheng and Richard N. Taylor. 2012. Enhancing architecture-implementation conformance with change management and support for behavioral mapping. In Proceedings of the 34th International Conference on Software Engineering. IEEE Press, 628--638.
[114]
Yongjie Zheng and Richard N. Taylor. 2013. A classification and rationalization of model-based software development. Software 8 Systems Modeling 12 (2013), 669--678.
[115]
Steffen Zschaler, Pablo Sánchez, João Santos, Mauricio Alférez, Awais Rashid, Lidia Fuentes, Ana Moreira, João Araújo, and Uirá Kulesza. 2009. VML*—A family of languages for variability management in software product lines. In Proceedings of the 2nd International Conference on Software Language Engineering. Springer-Verlag, 82--102.

Cited By

View all
  • (2024)AVIATE: Exploiting Translation Variants of Artifacts to Improve IR-based Traceability Recovery in Bilingual Software ProjectsProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695023(519-530)Online publication date: 27-Oct-2024
  • (2024)Darcy: Automatic Architectural Inconsistency Resolution in JavaIEEE Transactions on Software Engineering10.1109/TSE.2024.339643350:6(1639-1657)Online publication date: Jun-2024
  • (2023)Designing Strongly-decoupled Industry 4.0 Applications Across the Stack: A Use CaseDigital Transformation10.1007/978-3-662-65004-2_2(33-64)Online publication date: 3-Feb-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 27, Issue 2
April 2018
186 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/3234930
Issue’s Table of Contents
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: 27 June 2018
Accepted: 01 May 2018
Revised: 01 March 2018
Received: 01 March 2017
Published in TOSEM Volume 27, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Architecture-implementation mapping
  2. architectural evolution
  3. architecture-centric development
  4. architecture-centric feature traceability
  5. variability conformance

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • University of Missouri Research Board

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)31
  • Downloads (Last 6 weeks)8
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)AVIATE: Exploiting Translation Variants of Artifacts to Improve IR-based Traceability Recovery in Bilingual Software ProjectsProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695023(519-530)Online publication date: 27-Oct-2024
  • (2024)Darcy: Automatic Architectural Inconsistency Resolution in JavaIEEE Transactions on Software Engineering10.1109/TSE.2024.339643350:6(1639-1657)Online publication date: Jun-2024
  • (2023)Designing Strongly-decoupled Industry 4.0 Applications Across the Stack: A Use CaseDigital Transformation10.1007/978-3-662-65004-2_2(33-64)Online publication date: 3-Feb-2023
  • (2019)Detection and repair of architectural inconsistencies in JavaProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00067(560-571)Online publication date: 25-May-2019
  • (2019)xLineMapperProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00045(87-90)Online publication date: 25-May-2019
  • (2019)Software Architecture and DesignHandbook of Software Engineering10.1007/978-3-030-00262-6_3(93-122)Online publication date: 12-Feb-2019

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media