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.
Leonel Merino. Adaptable Visualisation Based On User Needs. In SATToSE’14: Pre-Proceedings of the 7th International Seminar Series on Advanced Techniques & Tools for Software Evolution, p. 71—74, July 2014. Details.
Software developers often ask questions about software systems and software ecosystems that entail exploration and navigation, such as who uses this component?, and where is this feature implemented?. Software visualisation can be a great aid to understanding and exploring the answers to such questions, but visualisations require expertise to implement effectively, and they do not always scale well to large systems. We propose to automatically generate software visualisations based on software models derived from open source software corpora and from an analysis of the properties of typical developers queries and commonly used visualisations. The key challenges we see are (1) understanding how to match queries to suitable visualisations, and (2) scaling visualisations effectively to very large software systems and corpora. In the paper we motivate the idea of automatic software visualisation, we enumerate the challenges and our proposals to address them, and we describe some very initial results in our attempts to develop scalable visualisations of open source software corpora.
Andrea Caracciolo, Mircea Filip Lungu, and Oscar Nierstrasz. How Do Software Architects Specify and Validate Quality Requirements?. In Software Architecture, Lecture Notes in Computer Science, Springer Berlin Heidelberg, August 2014. Details.
Andrea Caracciolo, Mircea Filip Lungu, and Oscar Nierstrasz. Dicto:A Unified DSL for Testing Architectural Rules. In Software Architecture, Lecture Notes in Computer Science, Springer Berlin Heidelberg, August 2014. Details.
Erwann Wernli, Oscar Nierstrasz, Camille Teruel, and Stephane Ducasse. Delegation Proxies: The Power of Propagation. In Proceedings of the 13th International Conference on Modularity, MODULARITY ’14 p. 1—12, ACM, New York, NY, USA, 2014. Details.
Scoping behavioral variations to dynamic extents is useful to support non-functional requirements that otherwise result in cross-cutting code. Unfortunately, such variations are difficult to achieve with traditional reflection or aspects. We show that with a modification of dynamic proxies, called delegation proxies, it becomes possible to reflectively implement variations that propagate to all objects accessed in the dynamic extent of a message send. We demonstrate our approach with examples of variations scoped to dynamic extents that help simplify code related to safety, reliability, and monitoring.