<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards the Analysis of Software Pro jects Dependencies: An Exploratory Visual Study of Software Ecosystems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Francisco W. Santana</string-name>
          <email>fwsantana@cos.ufrj.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudia M. L. Werner</string-name>
          <email>werner@cos.ufrj.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>PESC - COPPE/UFRJ, Universidade Federal do Rio de Janeiro (UFRJ)</institution>
          ,
          <addr-line>Caixa Postal 68511</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Rio de Janeiro</institution>
          ,
          <addr-line>RJ</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Software systems are rarely developed in isolation. The development of current complex software systems often makes extensive use of components previously developed or acquired from external suppliers. Nevertheless, research on software systems has traditionally considered each system as an isolated and self-contained project. Such characteristic limits the quality of observations on studies as they do not consider the software ecosystem in which the project is inserted. In this paper we present an ongoing work that aims to enable the analysis of software ecosystems from both technical and sociotechnical perspectives. The novelty of our approach lies in the usage of interactive visualizations to facilitate uncovering relationships among software projects within an ecosystem.</p>
      </abstract>
      <kwd-group>
        <kwd>Software Engineering</kwd>
        <kwd>Software Dependencies</kwd>
        <kwd>Software Ecosystems</kwd>
        <kwd>Software Visualization</kwd>
        <kwd>Mining Software Repositories</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Software systems are increasingly dependent on other software systems. The
