Andrei Chiş. Towards object-aware development tools. In Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, SPLASH Companion 2016 p. to appear, ACM, New York, NY, USA, 2016. Details.
Reasoning about object-oriented applications requires developers to answer contextual questions about their domain objects. Tailored development tools can support developers in this activity by providing relevant domain-specific information. Nonetheless, a high effort for extending development tools to handle domain-specific objects, together with diverging mechanisms for creating, sharing and discovering extensions, discourage developers to adapt their tools. To address this, we propose to enable contextual behavior in development tools by allowing domain objects to decide how they are handled in development tools. We show that combining this idea with mechanisms for specifying extensions using internal DSLs can significantly reduce the cost of tailoring development tools to specific domains.
Alice Allen, Cecilia Aragon, Christoph Becker, Jeffrey Carver, Andrei Chiş, Benoit Combemale, Mike Croucher, Kevin Crowston, Daniel Garijo, Ashish Gehani, Carole Goble, Robert Haines, Robert Hirschfeld, James Howison, Kathryn Huff, Caroline Jay, Daniel S. Katz, Claude Kirchner, Kateryna Kuksenok, Ralf Lämmel, Oscar Nierstrasz, Matt Turk, Rob Nieuwpoort, Matthew Vaughn, and Jurgen Vinju. I solemnly pledge: A manifesto for personal responsibility in the engineering of academic software. In Gabrielle Allen, Jeffrey Carver, Sou-Cheng T. Choi, Tom Crick, Michael R. Crusoe, Sandra Gesing, Robert Haines, Michael Heroux, Lorraine J. Hwang, Daniel S. Katz, Kyle E. Niemeyer, Manish Parashar, and Colin C. Venters (Ed.), Proceedings of Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE 2016), Proceedings of the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4) 1686, CEUR, 2016. Details.
Software is fundamental to academic research work, both as part of the method and as the result of research. In June 2016 25 people gathered at Schloss Dagstuhl for a week-long PerSoftware is fundamental to academic research work, both as part of the method and as the result of research. In June 2016 25 people gathered at Schloss Dagstuhl for a week-long Perspectives Workshop and began to develop a manifesto which places emphasis on the scholarly value of academic software and on personal responsibility. Twenty pledges cover the recognition of academic software, the academic software process and the intellectual content of academic software. This is still work in progress. Through this lightning talk, we aim to get feedback and hone these further, as well as to inspire the WSSSPE audience to think about actions they can take themselves rather than actions they want others to take. We aim to publish a more fully developed Dagstuhl Manifesto by December 2016.spectives Workshop and began to develop a manifesto which places emphasis on the scholarly value of academic software and on personal responsibility. Twenty pledges cover the recognition of academic software, the academic software process and the intellectual content of academic software. This is still work in progress. Through this lightning talk, we aim to get feedback and hone these further, as well as to inspire the WSSSPE audience to think about actions they can take themselves rather than actions they want others to take. We aim to publish a more fully developed Dagstuhl Manifesto by December 2016.
Theodor Truffer. A Polite Solution to Interact with EV3 Robots. Bachelor’s thesis, University of Bern, September 2016. Details.
Lego Mindstorms is a combination of hardware and software to build and program a variety of different Lego robots. The Evolution 3 (short EV3) represents the third generation of these promising robots. Besides Lego itself, plenty of other organisations, researchers and developers have designed software to interact with the EV3 robots, many of them with the target to teach Computational Thinking to amateur programmers, others to reach high functionality and open new possibilities. But although there are already a lot of existing projects, there seems to be a gap between the simple and visual learning programs, and the richer programming environments. Polite for EV3 closes this gap by combining the simple but nonetheless expressive object-oriented programming language Polite with powerful concepts like State Machines and Real Time Programming.
Cédric Walker. Recognising structural patterns in code — A k-means clustering approach. Bachelor’s thesis, University of Bern, August 2016. Details.
For processing data, it is necessary for the computer to parse it into a readable format. The building of a parser requires a model of the grammar of the input. For many new programming language dialects and log files, these models are sometimes not available. For creating a model, the structure and grammar information must be inferred from the source code, which is a time consuming process. The goal of this project is to automatically provide an overview of different structures of the source code language. We introduce in this thesis a clustering approach with k-means. Through different representations — numerical vectors inferred from the textual information of segments of the input — structural information should be exploited and assigned to different clusters according to their similarity. For splitting the input into representation vectors, the smallest instance that can hold structure is found. These are then clustered using the k-means algorithm. This should help developers get a better overview of the data and in a perfect case, make them able to create parser rules for each cluster based on its nearest assigned statements. The used approach has some promising results, assigning different patterns into different clusters. For measuring the performance of our representation methods, we calculate v-measure scores ranging from 0 to 1, with 1 being a complete match. Out of 24 possible combination of representation, four representations achieved good results, having a v-measure score equal or higher than 0.66 for Java and another 4 with satisfying results, having equal or better scores than 0.4. The representation methods which do well on Java, also do a good job, clustering C#, XML and ABACUS log files, but perform poorly on Brainfuck, with v-measure scores around 0. Having the concept of clustering languages, the resulting clusters were used to calculate a precision value for classifying the degree of relation between two languages. The precision value is calculated measuring the overlap of the clusters of a first language with the vector representations of a second language. Unfortunately, our approach did not perform well, as it classified every language with the exception of XML, as very closely related.
Dominik Seliner. EggShell — A workbench for modeling scientific communities. Bachelor’s thesis, University of Bern, August 2016. Details.
The collaboration in a scientific community can be analysed through the publication record of its members. The analysis of the metadata (e.g., title and authors) of those publications can help researchers to identify groups of collaboration, their evolution, and key authors. However, the criteria for collecting the papers of some communities might exceed the expressiveness offered by public databases and search engines available. Hence, the data has to be retrieved from the papers’ files themselves. Usually, scientific papers are available in unstructured file formats for which auto- matic extraction of data poses a challenge. To model the metadata of a community users have to define a pipeline. In it, each step contributes to the accuracy of the extracted data. The main challenge is to identify to which type of field of the document a piece of text corresponds. Previous research proposed heuristics to identify certain fields like the title and authors from papers’ files by analyzing their layout. The performance of such heuristics might vary across papers that use different layouts. Hence, ensuring the accuracy of a given heuristic is a challenging problem. Small improvements in a heuristic that tackles a popular layout can make a high impact on its overall performance. However, identifying popular layouts and evaluating the impact of improvements can be a laborious task. Visualization offers techniques that fit the analysis of such multivariate data. Through visualization, a developer who is implementing a heuristic for data extraction can obtain an overview of how it performs and find hotspots that can lead to improvements that impact the overall efficacy. In this thesis, we propose EggShell, a workbench that incorporates visualization to assess the performance of modeling pipelines for scientific papers in PDF format. We elaborate on examples of how EggShell allows users to define multiple pipelines. Pipelines can then be improved by assessing their output using visualization. We collected a corpus of 300 papers published by SOFTVIS/VISSOFT venues. We used a subset of 100 papers as a learning set to develop the pipelines, and then used the remaining 200 papers to evaluate their performance for modeling collaboration in the community. We observed that our best performing pipeline exhibits an accuracy of 70%.