SCG News

Information Needs in Software Ecosystems Development — A Contribution to Improve Tool Support Across Software Systems

Nicole Haenni. Information Needs in Software Ecosystems Development — A Contribution to Improve Tool Support Across Software Systems. Masters thesis, University of Bern, September 2014. Details.


Today’s open-source software repositories support a world-wide networked collabo- ration and inter-dependence among independent developers. Due to the co-existance and co-evolution of projects that depend and rely on each other, these software ecosystems have led to an increased importance in large-scale software engineering. At present little is known about the interworking of developers and the needs they have to acquire for projects they are not familiar with. To explore this, we conducted an investigation into the nature of the information needs of software developers working on projects that are part of larger ecosystems. In an open-question survey we asked framework and library developers about their information needs with respect to both their upstream (i.e., providing code to a code base) and downstream (i.e., using code) projects. Our research focuses on the type of information needed, why is it necessary, and how developers obtain this information. Our findings show a high discrepancy between developers depending on whether they are working in an upstream or downstream context. The downstream needs are grouped into three categories roughly corresponding to the different stages in their relation with an upstream: selection, adoption, and co-evolution. The less numerous upstream needs are grouped into two categories: project statistics and code usage. Based on a concluding closed-question survey we strengthen our findings in respect to their relevance. Current practices are that developers use non-specific tools and ad hoc methods for information gathering. The contribution of our work is an empirical investigation with an analytical comparison of the practices and state-of-the art in program comprehension research. Our research provides a starting point to understand information needs in distributed software development. Our findings reveal that current tools lag far behind the needs of developers. A key contribution of this thesis is the identification of requirements for an ecosystem-aware tool support.

Posted by scg at 4 September 2014, 2:15 pm comment link

The Moldable Inspector: a framework for domain-specific object inspection

Andrei Chics, Oscar Nierstrasz, and Tudor Gîrba. The Moldable Inspector: a framework for domain-specific object inspection. In Proceedings of International Workshop on Smalltalk Technologies (IWST 2014), , 2014. Details.


Answering run-time questions in object-oriented systems involves reasoning about and exploring connections between multiple objects. Developer questions exercise various aspects of an object and require multiple kinds of interactions depending on the relationships between objects, the application domain and the differing developer needs. Nevertheless, traditional object inspectors, the essential tools often used to reason about objects, favor a generic view that focuses on the low-level details of the state of individual objects. This leads to an inefficient effort, increasing the time spent in the inspector. To improve the inspection process, we propose the Moldable Inspector, a novel approach for an extensible object inspector. The Moldable Inspector allows developers to look at objects using multiple interchangeable presentations and supports a workflow in which multiple levels of connecting objects can be seen together. Both these aspects can be tailored to the domain of the objects and the question at hand. We further exemplify how the proposed solution improves the inspection process, introduce a prototype implementation and discuss new directions for extending the Moldable Inspector.

Posted by scg at 25 August 2014, 9:15 pm comment link

Top-Down Parsing with Parsing Contexts

Jan Kurs, Mircea Lungu, and Oscar Nierstrasz. Top-Down Parsing with Parsing Contexts. In Proceedings of International Workshop on Smalltalk Technologies (IWST 2014), , 2014. Details.


The domain of context-free languages has been extensively explored and there exist numerous techniques for parsing (all or a subset of) context-free languages. Unfortunately, some programming languages are not context-free. Using standard context-free parsing techniques to parse a context-sensitive programming language poses a considerable challenge. Im- plementors of programming language parsers have adopted various techniques, such as hand-written parsers, special lex- ers, or post-processing of an ambiguous parser output to deal with that challenge. In this paper we suggest a simple extension of a top-down parser with contextual information. Contrary to the tradi- tional approach that uses only the input stream as an input to a parsing function, we use a parsing context that provides ac- cess to a stream and possibly to other context-sensitive infor- mation. At a same time we keep the context-free formalism so a grammar definition stays simple without mind-blowing context-sensitive rules. We show that our approach can be used for various purposes such as indent-sensitive parsing, a high-precision island parsing or XML (with arbitrary el- ement names) parsing. We demonstrate our solution with PetitParser, a parsing-expression grammar based, top-down, parser combinator framework written in Smalltalk.

Posted by scg at 25 August 2014, 12:15 pm comment link

A Quantitative Analysis of Developer Information Needs in Software Ecosystems

Nicole Haenni, Mircea Lungu, Niko Schwarz, and Oscar Nierstrasz. A Quantitative Analysis of Developer Information Needs in Software Ecosystems. In Proceedings of the 2nd Workshop on Ecosystem Architectures (WEA’14), p. 1—6, 2014. Details.


We present the results of an investigation into the nature of information needs of software developers who work in projects that are part of larger ecosystems. This work is based on a quantitative survey of 75 professional software developers. We corroborate the results identified in the sur- vey with needs and motivations proposed in a previous sur- vey and discover that tool support for developers working in an ecosystem context is even more meager than we thought: mailing lists and internet search are the most popular tools developers use to satisfy their ecosystem-related information needs.

Posted by scg at 20 August 2014, 5:17 pm comment link

Towards faster method search through static ecosystem analysis

Boris Spasojević, Mircea Lungu and Oscar Nierstrasz. Towards faster method search through static ecosystem analysis. In Proceedings of the 6th Workshop on Software Ecosystems (IWSECO), ACM, August 2014. Details.


Software developers are often unsure of the exact name of the method they need to use to invoke the desired behavior in a given context. This results in a process of searching for the correct method name in documentation, which can be lengthy and distracting to the developer. We can decrease the method search time by enhancing the documentation of a class with the most frequently used methods. Usage frequency data for methods is gathered by analyzing other projects from the same ecosystem - written in the same language and sharing dependencies. We implemented a proof of concept of the approach for Pharo Smalltalk and Java. In Pharo Smalltalk, methods are commonly searched for using a code browser tool called "Nautilus", and in Java using a web browser displaying HTML based documentation - Javadoc. We developed plugins for both browsers and gathered method usage data from open source projects, in order to increase developer productivity by reducing method search time. A small initial evaluation has been conducted showing promising results in improving developer productivity.

Posted by scg at 19 August 2014, 11:59 am comment link
<< 1 2 3 4 5 6 7 8 9 10 >>
Last changed by oscar on 2 March 2014