need to cope with an increasingly competitive market and demanding customers
leaves no room for each new complex software system to be completely developed
from scratch. Software industry has therefore recurred to software reuse in order
to achieve its goals, making extensive use of solutions previously developed or
acquired from external suppliers and incorporating them within its products.
Although the usage of software components can o er several advantages to the
development of software projects, such as reduced development time, higher
productivity and reliability, a poor choice of components can undermine the quality
of the developed product [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. However, most of the studies regarding e ects and
impacts related to software components and general dependencies consider each
project as an isolated and self-contained product [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. This perspective ignores
the relationships between a software project and its dependencies, and also the
relationships among software communities involved in the development of these
projects, i.e., the software ecosystem in which the project is inserted.
Software ecosystems (SECOs) have become a subject of great interest for both
industry and academic communities, motivated by this holistic view of software
development that goes beyond exploring a single project and its own entities.
We de ne software ecosystems as a set of projects that are interdependent from
both technical and sociotechnical perspectives, that is, project artifacts,
developers and supporting communities, linked to other projects by either reuse
dependencies or common contributors of development communities. As suggested
by related work [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], we believe that this view is important to better comprehend
software projects' development characteristics, e.g., uncover details about the
impacts of the chosen reused components in a speci c software project.
This paper aims to explore software component dependencies from an ecosystem
point of view, under the hypothesis that characteristics of reused components
impact on the developed system that reuses them. The novelty of our approach
resides on the employment of visualizations to observe and explore software
dependencies, uncovering relationships and patterns among interrelated projects.
Our motivation is grounded on our perception that few works [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ][
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] on
literature tries to comprehend the impacts of components within di erent software
projects from both technical and sociotechnical perspectives, constituting a new
scenario for studies on software engineering.
      </p>
      <p>The rest of this paper is organized as follows. In Section 2, we introduce concepts
of Software Ecosystems, detailing our de nitions and comparing them to those of
other works. Section 3 presents an overview of existing work involving
visualization of software ecosystems. Section 4 describes our approach, including notions
that comprise its foundations and visualization techniques. Section 5 presents
a proof of concept conducted to demonstrate the feasibility of our approach.
Finally, Section 6 presents our nal remarks and plans for future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Software Ecosystems</title>
      <p>
        As stated by Lungu et al. \no software project is an island" [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The
development of current software systems are rarely conducted in isolation, with
solutions being redesigned and redeveloped. In this sense, the development of a
software system by the composition of reusable components establishes
relationships among various software projects and development communities, forming
a genuine ecosystem that guides and constraints the development of a software
system. Software ecosystems have become an increasingly popular subject, with
several research works being conducted to explore and understand relationships
among the various entities involved in software systems development.
Nevertheless, the study of SECOs is still a novel area and there is no consensus on the
de nition of what constitutes a software ecosystem. Based on a recent
systematic mapping study [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], the term was coined in 2003 as a collection of software
products that have some given degree of symbiotic relationships [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. More recent
work however tends to identify as a remarkable feature of a SECO the idea of
a common market or platform, inserting the projects in relationships of interest
that are somehow business-oriented. For example, Boucharas et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] de ne
SECOs as a set of actors functioning as a unit and interacting with a shared
market for software and services, while Bosch [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] sees SECOs as a set of
software systems that enables, supports and automates activities and transactions
in the associated social or business ecosystems.
      </p>
      <p>
        Albeit the aspiration to reach a bigger share on a particular market segment can
be observed in software industry and therefore on many software products,
interprojects relationships may appear for other reasons than business-oriented,
ranging from convenience to reuse a previously developed solution to simple interest
in adopting a particular technology. These relationships also establish
connections between projects, forming bonds that, when viewed in a broad perspective,
can be seen as a software ecosystem. Based on this reasoning, we adopted a broad
de nition for SECOs, independent of business features and also aligned to other
recent works [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ][
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        There are many challenges and unanswered questions regarding SECOs,
particularly from perspectives such as software maintenance and evolution. One such
challenge involves the risks that a software project faces while entering a SECO.
Even though reusing software components with assured quality can provide
bene ts to software projects, a software ecosystem can also impose obstacles to the
development of a software project when the project is made upon components
with low technical quality. Also, these challenges cannot be seen from a strictly
technical point of view, as both technical and social factors play an important
role on the process of software development [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3 Existing Work</title>
      <p>
        Though recent studies have explored characteristics and behaviors of SECOs,
few approaches have been concerned with ways to visualize and analyze SECOs
relationships. Among the studies on this topic, Perez et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] developed a tool
for visualization and analysis of ecosystems named SECONDA, a tool that
collects data from GIT repositories, computes software metrics from source code
artifacts and presents visualizations of the processed data from several projects
simultaneously, allowing the exploration of SECOs. Another important work
presents the Small Project Observatory (SPO) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which also collects data and
presents visualizations from multiple projects in an integrated manner, o ering
users two di erent perspectives to explore SECOs, with focus on either
ecosystems' projects or developers' communities.
      </p>
      <p>Both SECONDA and SPO o er mechanisms for data extracting, metrics
evaluation and visualization of projects within SECOs for visual analysis. However,
these tools have limitations related to data collection, being able to only process
a so-called "super-repository" that contains all projects of a SECO, regardless
of the fact that the data of all SECOs' projects are not necessarily stored in
one common repository, limiting the analysis that can be done with these tools
and posing as a threat to validity for these works. Furthermore, while these
tools o er mechanisms for researchers to explore SECOs from both technical
and sociotechnical perspectives, they do not provide means to explore how the
relationships evolved over time.</p>
      <p>
        Finally, there are other important but less related works that show charts and
indicators of ecosystems and relate to our proposal by providing results that can
assist us in formulating hypotheses, choosing metrics and constructing
visualizations that are applicable to analyze SECOs. Among this category of studies,
stands out the one described in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] that analyzed the Evince document viewer
and presented a serie of views that could also be applied to software ecosystems,
and the one detailed in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] that found closer relationships between
developers' communities of KDE and Gnome than Apache's due to technical proximity
between the former projects.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4 Our Approach</title>
      <p>Our approach consists on the usage of information visualization techniques to
depict a SECO, applied over software projects repositories' data extracted using
mining software repositories (MSR) methods. Our proposal features three main
steps: data extracting, data processing, and SECO visualization. On the
following subsections we describe each step and introduce key concepts to enable a
better comprehension of our proposal.</p>
      <sec id="sec-4-1">
        <title>4.1 Data Extracting</title>
        <p>The rst step of our proposal consists of obtaining data from version control
systems and issue trackers of software projects that share technical
dependencies, and are therefore members of a common ecosystem under our de nition.
Software repositories such as VCS and issue tracking systems are widely used
by software developers on both commercial and open source environments, and
contain a plethora of available data about the underlying software projects and
associated development process that can be mined to explore and investigate
evidences about software development. Access to these software repositories is
made using native Subversion protocol for VCS connection, while issue trackers
data are collected using webcrawlers. Our proposal's data extraction is not
limited to analyzing only one repository, being able to collect data from projects
stored in di erent repositories to compose an ecosystem.</p>
        <p>Following the data collection of a software project, we automatically identify a
list of software dependencies from build managers and dependency managers'
artifacts, such as Maven's pom.xml or Ivy's ivy.xml. These tools are also
extensively used by software development communities and assist the development
process, o ering features such as dependencies browsing and managing con icts.
The identi cation of software dependencies may lead to data extraction of other
software projects, and despite the fact that dependencies identi cation can be
performed automatically, data extraction needs to be conducted manually
because repositories addresses and their access credentials are not speci ed in the
build managers' artifacts. Source code analysis was discarded as a way to
establish links between projects since artifacts path or contents is not reliable to infer
which project the artifact belongs to.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2 Data Processing</title>
        <p>
          The Data processing phase has two distinct objectives, beginning with the
identication of dependencies between the collected ecosystems entities, these entities
being developers, actors on issue tracker communities, and software projects'
artifacts and metrics computation. The dependencies among the SECOs
entities are processed using three di erent techniques, namely logical dependencies,
static dependencies and coordination requirements. Static dependencies arise
from procedures and methods calls between projects' classes or compilation
units, while in contrast logical dependencies [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] are computed between
artifacts that have evolved and been modi ed many times together, even though
these artifacts have no explicit connection. Finally, as software development is a
typical example of collaborative work, the notion of coordination requirements
proposed by Cataldo and colleagues [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] appears as a way to obtain the set of
individuals a developer should coordinate his/her work with (or at least be aware
of) based on their tasks level of interdependency, measured based on which
artifacts each developer modi ed and the logical dependencies these artifacts shared.
Building upon the identi cation of dependencies, the metrics evaluation phase
has the objective to calculate SECOs software metrics to build indicators of a
SECO feature (e.g., its health). Despite our intentions to evaluate metrics and
construct indicators for SECOs features, there is a lack of formal de nition for
metrics on SECOs given the novelty of the discipline, and thus in our initial
exploratory context we have employed but visual means to infer projects cohesion
and coupling.
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3 SECO Visualizations</title>
        <p>
          Information visualization techniques have been successfully employed by
researchers trying to understand software system features, especially those related
to software evolution, maintenance and monitoring [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. As many SECOs
features remain unknown, we believe that visualizations o er a sound starting point
to explore the relationships of related software projects, and developed two
visualizations to observe di erent characteristics of SECOs, namely communities
and technical views.
        </p>
        <p>Higher resolution images of the visualizations presented on next subsections are
available at http://lab3d.coppe.ufrj.br/index.php/projetos/visecos.
Communities View This view (Figure 1) focuses on the analysis of how the
di erent communities of a SECO interact, i.e., how each project member of the
SECO contributes to other projects from a sociotechnical point of view. The
main usage scenario of this visualization is to identify the degree of
participation and contributions between di erent projects of the same SECO, naively
suggesting the health of the whole SECO community.</p>
        <p>To represent these interactions within SECOs' communities we chose to use
graphs, since it is regarded as an intuitive way to display dependencies. Based on
data from both VCS repositories and issue trackers, we constructed two graphs
at di erent levels of granularity. On the coarse grained graph, each project is
represented by a vertex with a unique color and has two child vertices, representing
the VCS developers' communities and issue trackers contributors. Each of these
communities' vertices can then be linked by edges to vertices of other projects,
meaning that there are collaborators that act on both communities. The ne
grained graph in turn depicts interaction between the communities actors more
explicitly based on both Coordination Requirements network and discussions on
the same issue by di erent contributors.</p>
        <p>The user can interact with the visualization by applying various lters, enabling
to focus on the relationships that are of interest to his/her analysis. The lters
currently implemented allow: i) hiding nodes from a speci c project or archive
(VCS or issue tracker), enabling to focus on a selected set of projects of the
SECO; ii) coloring the nodes based on how many di erent projects a
contributor participates; iii) change the graphs granularity; iv) and select a speci c
time-span to focus on, considering only contributions made within this period.
Technical View This view focus on the analysis of how technically
interdependent of each other the di erent projects within a SECO are, i.e., how the
various artifacts/modules of one project make use of methods and/or objects
declared on other projects' artifacts/modules. This visualization is employed to
observe the most important artifacts of the ecosystems from a reuse perspective,
enabling the visual identi cation of various characteristics such as the assets that
are more central to the SECO (i.e., that various other artifacts depend upon) or
those that depend upon artifacts supplied by several other projects.
The technical view also makes use of graphs to evidence the links between
artifacts (Figure 2), displaying the processed static dependencies. Technical view's
graph also o ers lters to conduct analysis over ne or coarse grains, since the
amount of dependencies between the various projects can prove to be too dense
to interpret. In the ne-grained analysis all vertices are artifacts identi ed by the
project's color, and edges represent dependencies between the artifacts, whilst
on coarse-grain the vertices represent the projects modules obtained from the
artifacts' package declaration, naively hinting at the components of each project.</p>
        <p>To adequately observe the SECO technical dependencies, users can interact
