skip to main content
10.1145/3344948.3344983acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecsaConference Proceedingsconference-collections
short-paper

Source-code divergence diagnosis using constraints and cryptography

Published:09 September 2019Publication History

ABSTRACT

This paper presents a new technique that informs developers of potential architectural-type violations and non-compliance checking in their software system after changes in the source code. The violations identified by our technique not only concern broken calls/dependencies/inheritance or data-dependencies but also concern the dissatisfaction of some constraints which may be defined and imposed by OCL. The technique partitions the software system into small grain nodes and filters out nodes that have no role in dependency-based software architecture adherence and nodes that cannot jeopardize the validity of a function regarding OCL adherence. It thus presents a reduced version of the source code where additional developer-defined links may be established between entities (e.g., method to method) based on the developer's implicit knowledge of the architecture of the system.

A change in, for example, an assignment expression would 1) single out the containing entity of the node(s) (e.g., method or class), and 2) issue an alert to all of the linked entities. To establish the link/call/chain, we suggest using an architecture consistency chain technology (inspired by blockchain).

References

  1. B. Moura Araujo, E. Schmitz, A. L. Correa, and A. j. Alencar. A method for validating the compliance of business processes to business rules. In Proceedings of the 2010 ACM Symposium on Applied Computing, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Arcoverde, I. Macia, A. Garcia, and A. von Staa. Automatically detecting architecturally-relevant code anomalies. In 2012 Third International Workshop on Recommendation Systems for Software Engineering, pages 90--91, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Z. Broder. Some applications of rabinâăŹs fingerprinting method. In Sequences II, pages 143--152. Springer, 1993.Google ScholarGoogle ScholarCross RefCross Ref
  4. J. Cabot and M. Gogolla. Object Constraint Language (OCL): A Definitive Guide, pages 58--90. Springer Berlin Heidelberg, Berlin, Heidelberg, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. Clark and J. Warmer. Object modeling with the OCL: the rationale behind the Object Constraint Language, volume 2263. Springer, 2003.Google ScholarGoogle Scholar
  6. T. T. Dinh, M. Zhang R. Liu, G. Chen, B. C. Ooi, and J. Wang. Untangling blockchain: A data processing view of blockchain systems. IEEE Transactions on Knowledge and Data Engineering, 30(7):1366--1385, 2018.Google ScholarGoogle ScholarCross RefCross Ref
  7. S. Flake and W. Mueller. An ocl extension for real-time constraints. In Object Modeling with the OCL, pages 150--171. Springer, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F. A. Fontana, V. Ferme, and M. Zanoni. Towards assessing software architecture quality by exploiting code smell relations. In Proceedings of the Second International Workshop on Software Architecture and Metrics, pages 1--7, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. JabRef Development Team. http://www.jabref.org/, Accessed: 2019-05-27.Google ScholarGoogle Scholar
  10. JavaParser Development Team. https://javaparser.org/, Accessed: 2019-05-31.Google ScholarGoogle Scholar
  11. I. Macia, R. Arcoverde, A. Garcia, C. Chavez, and A. von Staa. On the relevance of code anomalies for identifying architecture degradation symptoms. In 2012 16th European Conference on Software Maintenance and Reengineering, pages 277--286, March 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. W. Oizumi, A. Garcia, L. d. S. Sousa, B. Cafeo, and Y. Zhao. Code anomalies flock together: Exploring code anomaly agglomerations for locating design problems. In 38th International Conference on Software Engineering, pages 440--451, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. W. Oizumi, A. F. Garcia, T. E. Colanzi, M. Ferreira, and A. V. Staa. On the relationship of code-anomaly agglomerations and architectural problems. Journal of Software Engineering Research and Development, 3(1):11, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  14. T. Olsson, M. Ericsson, and A. Wingkvist. The relationship of code churn and architectural violations in the open source software jabref. In Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings, ECSA '17, pages 152--158, New York, NY, USA, 2017. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. T. Tvedt, P. Costa, and M. Lindvall. Does the code match the design? In International Conference on Software Maintenance, pages 393--401, Oct 2002.Google ScholarGoogle Scholar
  16. M. Vaziri and D. Jackson. Some shortcomings of ocl, the object constraint language of uml. In TOOLS (34), pages 555--562, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Worzberger, T. Kurpick, and T. Heer. Checking correctness and compliance of integrated process models. In 2008 10th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, pages 576--583. IEEE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Source-code divergence diagnosis using constraints and cryptography

    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
      ECSA '19: Proceedings of the 13th European Conference on Software Architecture - Volume 2
      September 2019
      286 pages
      ISBN:9781450371421
      DOI:10.1145/3344948

      Copyright © 2019 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: 9 September 2019

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • short-paper

      Acceptance Rates

      ECSA '19 Paper Acceptance Rate48of72submissions,67%Overall Acceptance Rate48of72submissions,67%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader