skip to main content
10.1145/2372251.2372303acmconferencesArticle/Chapter ViewAbstractPublication PagesesemConference Proceedingsconference-collections
research-article

Towards a model to support in silico studies of software evolution

Published: 19 September 2012 Publication History

Abstract

Software evolution is recognized as one of the most challenging areas in the field of Software Engineering. The observation of evolution is time-dependent, reducing opportunities for actual observations in short periods of time. Usually, maintenance cycles are proportional to the software life cycle. Therefore, the amount of research has not been enough to deal with all the issues related to the evolution of software. However, simulation through confident models represents an interesting strategy to support software decay observation in short period of time. Towards that, this paper describes a model aimed at supporting the software decay simulation through systems dynamics. The Laws of Software Evolution and ISO 9126 were used as initial knowledge to support the discovery of software characteristic (size, periodicity, complexity, effort, reliability, and maintainability) relationships. Next, evidence to strengthen the existence of such relationships was acquired through quasi-systematic literature reviews. In sequence, the model was applied to support the simulation of industrial software decay. The results suggested its feasibility and correctness, making it an interesting candidate to support future software decay studies.

References

[1]
Bocco, M., Moody, D. and Piattini, M. 2005. Assessing the capability of internal metrics as early indicators of maintenance effort through experimentation. Research Articles. J. Softw. Maint. Evol. 17, 3 (May 2005), 225--246. DOI=10.1002/smr.v17:3 http://dx.doi.org/10.1002/smr.v17:3.
[2]
Lehman, M. M. and Ramil, F. F. 2002. Software Evolution and Software Evolution Processes. Ann. Softw. Eng. 14, 1-4 (December 2002), 275--309. DOI=http://dx.doi.org/10.1023/A:102055752590.
[3]
Madhavji, N. H., Ramil, J. F., and Perry, D. 2006. Software Evolution and Feedback: Theory and Practice. John Wiley & Sons.
[4]
Araújo, M. A. 2009. Um Modelo para Observação da Evolução de Software. Doctoral Thesis. Federal University of Rio de Janeiro.
[5]
Smith, N., Ramil, J.F., 2002. Qualitative Simulation of Software of Evolution Process. In: WESS'02 Eighth Workshop on Empirical Studies of Software Maintenance.
[6]
Stopford, B., Counsell, S., 2008. A Framework for the Simulation of Structural Software Evolution. ACM Transactions on Modeling and Computer Simulation, Vol. 18, No. 4, Article 17.
[7]
Lehman, M. M. 1980. Programs, Life Cycle and the Laws of Software Evolution. Proc. IEEE Special Issue on Software Engineering, vol. 68, no. 9, pp. 1060 -1076.
[8]
Araújo, M. A. P., Travassos, G. H. 2008. A System Dynamics Model based on Cause and Effect Diagram to Observe Object-Oriented Software Decay.Technical Report ES-720/08, COPPE/UFRJ.
[9]
Lehman, M. M. and Ramil, F. F. 2003. Software evolution: background, theory, practice. Information Processing Letters, v. 88 n. 1-2, p. 33--44, 2003. DOI= http://dx.doi.org/10.1016/S0020-0190(03)00382-X.
[10]
Araújo, M. A. P., Travassos, G. H. Kitchenham, Barbara. 2006. Evolutive Maintenance: Observing Object-Oriented Software Decay. Technical Report, COPPE/UFRJ.
[11]
ISO 9126--1, 1997, International Standard. Information Technology -- Software Quality Characteristics and Metrics -- Part 1: Quality Characteristics and Sub-Characteristics.
[12]
Pai M., McCulloch M., Gorman J., Pai N., Enanoria W., Kennedy G. 2004. Systematic reviews and meta-analysis: an illustrated step-by-step guide. Natl Med J India. 2004;17:86--95.
[13]
Travassos, G. H., Santos, P. S. M., Mian, P., Dias Neto, A. C., Biolchini, J. 2008. An Environment to Support Large Scale Experimentation in Software Engineering. In: Proc. of the IEEE International Conference on Engineering of Complex Computer Systems, ICECCS 2008, p. 193--202.
[14]
Kitchenham, B.A., Charters, S. 2007. Guidelines for Performing Systematic Literature Reviews in Software Engineering. Technical Report EBSE-2007-01.
[15]
Travassos, G.H., Shull, F., Carver, J. 2001. Working with UML: A Software Design Process Based on Inspections for the Unified Modeling Language. Advances in Computers, San Diego, v.54, n.1, p.35 - 97.
[16]
Monteiro, V. F. 2011. Infraestrutura Computacional para Observação de Evolução de Software. Master Thesis. Federal University of Rio de Janeiro.
[17]
Aggarwal, K., Singh, Y., Kaur, A. and Malhotra, R. 2006. Empirical Study of Object-Oriented Metrics, in Journal of Object Technology, vol. 5. no. 8, November-December 2006, pp. 149--173.
[18]
Heijstek, W., Chaudro, M.R.V. 2009. Empirical Investigations of Model Size, Complexity and Effort in a Large Scale, Distributed Model Driven Development Process. Software Engineering and Advanced Applications, 2009. SEAA '09. 35th Euromicro Conference on 2009, Page(s): 113 -- 120. DOI=http://dx.doi.org/10.1109/SEAA.2009.70.
[19]
Basili, V.R., Perricone, B.T., 1984. Software Errors and Complexity: An Empirical Investigation. Communications of the ACM, 27, 42 -- 52.
[20]
Ebert, C., 1996. Evaluation and application of complexity-based criticality models. In: International Software Metrics Symposium, Proceedings, 174 -- 184.
[21]
Misic, V.B., Tesic, D.N., 1998. Estimation of effort and complexity: An object-oriented case study. Journal of Systems and Software, 41, 133 -- 143.
[22]
El Emam, K., Benlarbi, S., Goel, N., Melo, W., Lounis, H., Rai, S. N. 2002. The Optimal Class Size for Object-Oriented Software. IEEE Transactions on Software Engineering, v.28 n.5, p.494--509, May 2002. DOI= http://dx.doi.org/10.1109/TSE.2002.1000452.
[23]
English, M. Exton, C., Rigon, I., Cleary, B. 2009. Fault detection and prediction in an open-source software project. Proceedings of the 5th International Conference on Predictor Models in Software Engineering, May 18-19, 2009, Vancouver, British Columbia, Canada. DOI= http://doi.acm.org/10.1145/1540438.1540462.
[24]
Fenton, N.E., Neil, M., Marsh, W., Hearty, P., Radlinski, L., Krause, P. 2008. On the effectiveness of early life cycle defect prediction with Bayesian Nets. In Proceedings of Empirical Software Engineering. 2008, 499--537. DOI= http://dx.doi.org/10.1007/s10664-008-9072-x.
[25]
Leszak, M. 2005. Software Defect Analysis of a Multi-release Telecommunications System In Product Focused Software Process Improvement (2005), pp. 98--114.
[26]
Zhang, H. 2009. An investigation of the relationships between lines of code and defects. ICSM, pp.274--283, 2009 IEEE International Conference on Software Maintenance, 2009.
[27]
Selby, R.W., 1990. Empirically based analysis of failures in software systems. IEEE Transactions on Reliability, 39, 444 -- 454.
[28]
Malaiya, Y.K., Denton, J., 2000. Module size distribution and defect density. In: Proceedings of the International Symposium on Software Reliability Engineering, ISSRE, 62 -- 71.
[29]
Darcy, D., Kemerer, C., Slaughter, S., and Tomayko, J. 2005. The Structural Complexity of Software: An Experimental Test. IEEE Trans. Softw. Eng. 31, 11 (November 2005), 982--995. DOI=http://dx.doi.org/10.1109/TSE.2005.130.
[30]
Kozlov D., Koskinen J., Sakkinen M., Markkula J. 2008. Assessing maintainability change over multiple software releases. In Journal of Software Maintenance and Evolution: Research and Practice 2008; 20:31--58. DOI=http://dx.doi.org/10.1002/smr.v20:1.
[31]
Sentas, P., Angelis, L., Stamelos, I. 2008. A Statistical Framework for Analyzing the Duration of Software Projects. Empirical Software Engineering (Springer). 13:147--184. DOI=http://dx.doi.org/10.1007/s10664-007-9051-7.
[32]
Bianchi, A. Caivano, D., Lanubile, F., Visaggio, G., 2001. Evaluating Software Degradation through Entropy. IEEE.
[33]
Canfora, G., García, F., Piattini, M., Ruiz, F., Visaggio, C. A. 2005. A family of experiments to validate metrics for software process models. Journal of Systems and Software, v.77 n.2, p.113--129, August 2005. DOI=http://dx.doi.org/10.1016/j.jss.2004.11.007.
[34]
Cruz-Lemus, J., Genero, M., and Piattini, M. 2007. Using Controlled Experiments for Validating UML Statechart Diagrams Measures. In Software Process and Product Measurement. Lecture Notes In Computer Science, Vol. 4895. Springer-Verlag, Berlin, Heidelberg 129--138. DOI=http://dx.doi.org/10.1007/978-3-540-85553-8_11.
[35]
Poels, G., Dedene, G. 2001. Evaluating the Effect of Inheritance on the Modifiability of Object-Oriented Business Domain Models. In Proceedings of the Fifth European Conference on Software Maintenance and Reengineering (CSMR '01). IEEE Computer Society, Washington, DC, USA.
[36]
Riaz, M.; Mendes, E.; Tempero, E. A. 2009. Systematic Review of Software Maintainability Prediction and Metrics. Proceeding ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement. IEEE Computer Society, Washington, DC, USA, 367--377. DOI= http://dx.doi.org/10.1109/ESEM.2009.5314233.
[37]
McCabe, T. J., 1976. A Complexity Measure. IEEE Transactions on Software Engineering.
[38]
Lindell, J., Hagglund, M., 2004. Maintainability Metrics for Object Oriented Systems. Software Quality.
[39]
Koten, C., Gray, 2005. An Application of Bayesian Network for Predicting Object Oriented Software Maintainability. The Information Science Discussion Paper Series. University of Otago.
[40]
Aggarwall, K.K., Singh, Y., Kaur, A., Malhotra, R., 2006. Application of Artificial Neural Network for Predicting Maintainability using Object Oriented Metrics. Transactions on Engineering, Computing and Technology Volume.
[41]
Nikora, A. P., Munson, J.C., 2003. Developing Fault Predictors for Evolving Software Systems. In: Proc. Ninth International Software Metrics Symposium -- METRICS'03.
[42]
Mockus, A. Weiss, D., Zhang, P., 2003, Understanding and Predicting Effort in Software Projects. In: ICSE'03.
[43]
Dolado JJ. 2001. On the problem of the software cost function. Inform Software Technology 2001;43:61--72. DOI= http://dx.doi.org/10.1016/j.advengsoft.2004.10.001.
[44]
Ferrucci, F., Gravino, C., and Di Martino, S. 2008. A Case Study Using Web Objects and COSMIC for Effort Estimation of Web Applications. In Proceedings of the 2008 34th Euromicro Conference Software Engineering and Advanced Applications (SEAA '08). IEEE Computer Society, Washington, DC, USA, 441--448. DOI=http://dx.doi.org/10.1109/SEAA.2008.
[45]
Tsunoda, M., Monden, A., Yadohisa, H., Kikuchi, N., Matsumoto, K. 2009. Software development productivity of Japanese enterprise applications. In Information Technology and Management, v.10 n.4, p.193--205, December 2009. DOI= http://dx.doi.org/10.1007/s10799-009-0050-9.
[46]
Zhang, J. 2008. The Establishment and Application of Effort Regression Equation. In Proceedings of the 2008 International Conference on Computer Science and Software Engineering - Volume 02 (CSSE '08), Vol. 2. IEEE Computer Society, Washington, DC, USA, 11--14. DOI=http://dx.doi.org/10.1109/CSSE.2008.726.
[47]
Waltson, C. E., Felix, C.P., 1977, A Method of Programming Measurement and Estimation. IBM System Journal.
[48]
Boehm, B., 1981. Software Engineering Economics. Prentice Hall.
[49]
Bailey, J. W., Basili, V., 1981. A Meta-Model for Software Development Resource Expenditures. IEEE.
[50]
Boehm, B., 1984. Software Engineering Economics. IEEE Transactions on Software Engineering.
[51]
Premraj, R., Shepperd, M., Kitchenham, B., Forselius, P., 2005. An Empirical Analysis of Software Productivity over Time. In: 11th IEEE International Software Metrics Symposium (METRICS 2005).
[52]
Aggarwal, K., Singh, Y., Kaur, A. and Malhotra, R. 2007. Investigating effect of design metrics on fault proneness in object-oriented systems. Journal of Object Technology. v6 i10. 127--141.
[53]
Ferneley, E. H. 1999. Design metrics as an aid to software maintenance: an empirical study. Journal of Software Maintenance 11, 1 (January 1999), 55--72. DOI= http://dx.doi.org/10.1002/(SICI)1096-908X(199901/02)11:1%3C55::AID-SMR184%3E3.3.CO;2-F.
[54]
Schneidewind, N., Hinchey, M. 2009. A Complexity Reliability Model. In Proceedings of the 20th IEEE international conference on software reliability engineering (ISSRE'09) on. page(s): 1 -- 10.
[55]
Basili, V., Briand, L., Melo, W., 1995. A Validation of Object Oriented Design Metrics as Quality Indicators, Technical Report, Univ. of Maryland, Dep. of Computer Science, College Park, MD, 20742 USA.
[56]
Munson, J.C., 1996. Software faults, software failures and software reliability modeling. Information and Software Tecnology.
[57]
Schneidewind, N., 1999. Measuring and Evaluating Maintenance Process using Reliability, Risk and Test Metrics. IEEE Transactions on Software Engineering.
[58]
Forrester, J. W., Industrial Dynamics. The M.I.T. Press, Cambridge, Mass., 1961.
[59]
Fenton, N., Marsh, W., Neil, M., Cates, P., Forey, S., Tailor, M., 2004. Making Resource Decisions for Software Projects, icse, pp.397--406, 26th International Conference on Software Engineering (ICSE'04).
[60]
Barros, M.O., Werner, C. M. L., Travassos, G.H. 2000. Illium: Uma ferramenta de Simulação de Modelos Dinâmicos de Projetos de Software, In XIV Simpósio Brasileiro de Engenharia de Software, Caderno de Ferramentas, p. 355--358, João Pessoa, PB, Brasil.
[61]
Barros, M. O., Werner, C. M. L., Travassos, G. H. . A System Dynamics Metamodel for Software Process Modeling. Software Process Improvement and Practice, 2003.
[62]
Barros, M. O., Werner, C. M. L., Travassos, G. H. 2004. Supporting Risk Analysis on Software Projects. Journal of Systems and Software.
[63]
Vensim PLE 2010. Ventana Systems, Inc. Avaiable at: http://www.vensim.com.

Cited By

View all
  • (2024)Metrics for software process simulation modelingJournal of Software: Evolution and Process10.1002/smr.2676Online publication date: 11-Jul-2024
  • (2022)Simulating Software Evolution to Evaluate the Reliability of Early Decision-making among Design Alternatives toward MaintainabilityACM Transactions on Software Engineering and Methodology10.1145/356993132:3(1-38)Online publication date: 31-Oct-2022
  • (2020)The Evolution of Empirical Methods in Software EngineeringContemporary Empirical Methods in Software Engineering10.1007/978-3-030-32489-6_1(1-24)Online publication date: 28-Aug-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEM '12: Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
September 2012
338 pages
ISBN:9781450310567
DOI:10.1145/2372251
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: 19 September 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. experimental software engineering
  2. in silico study
  3. object-oriented software
  4. simulation model
  5. software evolution
  6. software maintenance

Qualifiers

  • Research-article

Conference

ESEM '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 130 of 594 submissions, 22%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Metrics for software process simulation modelingJournal of Software: Evolution and Process10.1002/smr.2676Online publication date: 11-Jul-2024
  • (2022)Simulating Software Evolution to Evaluate the Reliability of Early Decision-making among Design Alternatives toward MaintainabilityACM Transactions on Software Engineering and Methodology10.1145/356993132:3(1-38)Online publication date: 31-Oct-2022
  • (2020)The Evolution of Empirical Methods in Software EngineeringContemporary Empirical Methods in Software Engineering10.1007/978-3-030-32489-6_1(1-24)Online publication date: 28-Aug-2020
  • (2019)Using a Systematic Literature Review to Strengthen the Evidence Supporting a Simulation Model of Distributed Software Projects2019 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA.2019.00063(371-378)Online publication date: Aug-2019

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