with the visualization likewise the communities view, being able to change the
granularity of dependencies and show/hide artifacts of speci ed projects.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Proof of Concept</title>
      <p>To demonstrate the feasibility of our approach, we conducted an exploration of
the relationships of a SECO in the form of a proof of concept. The main objective
was to highlight the usage of the visualizations we proposed in a real case, using
open source projects. Our expectations were that the visualizations would help
to identify how dense the technical and sociotechnical relationships between a
software project and other projects that it depended upon were.</p>
      <sec id="sec-5-1">
        <title>5.1 Project Description</title>
        <p>In order to observe the relationships of a SECO, we required a software project
that satis ed three requirements: i) was hosted on Subversion (SVN) repository
that we had read access; ii) reported issues on either JIRA or Bugzilla issue
tracking system; and iii) listed its dependencies in structured artifacts (e.g.,
Apache Maven's pom.xml or Apache Ivy's ivy.xml). The rst two requirements
are due to limitations of our supporting tools, which can only collect data from
the speci ed repositories. The latter is given due to the technique we used to
infer software project dependencies, using the speci ed artifacts to automatically
gather this information.</p>
        <p>Given our intentions and limitations, we chose to observe Apache Sling's
ecosystem. Apache Sling is a large open source web framework designed to store and
manage content over a Java Content Repository (JCR) speci cation developed
by Apache Software Foundation (ASF), being one of its top-level projects since
2009. Apache Sling also matches all our established requirements: it is hosted
on a public SVN repository, uses JIRA as issue tracking system and Maven as
dependency manager. Furthermore, the project was handily picked due to our
previous knowledge of its dependencies with other large ASF's top-level projects
Jackrabbit and Felix.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2 Supporting Tools</title>
        <p>Extracting relevant data depicting how software systems were developed is a
