Abstract
This paper presents an extension for the Practice Library of the Essence language in the form of a practice for working with antipatterns. To represent antipatterns in a system, the Antipattern subalpha, its states, and checkpoints are proposed. To record data about an antipattern, the Antipattern Report work product and its levels of detail with checkpoints are proposed. To analyze the architecture of a system, the Inspect Architecture activity is proposed. The Fix Architecture activity represents actions for fixing architecture flaws. Code analysis is represented as the Review the Code activity, while the correction of deficiencies found during the analysis is represented as the Refactor the Code activity. The effect of the Antipattern subalpha on the state of the Software System alpha is analyzed. Some recommendations concerning the proposed activities are provided.
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig1_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig2_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig3_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig4_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig5_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig6_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig7_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig8_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1134%2FS0361768823080273/MediaObjects/11086_2024_3797_Fig9_HTML.png)
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.REFERENCES
Report, D.E., Cross-border data flows and development: For whom the data flow, 2021. https://unctad.org/system/files/official-document/der2021_en.pdf.
Portman, H., Review Standish Group – CHAOS 2020: Beyond Infinity. https://hennyportman.wordpress.com/2021/01/06/review-standish-group-chaos-2020-beyond-infinity.
Wojewoda, S. and Hastie, S., Standish Group 2015 Chaos Report – Q&A with Jennifer Lynch. https://www.infoq.com/articles/standish-chaos-2015.
Standish Group, CHAOS Report. https://www.projectsmart.co.uk/white-papers/chaos-report.pdf.
Brown, W.J., Malveau, R.C., McCormic, H.W. III, and Mowbray, T.J., AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, New York: Wiley, 1998.
Park, J.S., Jacobson, I., Myburgh, B., and Johnson, P., SEMAT yesterday, today and tomorrow: An industrial perspective, Program. Inzh., 2014, no. 11, pp. 6–16.
Jacobson, I., Ng, P.-W., McMahon, P.E., Spence, I., and Lidman, S., The Essence of Software Engineering: Applying the SEMAT Kernel, Addison-Wesley, 2013.
Practice Library, https://practicelibrary.ivarjacobson.com/start.
Scott, K., The Unified Process Explained, Addison-Wesley Professional, 2001.
Beck, K., Beedle, M., van Bennekum, A., et al., Manifesto for Agile Software Development. https://agilemanifesto.org/iso/ru/manifesto.html.
Jacobson, I., Spence, I., and Bittner, K., USE-CASE 2.0: The guide to succeeding with use case, Ivar Jacobson International, 2011.
Munera, D. and Villa, G.F., A brief TOGAF description using SEMAT Essence Kernel. https://www.researchgate.net/publication/335855005_A_brief_TOGAF_description_using_SEMAT_Essence_Kernel.
Zapata-Jaramillo, C. and Henao-Roqueme, A., A proposal for improving the Essence standard by using terminology unification, Ingenieria, 2021, vol. 26, no. 2, pp. 213–232. https://doi.org/10.14483/23448393.16428
Simonette, M. and Spina, E., Software and systems engineering interplay and the SEMAT kernel, J. Isr. Syst. Eng., 2018, no. 22, pp. 6–20.
The TOGAF standard, Version 9.2. https://www.opengroup.org/togaf.
Perdomo Charry, W. and Zapata, C., Software quality measures and their relationship with the states of the software system alpha, Ingeniare, 2021, vol. 29, pp. 346–363. https://doi.org/10.4067/S0718-33052021000200346
Jones, C., Software Development Patterns and Antipatterns, CRC Press, 2022. https://doi.org/10.1201/9781003193128
Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D., Refactoring: Improving the Design of Existing Code, Addison-Wesley Professional, 1999.
Kerievsky, J., Refactoring to Patterns, Addison-Wesley Professional, 2004.
Zmeev, O.A. and Ivanova, L.S., Search for design artifacts: Overview of approaches, Vestn. Tomsk. Gos. Univ, Upr. Vychisl. Tekh. Inf., 2015, vol. 31, no. 2, pp. 81–90.
Cunningham, W., The WyCash portfolio management system, Addendum Proc. Object Oriented Programming Systems, Languages, and Applications, 1992, pp. 29–30.
Sadowski, C., Söderberg, E., Church, L., Sipko, M., and Bacchelli, A., Modern code review: A case study at Google, Proc. 40th Int. Conf. Software Engineering: Software Engineering in Practice (ICSE-SEIP), New York, 2018, pp. 181–190. https://doi.org/10.1145/3183519.3183525
Fagan, M., Design and code inspections to reduce errors in program development, IBM Syst. J., 1976, vol. 15, no. 3, pp. 182–211.
Gerrit Code Review, https://www.gerritcodereview.com.
CodeFlow, https://www.getcodeflow.com.
GitHub, https://github.com.
GitLab, https://about.gitlab.com.
Zmeev, D.O., Ivanova, L.S., and Rafikova, R.R., On representation of software project progress as a dynamic Bayesian network, Informatsionnye tekhnologii i matematicheskoe modelirovanie (ITMM). Mater. XIX Mezhdunar. Konf. im. A.F. Terpugova (Information Technologies and Mathematical Modeling (ITMM): Proc. XIX Int. Conf. named after A.F. Terpugov), Tomsk, 2021, pp. 291 – 297.
Funding
This work was supported by ongoing institutional funding. No additional grants to carry out or direct this particular research were obtained.
Author information
Authors and Affiliations
Corresponding authors
Ethics declarations
The authors declare that they have no conflicts of interest.
Additional information
Translated by Yu. Kornienko
Publisher’s Note.
Pleiades Publishing remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Zmeev, D.O., Zmeev, O.A. & Ivanova, L.S. Antipattern Practice for Essence Practice Library. Program Comput Soft 49, 913–921 (2023). https://doi.org/10.1134/S0361768823080273
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S0361768823080273