Skip to main content

Distributed and Collaborative Software Analysis

  • Chapter
  • First Online:
Collaborative Software Engineering

Abstract

Throughout the years software engineers have come up with a myriad of specialized tools and techniques that focus on a certain type of software analysis such as source code analysis, co-change analysis or bug prediction. However, easy and straight forward synergies between these analyses and tools rarely exist because of their stand-alone nature, their platform dependence, their different input and output formats and the variety of data to analyze. As a consequence, distributed and collaborative software analysis scenarios and in particular interoperability are severely limited. We describe a distributed and collaborative software analysis platform that allows for a seamless interoperability of software analysis tools across platform, geographical and organizational boundaries. We realize software analysis tools as services that can be accessed and composed over the Internet. These distributed analysis services shall be widely accessible in our incrementally augmented Software Analysis Broker where organizations and tool providers can register and share their tools. To allow (semi-) automatic use and composition of these tools, they are classified and mapped into a software analysis taxonomy and adhere to specific meta-models and ontologies for their category of analysis.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    http://jazz.net

  2. 2.

    http://msdn.microsoft.com/en-us/vstudio/bb725993.aspx

References

  1. Anvik J, Hiew L, Murphy GC (2006) Who should fix this bug? Proceedings of the International Conference on Software Engineering, pp. 361–370.

    Google Scholar 

  2. Canfora G, Fasolino A, Frattolillo G, Tramontana P (2006) Migrating interactive legacy systems to web services. Proceedings of the European Conference on Software Maintenance and Reengineering, pp. 36–46.

    Google Scholar 

  3. Čubranić D, Murphy GC (2003) Hipikat: Recommending pertinent software development artifacts. Proceedings of the International Conference on Software Engineering, pp. 408–418.

    Google Scholar 

  4. Čubranić D, Murphy GC (2004) Automatic bug triage using text categorization. Proceedings of the International Conference on Software Engineering and Knowledge Engineering (SEKE) pp. 92–97.

    Google Scholar 

  5. Demeyer S, Tichelaar S, Steyaert P (2000) FAMIX 2.0 – The FAMOOS information exchange model. Technical Report.

    Google Scholar 

  6. Draheim D, Pekacki L (2003) Process-centric analytical processing of version control data. Proceedings of the International Workshop on Principles of Software Evolution, p. 131.

    Google Scholar 

  7. Fischer M, Pinzger M, Gall H (2003) Populating a release history database from version control and bug tracking systems. Proceedings of the International Conference on Software Maintenance, pp. 23–32.

    Google Scholar 

  8. Fluri B, Gall HC (2006) Classifying change types for qualifying change couplings. Proceedings of the International Conference on Program Comprehension, pp. 35–45.

    Google Scholar 

  9. Fluri B, Würsch M, Pinzger M, Gall HC (2007) Change distilling – Tree differencing for fine-grained source code change extraction. IEEE Transactions on Software Engineering 33(11): 725–743.

    Article  Google Scholar 

  10. Gall HC, Fluri B, Pinzger M (2009) Change analysis with evolizer and change distiller. IEEE Software 26(1): 26–33.

    Article  Google Scholar 

  11. Gall H, Jazayeri M, Krajewski J (2003) CVS release history data for detecting logical couplings. Proceedings of the International Workshop on Principles of Software Evolution (IWPSE 2003), pp. 13–23.

    Google Scholar 

  12. Gîrba T, Kuhn A, Seeberger M, Ducasse S (2005) How developers drive software evolution. Proceedings of the International Workshop on Principles of Software Evolution, pp. 113–122.

    Google Scholar 

  13. Happel H, Korthaus A, Seedorf S, Tomczyk P (2006) KOntoR: An ontology-enabled approach to software reuse. Proceedings of the International Conference on Software Engineering and Knowledge Engineering.

    Google Scholar 

  14. Hassan A, Holt R (2005) The top ten list: Dynamic fault prediction. Proceedings of the International Conference on Software Maintenance, pp. 263–272.

    Google Scholar 

  15. Hyland-Wood D, Carrington D, Kaplan S (2006) Toward a software maintenance methodology using semantic web techniques. Proceedings of the International Workshop on Software Evolvability, pp. 23–30.

    Google Scholar 

  16. Jackson D, Rinard M (2000) Software analysis: a roadmap. Proceedings of the International Conference on the Future of Software Engineering, pp. 133–145.

    Google Scholar 

  17. Jin D, Cordy JR (2005) Ontology-based software analysis and reengineering tool integration: The OASIS service-sharing methodology. Proceedings of the International Conference on Software Maintenance, pp. 613–616.

    Google Scholar 

  18. Kiefer C, Bernstein A, Stocker M (2007) The fundamentals of iSPARQL – A virtual triple approach for similarity-based semantic web tasks. Proceedings of the International Semantic Web Conference, pp. 295–309.

    Google Scholar 

  19. Kiefer C, Bernstein A, Tappolet J (2007) Mining software repositories with iSPARQL and a software evolution ontology. Proceedings of the International Workshop on Mining Software Repositories.

    Google Scholar 

  20. Kim S, Pan K, Whitehead E (2005) When functions change their names: Automatic detection of origin relationships. Proceedings of the Working Conference on Reverse Engineering, pp. 23–32.

    Google Scholar 

  21. Kim M, Sazawal V, Notkin D, Murphy G (2005) An empirical study of code clones genealogies. Proceedings of the European Software Engineering Conference, pp. 23–32.

    Google Scholar 

  22. Kim S, Zimmermann T, Whitehead EJ Jr, Zeller A (2007) Predicting faults from cached history. Proceedings of the International Conference on Software Engineering, pp. 489–498.

    Google Scholar 

  23. Lanza M, Marinescu R (2005) Object-Oriented Metrics in Practice. Secaucus, NJ: Springer-Verlag New York, Inc.

    Google Scholar 

  24. Livshits B, Zimmermann T (2005) Dynamine: Finding common error patterns by mining software revision histories. Proceedings of the European Software Engineering Conference, pp. 296–305.

    Google Scholar 

  25. Lorenz M, Kidd J (1994) Object-Oriented Software Metrics: A Practical Guide. Upper Saddle River, NJ: Prentice-Hall, Inc.

    Google Scholar 

  26. Mockus A, Herbsleb J (2002) Expertise browser: A quantitative approach to identifying expertise. Proceedings of the International Conference on Software Engineering, pp. 503–512.

    Google Scholar 

  27. Nagappan N, Ball T (2005) Use of relative code churn measures to predict system defect density. Proceedings of the International Conference on Software Engineering, pp. 284–292.

    Google Scholar 

  28. Schwarz B (2007) SNA-cockpit – Master’s thesis, University of Zurich, Department of Informatics.

    Google Scholar 

  29. Sliwerski J, Zimmermann T, Zeller A (2005) HATARI. Raising risk awareness. Proceedings of the European Software Engineering Conference, pp. 107–110.

    Google Scholar 

  30. Sliwerski J, Zimmermann T, Zeller A (2005) When do changes induce fixes? Proceedings of the International Workshop on Mining Software Repositories, pp. 1–5.

    Google Scholar 

  31. Sneed HM, Sneed S (2003) Creating web services from legacy host programs. Proceedings of the International Workshop on Web Site Evolution, pp. 59–65.

    Google Scholar 

  32. Weiss C, Premraj R, Zimmermann T, Zeller A (2007) How long will it take to fix this bug? Proceedings of the International Workshop on Mining Software Repositories, p. 1.

    Google Scholar 

  33. Ying AT, Murphy GC, Ng R, Chu-Carroll MC (2004) Predicting source code changes by mining change history. IEEE Transactions on Software Engineering 30(9): 574–586.

    Article  Google Scholar 

  34. Zimmermann T, Weissgerber P, Diehl S, Zeller A (2004) Mining version history to guide software changes. Proceedings of the International Conference on Software Engineering, pp. 563–572.

    Google Scholar 

  35. Zou L, Godfrey M (2003) Detecting merging and splitting using origin analysis. Proceedings of the Working Conference on Reverse Engineering, pp. 146–154.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giacomo Ghezzi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Ghezzi, G., Gall, H.C. (2010). Distributed and Collaborative Software Analysis. In: Mistrík, I., Grundy, J., Hoek, A., Whitehead, J. (eds) Collaborative Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10294-3_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10294-3_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10293-6

  • Online ISBN: 978-3-642-10294-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics