ManuscriptsW4. The Impact of Interface Complexity on Failures: An Empirical Analysis and Implications for Tool Design. Marcelo Cataldo (Carnegie Mellon University), Cleidson de Souza (Universidade do Para), David Bentolila (Universidade do Para), Tales Miranda (Universidade do Para) and Sangeeth Nambiar (Robert Bosch). [Link to Manuscript].
W3. The Structure of Architectural Dependencies and its Role on Development Productivity and Software Quality. Marcelo Cataldo (Carnegie Mellon University) and James D. Herbsleb (Carnegie Mellon University). [Link to Manuscript].
W2. Architecting for Distributed Software Development: A Case for Translucent Interfaces. Marcelo Cataldo (Carnegie Mellon University) and James D. Herbsleb (Carnegie Mellon University). [Link to Manuscript]. W1. Coordination Failures in Software Development: Their Impact of Development Productivity and Software Quality.Marcelo Cataldo (Carnegie Mellon University) and James D. Herbsleb (Carnegie Mellon University). [Link to Manuscript]. ToolsDinvenio: A Dependency Discovery and Analysis ToolDinvenio is a tool designed to support members of software development tools in multiple roles to identify and manage technical and work dependencies as they emerge and evolve during a project lifecycle. The tool consists of four basic features: a set of interfaces to access multiple sources of technical and work-related data, a set of mechanisms to convert such data into relevant relational data related to technical and work dependencies, a collection of relational data analytics and a visualization engine for displaying the relational data. Those basic features allow the tool to gather data from the source code (e.g. APIs, syntactic dependencies) as well as historical repositories such as version control systems, defect tracking systems and requirement management systems and convert those data in to relations among numerous types of technical entities (e.g. source code files, architectural components, modules) and organizational entities (e.g. engineers, teams, development locations). The visualizations of the relational data combine a multi-layer representation (e.g. each layer represents a different relationship such as syntactic dependencies, logical dependencies, code-ownership dependencies) with attributes of the entities (e.g. number of defects, number of locations that modified the entity, number of projects using the entity). Then, such visualizations facilitate the exploration of the data by relevant stakeholders to answer questions such as what potential critical areas of development (e.g. highly interdependent components or development teams, components changing too much or being changed in many development locations, etc)? how is the modularity of the system is impacted by each type of dependency? how is the development organization impacted by each type of the dependency? The analytics engine also provides the basic mechanisms for applying graph-theoretic measures to the relational data and augment the visualizations with additional metrics. The tool is implemented as an eclipse plug-in for easy integration in the development environment of SW projects. Note: The project is available at Google Code (link above). We are currently in the process of transferring of all the data and artifacts.
Camel: Supporting Distributed Software Design MeetingsCAMEL is a tools for supporting distributed software design meetings. It is a combination of a client component (an eclipse plugin) and a server component. The tool is based on the publication by Cataldo and colleagues (2009).
Note: The project is available at Google Code (link above). We are currently in the process of transferring of all the data and artifacts.
|