complex task. The sheer amount of data can easily overwhelm researchers if
appropriate tools and methods are not applied, misleading them to erroneously
identify inexistent patterns and features. We made use of two tools to assist us
on reaching our goals, namely XFlow and JDX.</p>
        <p>
          XFlow [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] is an extensible open source tool that enables empirical software
evolution analyses from both technical and sociotechnical perspectives. We used
XFlow to extract and process projects' data, evaluate metrics of the selected
projects, and also adapted the tool to extract software projects' dependencies
and present the visualizations described on the previous subsection.
Java Dependency eXtractor (JDX) is a library developed to identify static
dependencies from java source code artifacts, being able to compute call-graphs
using Eclipse IDE compiler's JDT Core to handle source code in plain form. We
used JDX to compute static dependencies between source code artifacts.
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>5.3 Analysis Procedure</title>
        <p>We analyzed one speci c release of Apache Sling, developed from May 14th, 2009
to April 18th, 2011. The information about the release dates was obtained by
browsing the project's mailing lists and looking for release announcements. In
this period, the project was actively developed by a group of 7 people. Apache
Sling is composed of several modules within the same repository, and our data
collect procedure was con gured to extract data from all these modules' trunk
directories, resulting in 830 commits found. We then proceeded with the data
gathering by accessing and collecting data from Sling's JIRA, collecting 318
issues reported and/or resolved by a supporting community of 51 people.
After this initial data collect we used XFlow to analyze Sling's dependencies and
choose two related projects to consider on our analysis: Apache Felix (release
1.2.0 to 1.4.0) and Apache Jackrabbit (release 1.5.0 to 1.6.0). Apache Felix is
an open source implementation of OSGi R4 Service Platform and other
OSGirelated technologies, being widely used by well-known projects such as Glass sh
application server and the Netbeans IDE; while Jackrabbit is an
implementation of Content Repository for Java (JCR) speci cation, and provides content
management services. We analogously collected data from these selected projects
VCS trunks and issue trackers, ending up with a small portion of Sling's
ecosystem for study.</p>
        <p>For the data processing phase, we obtained the source bundle of analyzed
