Skip to main content

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 149))

Included in the following conference series:

Abstract

In this paper we present a study on micro patterns in different releases of two software systems developed with Object Oriented technologies and Agile process. Micro patterns are design decisions in code that can be easily automatically recognised. Gil and Maman introduced the concept to support providing objective assessment of design decisions [1]. They catalogued 27 micro patterns that capture a variety of programming practices in Java. Micro patterns can be a useful metrics in order to measure the quality of software by showing that certain categories of micro patterns are more fault prone than others, and that the classes that do not correspond to any category of micro patterns are more likely to be faulty. In our study we present some empirical results on two case studies of systems developed with Agile methodologies, and compare them to previous results obtained for non Agile systems. In particular we have verified that the distribution of micro patterns in a software system developed using Agile methodologies does not differ from the distribution studied in other systems, and that the micro patterns fault-proneness is about the same. We also analyzed how the distribution of micro patterns changes in different releases of the same software system. We demonstrate that there is a relationship between the number of faults and the classes that do not match with any micro patterns. We found that these classes are more likely to be fault-prone than the others even in software developed with Agile methodologies.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gil, J.Y., Maman, I.: Micro pattern in Java Code. In: Proceedings of the 20th Object Oriented Programming Systems Languages and Applications, San Diego, CA, USA, p. 97116 (2005)

    Google Scholar 

  2. Agile Manifesto, http://www.agilemanifesto.org

  3. Destefanis, G., Tonelli, R., Tempero, E., Concas, G., Marchesi, M.: Micro Pattern Fault-Proneness. In: 2012 38th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA), pp. 302–306. IEEE (September 2012)

    Google Scholar 

  4. Arcelli, F., Maggioni, S.: Metrics-based Detection of Micro pattern to improve the Assesment of Software Quality. In: Proceedings of 1st Symposium on Emerging Trends in Software Metrics (ETSM 2009), Italy (May 2009)

    Google Scholar 

  5. Gamma, E., Helm, R., Jhonson, R., Vlissides, J.: Design Pattern: Elements of Reusable Object-Oriented Software. Addison Wesley (1995)

    Google Scholar 

  6. JAPS: Java agile portal system, http://www.japsportal.org

  7. Heuzeroth, D., Holl, T., Hogstrom, G., Lowe, W.: Automatic Design Pattern Detection. In: IWPC 2003 Proceedings of the 11th IEEE International Workshop on Program Comprehension (2003)

    Google Scholar 

  8. Aversano, L., Cerulo, L., Di Penta, M.: Relationship between design pattern defects and crosscutting concern scattering degree: an empirical study. IET Softw. 3(5), 395–409 (2009)

    Google Scholar 

  9. Dorairaj, S., Noble, J., Malik, P.: Understanding Team Dynamics in Distributed Agile Software Development. In: Wohlin, C. (ed.) XP 2012. LNBIP, vol. 111, pp. 47–61. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  10. Bloch, J.: Effective Java Programming Language Guide. Addison-Wesley (June 2011)

    Google Scholar 

  11. Bachmann, A., Bernstein, A.: Software process data quality and characteristics: a historical view on open and closed source projects. In: IWPSE-Evol 2009 Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops. ACM (2009)

    Google Scholar 

  12. Destefanis, G., Tonelli, R., Concas, G., Marchesi, M.: An analysis of anti micro patterns effects on fault proneness in large Java systems. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing, pp. 1251–1253. ACM (March 2012)

    Google Scholar 

  13. Concas, G., Marchesi, M., Destefanis, G., Tonelli, R.: An empirical study of software metricsfor assessing the phases of an agile project. International Journal of Software Engineering and Knowledge Engineering 22, 525–548 (2012)

    Article  Google Scholar 

  14. Tasharofi, S., Ramsin, R.: Process Patterns for Agile Methodologies. In: Ralyté, J., Brinkkemper, S., Henderson-Sellers, B. (eds.) Situational Method Engineering: Fundamentals and Experiences. IFIP, vol. 244, pp. 222–237. Springer, Boston (2007)

    Chapter  Google Scholar 

  15. Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall PTR, Upper Saddle River (2003)

    Google Scholar 

  16. Empirical studies of agile software development: A systematic review. Tore Dyba, Torgeir Dingsoyr. SINTEF ICT, S.P. Andersensv. 15B, NO-7465 Trondheim, Norway

    Google Scholar 

  17. Hoda, R., Noble, J., Marshall, S.: How much is just enough?: some documentation patterns on Agile projects. In: Proceedings of the 15th European Conference on Pattern Languages of Programs, EuroPLoP 2010, Article 13, 13 pages. ACM, New York (2010)

    Google Scholar 

  18. Martinez, J., Diaz, J., Perez, J., Garbajosa, J.: Software Product Line Engineering Approach for Enhancing Agile Methodologies. In: Abrahamsson, P., Marchesi, M., Maurer, F. (eds.) XP 2009. LNBIP, vol. 31, pp. 247–248. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  19. Bloch, J.: Effective Java Programming Language Guide. Addison-Wesley (June 2011)

    Google Scholar 

  20. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20(6), 476–493 (1994)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Concas, G., Destefanis, G., Marchesi, M., Ortu, M., Tonelli, R. (2013). Micro Patterns in Agile Software. In: Baumeister, H., Weber, B. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2013. Lecture Notes in Business Information Processing, vol 149. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38314-4_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38314-4_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38313-7

  • Online ISBN: 978-3-642-38314-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics