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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Anvik J, Hiew L, Murphy GC (2006) Who should fix this bug? Proceedings of the International Conference on Software Engineering, pp. 361–370.
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.
Čubranić D, Murphy GC (2003) Hipikat: Recommending pertinent software development artifacts. Proceedings of the International Conference on Software Engineering, pp. 408–418.
Č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.
Demeyer S, Tichelaar S, Steyaert P (2000) FAMIX 2.0 – The FAMOOS information exchange model. Technical Report.
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.
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.
Fluri B, Gall HC (2006) Classifying change types for qualifying change couplings. Proceedings of the International Conference on Program Comprehension, pp. 35–45.
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.
Gall HC, Fluri B, Pinzger M (2009) Change analysis with evolizer and change distiller. IEEE Software 26(1): 26–33.
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.
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.
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.
Hassan A, Holt R (2005) The top ten list: Dynamic fault prediction. Proceedings of the International Conference on Software Maintenance, pp. 263–272.
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.
Jackson D, Rinard M (2000) Software analysis: a roadmap. Proceedings of the International Conference on the Future of Software Engineering, pp. 133–145.
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.
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.
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.
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.
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.
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.
Lanza M, Marinescu R (2005) Object-Oriented Metrics in Practice. Secaucus, NJ: Springer-Verlag New York, Inc.
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.
Lorenz M, Kidd J (1994) Object-Oriented Software Metrics: A Practical Guide. Upper Saddle River, NJ: Prentice-Hall, Inc.
Mockus A, Herbsleb J (2002) Expertise browser: A quantitative approach to identifying expertise. Proceedings of the International Conference on Software Engineering, pp. 503–512.
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.
Schwarz B (2007) SNA-cockpit – Master’s thesis, University of Zurich, Department of Informatics.
Sliwerski J, Zimmermann T, Zeller A (2005) HATARI. Raising risk awareness. Proceedings of the European Software Engineering Conference, pp. 107–110.
Sliwerski J, Zimmermann T, Zeller A (2005) When do changes induce fixes? Proceedings of the International Workshop on Mining Software Repositories, pp. 1–5.
Sneed HM, Sneed S (2003) Creating web services from legacy host programs. Proceedings of the International Workshop on Web Site Evolution, pp. 59–65.
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.
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.
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.
Zou L, Godfrey M (2003) Detecting merging and splitting using origin analysis. Proceedings of the Working Conference on Reverse Engineering, pp. 146–154.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)