projects on their o cial site to identify static dependencies between the
artifacts and modules, while logical dependencies were identi ed using data
extracted from VCS and issue trackers by XFlow. We then proceeded to generate
visualizations and analyzed our results, discussed on the next subsection.</p>
      </sec>
      <sec id="sec-5-4">
        <title>5.4 Results</title>
        <p>Our exploratory analysis was able to successfully depict interaction among
projects under our SECO de nition (Figure 1 and Figure 2). This initial
exploitation was a necessary step to justify further studies, since we couldn't
predict how intense would be the interaction among communities of related software
projects. Also while our visualizations may not scale to display a large amount
of data, we believe that ltering graph nodes using metrics such as centrality
and betweenness centrality on future studies can reduce these problems.
Besides verifying the feasibility of our approach, we observed interesting
features on the analyzed SECO. The discussion of these ndings has been divided
in technical and sociotechnical perspectives.</p>
        <p>Technical Discussion For the technical perspective analysis we focused on
the dependencies between Apache Sling and both Apache Felix and Jackrabbits,
excluding dependencies between the latter projects. We did that since the graph
that resulted when considering all projects was too dense and proved di cult to
represent in a legible gure and was beyond our exploratory context.
Considering this limitation, we have analyzed the reused artifacts and the
technical view suggests that there are some critical artifacts to the maintenance of
Apache Sling that are provided by other projects. We did not nd any class
that depended upon artifacts from two projects, and identi ed two interesting
patterns on the assets reused: i) a large set of classes that depends on a single
class of another project (Figure 3(a)); and ii) a class that depends on various
artifacts of other projects (Figure 3(b)). These patterns suggest how prepared
to reuse these components were, implying on the reliability of the modules that
depend on them. In the rst pattern, for instance, a defect on the reused
artifact could be propagated to several artifacts that reuse it; while the second one
indicates that even small changes in a class could require knowledge of several
other classes from other projects.</p>
        <p>Sociotechnical Discussion From a sociotechnical perspective, we observed
that all projects of the SECO were related (Figure 1). We identi ed that most
of the interactions between the communities involved on the analyzed period has
occurred via issue tracking systems, in which 8 collaborators from Apache Sling's
issue tracker contributed to project Apache Jackrabbit's issue tracker and
viceversa, 7 between Apache Sling and Apache Felix, and 3 between Apache Felix
and Apache Jackrabbit. We also note that there is one contributor that bridges
all the projects, contributing to all three issue tracker. Looking at the VCS
communities, we observed that few developers had participated on two projects on
the same period (3 between Apache Sling and Apache Felix), while none had
participated in all three.</p>
        <p>(a)
(b)</p>
        <p>Based on these exploratory ndings, we conclude that there have been
considerable contributions between all the projects of the SECO and rea rm the
importance of sociotechnical analysis on software engineering studies. This initial
analysis also provides basis to the conception of an experimental hypothesis that
needs further studies to be answered, regarding topics such as the role of those
contributors who participate on various projects inside a SECO, or the
identication of features that facilitate or hinder the contribution towards a speci c
project from external developers that reuse its assets.</p>
      </sec>
      <sec id="sec-5-5">
        <title>5.5 Threats to Validity</title>
        <p>Our study is characterized as a proof of concept, and thus has not the same rigor
as a formal experiment. Nevertheless, we found interesting results that must be
interpreted considering the following validity threats.</p>
        <p>Construct Validity. The relationships between developers that we have found
may not be totally accurate as it's common to nd some contributors who do
not have permission to commit to the project's VCS and have their contributions
carried out by others developers.</p>
        <p>Internal Validity. Our approach is based on the hypothesis that features of a
project's dependencies impact the project that uses them as components, but
we have not extensively veri ed the correlation between the projects.
Considering this, we cannot determine that the characteristics we observed actually come
from the related projects or are derived from unobserved attributes.
External Validity. As we analyzed few projects, all of them belonging to the
same organization (ASF), we do not claim that these results remain valid for
other projects and in di erent development contexts.</p>
        <p>Conclusion Validity. We did not conduct any statistical analysis in order to
