Distributed and Collaborative Software Analysis

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.

[1]  Scott Boag,et al.  XQuery 1.0 : An XML Query Language , 2007 .

[2]  D. Hyland-Wood,et al.  Toward a Software Maintenance Methodology using Semantic Web Techniques , 2006, 2006 Second International IEEE Workshop on Software Evolvability (SE'06).

[3]  Harry M. Sneed,et al.  Creating Web services from legacy host programs , 2003, Fifth IEEE International Workshop on Web Site Evolution, 2003. Theme: Architecture. Proceedings..

[4]  Harald C. Gall,et al.  Populating a Release History Database from version control and bug tracking systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[5]  Dean Jin,et al.  Ontology-based software analysis and reengineering tool integration: the OASIS service-sharing methodology , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[6]  Audris Mockus,et al.  Identifying reasons for software changes using historic databases , 2000, Proceedings 2000 International Conference on Software Maintenance.

[7]  Benjamin Livshits,et al.  DynaMine: finding common error patterns by mining software revision histories , 2005, ESEC/FSE-13.

[8]  Gail C. Murphy,et al.  Hipikat: recommending pertinent software development artifacts , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[9]  I. Melzer Web Services Description Language , 2010 .

[10]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[11]  Andreas Zeller,et al.  HATARI: raising risk awareness , 2005, ESEC/FSE-13.

[12]  Abraham Bernstein,et al.  Repositories with iSPARQL and a Software Evolution Ontology , 2007 .

[13]  N. Nagappan,et al.  Use of relative code churn measures to predict system defect density , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[14]  Daniel Jackson,et al.  Software analysis: a roadmap , 2000, ICSE '00.

[15]  Harald C. Gall,et al.  Classifying Change Types for Qualifying Change Couplings , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[16]  Harald C. Gall,et al.  CVS release history data for detecting logical couplings , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[17]  Andreas Winter,et al.  An Overview of the GXL Graph Exchange Language , 2001, Software Visualization.

[18]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[19]  Michael W. Godfrey,et al.  Detecting merging and splitting using origin analysis , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[20]  Andreas Zeller,et al.  Predicting faults from cached history , 2008, ISEC '08.

[21]  Abraham Bernstein,et al.  The Fundamentals of iSPARQL: A Virtual Triple Approach for Similarity-Based Semantic Web Tasks , 2007, ISWC/ASWC.

[22]  Dirk Draheim,et al.  Process-centric analytical processing of version control data , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[23]  Jim des Rivières,et al.  Eclipse: A platform for integrating development tools , 2004, IBM Syst. J..

[24]  Audris Mockus,et al.  Expertise Browser: a quantitative approach to identifying expertise , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[25]  Sunghun Kim,et al.  When functions change their names: automatic detection of origin relationships , 2005, 12th Working Conference on Reverse Engineering (WCRE'05).

[26]  Harry M. Sneed,et al.  Integrating legacy software into a service oriented architecture , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[27]  Axel Korthaus,et al.  KOntoR: An Ontology-enabled Approach to Software Reuse , 2006, SEKE.

[28]  Miryung Kim,et al.  An empirical study of code clone genealogies , 2005, ESEC/FSE-13.

[29]  Andreas Zeller,et al.  Mining Version Histories to Guide Software Changes , 2004 .

[30]  Harald C. Gall,et al.  Change Distilling:Tree Differencing for Fine-Grained Source Code Change Extraction , 2007, IEEE Transactions on Software Engineering.

[31]  Gail C. Murphy,et al.  Who should fix this bug? , 2006, ICSE.

[32]  Harald C. Gall,et al.  Change Analysis with Evolizer and ChangeDistiller , 2009, IEEE Software.

[33]  Gail C. Murphy,et al.  Automatic bug triage using text categorization , 2004, SEKE.

[34]  Andreas Zeller,et al.  How Long Will It Take to Fix This Bug? , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[35]  Gerardo Canfora,et al.  Migrating interactive legacy systems to Web services , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[36]  Andreas Zeller,et al.  When do changes induce fixes? , 2005, ACM SIGSOFT Softw. Eng. Notes.

[37]  Stéphane Ducasse,et al.  Object-Oriented Metrics in Practice , 2005 .

[38]  Stéphane Ducasse,et al.  How developers drive software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[39]  Gail C. Murphy,et al.  Predicting source code changes by mining change history , 2004, IEEE Transactions on Software Engineering.

[40]  Richard C. Holt,et al.  The top ten list: dynamic fault prediction , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).