What is a good program? A space way
Аннотация
Что такое хорошая программа? Пространственный подход
А. В. Пруцков
Чтобы написать хорошую программу, необходимо знать, что это такое. Существующие определения хорошей программы являются перечислениями ее параметров. Целью работы является формальное описание понятия хорошая программа, необходимое при ее разработке. Предложена модель программы, которая поможет дать определение хорошей программы. Программа – это точка в многомерном пространстве. Измерениями пространства являются ее параметры. Измерения пространства взаимозависимы. Увеличение значения координаты не всегда вызывает уменьшение значения координат остальных измерений, как в треугольнике компромиссов со сроком производства, стоимостью и качество в его углах. Хорошая программа – это совокупность точек в подпространстве пространства программ. В качестве примера мы рассмотрели четырехмерное пространство с легко-изменяемостью, надежностью, безопасностью и производительностью в качестве измерений. Для каждого измерения сделан обзор способов измерения. Предложенная модель программы опускает неясность с уровня понятия на уровень определения измерений пространства.
Ключевые слова
Полный текст:
PDF (English)Литература
Alexander W.P. et al. (2000) A Unifying Approach to Performance Analysis in the Java Environment // IBM Systems Journal, 39(1). EDN: FNFMXJ.
Backburn S. et al. (2025) Rethinking Java Performance Analysis // ACM International Conference on Architectural Support for Programming Languages and Operating Systems. URL: https://doi.org/10.1145/3669940.3707217.
Basili V.R., Weiss D.M. (1984) A Methodology for Collecting Valid Software Engineering Data // IEEE Transactions on Software Engineering, 10(6).
Behforooz A., Hudson F. (1996) Software Engineering Fundamentals. Oxford University Press.
Bratko I. (2012) Prolog Programming for Artificial Intelligence. Addison-Wesley.
Buglione L., Abran A. (1999) Multidimensional Software Performance Measurement Models: A Tetrahedron-Based Design // Software Measurement.
Cassel D. (1983) The Structured Alternative Program Design, Style, and Debugging. Reston Pub. Co..
Coleman D.M. et al. (1994) Using Metrics to Evaluate Software System Maintainability // Computer, 27(8).
De Jong K. (1987). On using genetic algorithms to search program spaces // Proceedings of the Second International Conference on Genetic Algorithms on Genetic algorithms and their application. USA, 210–216.
DeMarco T. (1982) Controlling Software Projects. Yourdon Press.
Dumke R., Abran A. (eds.) (1999) Software Measurement. Springer.
Evans B., Gough J. (2024) Optimizing Cloud Native Java. O'Reilly.
Feldt R. (1998) Generating Diverse Software Versions with Genetic Programming: An Experimental Study // IEEE Proceedings-Software, 145(6).
Fenton N., Bieman J. (2015) Software Metrics: A Rigorous and Practical Approach. ‟Chapman & Hall / CRC”.
Garvin D. (1987) Competing on the Eight Dimensions of Quality // Harvard Business Review 65, no. 6.
Glass R. (1979) Software Reliability Guidebook. Prentice-Hall.
Grady R. (1992) Practical Software Metrics for Project Management and Process Improvement. Prentice-Hall.
Halstead M.H. (1977) Elements of Software Science. Elsevier.
Heitlager I. et al. (2007) A Practical Model for Measuring Maintainability // International Conference on Quality of Information and Communications Technology. 30-39.
Islam S., Falcarin P. (2011) Measuring Security Requirements for Software Security // IEEE International Conference on Cybernetic Intelligent Systems.
Laird L.M., Brennan M.C. (2006) Software Measurement and Estimation. Wiley-Interscience.
Lisova E. et al. (2018) Safety and Security Co-Analyses: A Systematic Literature Review // IEEE Systems Journal, 13(3).
Liu H. (2009) Software Performance and Scalability. John Wiley & Sons.
McCabe T.J. (1976) A Complexity Measure // IEEE Transactions on Software Engineering, 2(4).
McConnell S. (1996) Rapid Development. Microsoft Press.
Mell P. et al. (2007) CVSS: A Complete Guide to the Common Vulnerability Scoring System, version 2.0. URL: http://www.first.org/cvss/cvss-guide.html.
Musa J. (2004) Software Reliability Engineering: More Reliable Software Faster and Cheaper. AuthorHouse.
Oman P.W., Hagemeister J.R. (1994) Construction and Testing of Polynomials Predicting Software Maintainability // Journal of Systems and Software, 24(3).
Pressman R. (2010) Software Engineering. McGraw-Hill.
Prutzkow A. (2021) Criterion and Principles of Easily-Modified Program // Workshop on Materials and Engineering in Aeronautics, IOP Conference Series: Materials Science and Engineering, 1027, 012025. EDN: IQLYTO.
Prutzkow A. V. Actual Concurrency Patterns: An Initial Collection // Systems Engineering and Information Technologies. 2025. Vol. 7, No. 5(24). P. 136-145. EDN: ITOSME.
Пруцков А. В. Психология в программировании: аспекты междисциплинарного подхода // Преступление, наказание, исправление: сб. тез. выступл. и докл. 7-го Междунар. пенитенциарного форума. Рязань: Акад. ФСИН России, 2025. Т. 1. С. 318-320. EDN: VVIBGK. [[Prutzkow A. V. Psychology in Programming: Aspects of an Interdisciplinary Approach // Crime, Punishment, Correction: Collection of Abstracts of Speeches and Papers of Participants of the International Penitentiary Forum. Ryazan, 2025. Vol. 1. Pp. 318-320. (In Russian).]]
Purini S., Jain L. (2013) Finding Good Optimization Sequences Covering Program Space // ACM Transactions on Architecture and Code Optimization, 9(4).
Rosa J. (2022) Scaling an Organization: The Central Role of Software Architecture // Software Architecture Metrics.
Sridharan C. (2018) Distributed Systems Observability. O'Reilly.
Wang J.A. et al. (2009) Security Metrics for Software Systems // ACM Southeast Regional Conference.
Wehmeyer K. (1984) What Every Engineer Should Know About Microcomputer Program Design. Marcel Dekker.
Weinberg G. (1971) Psychology of Computer Programming. Van Nostrand Reinhold.
Woods E. (2022) The Role of Measurement in Software Architecture: Chapter 7 // Software Architecture Metrics. O'Reilly Media.
Yamada S., Yoshinobu T. (2016) OSS Reliability Measurement and Assessment. Springer.
Zitzewitz A. von. (2022) Using Software Metrics to Ensure Maintainability: Chapter 9 // Software Architecture Metrics. O'Reilly Media.
Zuse H. (1999) Thirty Years of Software Measurement // Software Measurement.
DOI: https://doi.org/10.54708/SIIT-2026-no2-p29
Ссылки
- На текущий момент ссылки отсутствуют.
(c) 2026 A. V. Prutzkow