validate our ndings, making use of purely visual methods to perform our analysis.
While this could be interpreted as a serious threat to our ndings, given the
lack of related work with similar objectives we decided to rst conduct
analyses without statistical rigor to explore the degree of interdependencies between
projects and general interaction of SECO communities.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6 Final Remarks and Future Work</title>
      <p>This paper presented an approach to analyze SECOs from a technical and
sociotechnical perspective, focusing on projects that share reuse dependencies. Our
exploratory study matched our expectations that the di erent projects interact
beyond the technical level, and this motivated us to further inspect how features
of a reusable component a ect software projects and the contributors'
communities that reuse them.</p>
      <p>We remark that this paper presents an initial e ort to explore SECOs and
expect to expand this proposal under the following two major aspects:
SECO Metrics: given that software ecosystems form a recent subject for
Software Engineering studies, there is a lack of papers that list formal metrics and
indicators applicable for SECOs. We intend to conduct a systematic mapping of
studies to identify metrics used by recent works on SECOs context, gathering a
list of metrics that will enable us to further investigate SECOs.</p>
      <p>
        Expand Research Perspective: our initiative is part of a greater context of SECOs
exploration, with other researchers interested in the investigation of IT and
Governance aspects and the proposal of a framework for modeling and managing
SECOs [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. In the future we expect to integrate our solutions and provide more
complete studies on SECOs.
      </p>
      <p>Acknowledgments. Francisco Santana receives individual grant from CAPES,
and Claudia Werner from CNPq.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Jiang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carley</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bigrigg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eberlein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Galster</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The impact of component interconnections on software quality: A network analysis approach</article-title>
          .
          <source>In: Systems, Man, and Cybernetics (SMC'12)</source>
          . (
          <year>2012</year>
          )
          <year>1865</year>
          {
          <fpage>1872</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>De Souza</surname>
            ,
            <given-names>C.R.B.</given-names>
          </string-name>
          :
          <article-title>On the relationship between software dependencies and coordination: eld studies and tool support</article-title>
          .
          <source>PhD thesis</source>
          , Long Beach, CA, USA (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cataldo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mockus</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roberts</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herbsleb</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          :
          <article-title>Software dependencies, work dependencies, and their impact on failures</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          <volume>35</volume>
          (
          <issue>6</issue>
          ) (
          <year>2009</year>
          )
          <volume>864</volume>
          {
          <fpage>878</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Perez</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deshayes</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goeminne</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mens</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Seconda: Software ecosystem analysis dashboard</article-title>
          .
          <source>In: Software Maintenance and Reengineering (CSMR)</source>
          ,
          <year>2012</year>
          16th European Conference on. (
          <year>2012</year>
          )
          <volume>527</volume>
          {
          <fpage>530</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Goeminne</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mens</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>A framework for analysing and visualising open source software ecosystems</article-title>
          .
          <source>In: Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)</source>
          .
          <source>IWPSE-EVOL '10</source>
          , New York, NY, USA, ACM (
          <year>2010</year>
          )
          <volume>42</volume>
          {
          <fpage>47</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lungu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lanza</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>G</given-names>
            ^rba, T.,
            <surname>Robbes</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          :
          <article-title>The small project observatory: Visualizing software ecosystems</article-title>
          .
          <source>Sci. Comput. Program. 75 (April</source>
          <year>2010</year>
          )
          <volume>264</volume>
          {
          <fpage>275</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Barbosa</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alves</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Werner</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jansen</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A systematic mapping study on software ecosystems through a three-dimensional perspective</article-title>
          . In Jansen, S.,
          <string-name>
            <surname>Brinkkemper</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cusumano</surname>
          </string-name>
          , M., eds.: Software Ecosystems:
          <article-title>Analyzing and Managing Business Networks in the Software Industry</article-title>
          . Edward Elgar Publishing, Cheltenham, UK, and Northampton, MA, USA (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Messerschmitt</surname>
            ,
            <given-names>D.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Szyperski</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Software Ecosystem: Understanding an Indispensable Technology and Industry</article-title>
          . MIT Press, Cambridge, MA, USA (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Boucharas</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jansen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brinkkemper</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Formalizing software ecosystem modeling</article-title>
          .
          <source>In: Proceedings of the 1st international workshop on Open component ecosystems. IWOCE '09</source>
          , New York, NY, USA, ACM (
          <year>2009</year>
          )
          <volume>41</volume>
          {
          <fpage>50</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Bosch</surname>
          </string-name>
          , J.:
          <article-title>From software product lines to software ecosystems</article-title>
          .
          <source>In: Proceedings of the 13th International Software Product Line Conference. SPLC '09</source>
          ,
          <string-name>
            <surname>Pittsburgh</surname>
          </string-name>
          , PA, USA, Carnegie Mellon University (
          <year>2009</year>
          )
          <volume>111</volume>
          {
          <fpage>119</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Cataldo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herbsleb</surname>
            ,
            <given-names>J.D.:</given-names>
          </string-name>
          <article-title>Architecting in software ecosystems: interface translucence as an enabler for scalable collaboration</article-title>
          .
          <source>In: Proceedings of the Fourth European Conference on Software Architecture: Companion Volume. ECSA '10</source>
          , New York, NY, USA, ACM (
          <year>2010</year>
          )
          <volume>65</volume>
          {
          <fpage>72</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Bosch</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosch-Sijtsema</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>From integration to composition: On the impact of software product lines, global development and ecosystems</article-title>
          .
          <source>J. Syst. Softw</source>
          .
          <volume>83</volume>
          (
          <issue>1</issue>
          ) (
          <year>January 2010</year>
          )
          <volume>67</volume>
          {
          <fpage>76</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Mens</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goeminne</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Analysing the evolution of social aspects of open source software ecosystems</article-title>
          .
          <source>In: Proceedings of the Third International Workshop on Software Ecosystems. IWSECO '11</source>
          (
          <year>2011</year>
          )
          <volume>1</volume>
          {
          <fpage>14</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lopez-Fernandez</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robles</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gonzalez-Barahona</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herraiz</surname>
          </string-name>
          , I.:
          <article-title>3</article-title>
          . In:
          <article-title>Applying Social Network Analysis Techniques to Community-Driven Libre Software Projects</article-title>
          . Volume
          <volume>1</volume>
          .
          <string-name>
            <given-names>Information</given-names>
            <surname>Resources Management Association</surname>
          </string-name>
          (
          <year>2009</year>
          )
          <volume>28</volume>
          {
          <fpage>50</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Gall</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hajek</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jazayeri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Detection of logical coupling based on product release history</article-title>
          .
          <source>In: Software Maintenance</source>
          ,
          <year>1998</year>
          . Proceedings., International Conference on. (
          <year>1998</year>
          )
          <volume>190</volume>
          {
          <fpage>198</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Cataldo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wagstrom</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herbsleb</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carley</surname>
            ,
            <given-names>K.M.:</given-names>
          </string-name>
          <article-title>Identi cation of coordination requirements: implications for the design of collaboration and awareness tools</article-title>
          .
          <source>In: Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work. CSCW '06</source>
          , New York, NY, USA, ACM (
          <year>2006</year>
          )
          <volume>353</volume>
          {
          <fpage>362</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Diehl</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <source>Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software</source>
          . Springer-Verlag New York, Inc., Secaucus, NJ, USA (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Santana</surname>
            ,
            <given-names>F.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliva</surname>
            ,
            <given-names>G.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Souza</surname>
            ,
            <given-names>C.R.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerosa</surname>
            ,
            <given-names>M.A.:</given-names>
          </string-name>
          <article-title>X ow: An extensible tool for empirical analysis of software systems evolution</article-title>
          .
          <source>In: Proceedings of the VIII Experimental Software Engineering Latin American Workshop</source>
          . ESELAW '
          <volume>10</volume>
          , New York, NY, USA, ACM (
          <year>2010</year>
          )
          <volume>353</volume>
          {
          <fpage>362</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>R.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Werner</surname>
            ,
            <given-names>C.M.L.</given-names>
          </string-name>
          :
          <article-title>Reuseecos: An approach to support global software development through software ecosystems</article-title>
          .
          <source>In: ICGSE Workshops</source>
          .
          <article-title>(</article-title>
          <year>2012</year>
          )
          <volume>60</volume>
          {
          <fpage>65</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>