Martin Brandtner, Emanuel Giger, Harald Gall, Supporting Continuous Integration by Mashing-Up Software Quality Information, In: IEEE CSMR-WCRE 2014 Software Evolution Week (CSMR-WCRE). 2014. (Conference Presentation)
|
|
Martin Brandtner, Emanuel Giger, Harald Gall, Supporting continuous integration by mashing-up software quality information, In: IEEE CSMR-WCRE 2014 Software Evolution Week (CSMR-WCRE), IEEE, Antwerp, Belgium, 2014-02-03. (Conference or Workshop Paper published in Proceedings)
Continuous Integration (CI) has become an established best practice of modern software development. Its philosophy of regularly integrating the changes of individual developers with the mainline code base saves the entire development team from descending into Integration Hell, a term coined in the field of extreme programming. In practice CI is supported by automated tools to cope with this repeated integration of source code through automated builds, testing, and deployments. Currently available products, for example, Jenkins-CI, SonarQube or GitHub, allow for the implementation of a seamless CI-process. One of the main problems, however, is that relevant information about the quality and health of a software system is both scattered across those tools and across multiple views. We address this challenging problem by raising awareness of quality aspects and tailor this information to particular stakeholders, such as developers or testers. For that we present a quality awareness framework and platform called SQA-Mashup. It makes use of the service-based mashup paradigm and integrates information from the entire CI-toolchain in a single service. To evaluate its usefulness we conducted a user study. It showed that SQA-Mashup’s single point of access allows to answer questions regarding the state of a system more quickly and accurately than standalone CI-tools. |
|
Marc Weber, Java Map enabled program comprehension, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2014. (Master's Thesis)
Analyzing and understanding source code is one of the crucial tasks of every software developer. Object - oriented systems, with their logic distributed over several code entities are harder to understand and maintain than their procedural predecessors. But while modern software systems become more and more complex, software developers still have to use the same development tools already known for years. One of the main problems is the lack of a way to see the big picture.
To fill this gap, we present in this thesis the JAVA MAP. It is a set of tools, fully integrated into the JAVA DEVELOPMENT TOOLKIT (JDT) of ECLIPSE, with the aim, to support the developer in his everyday work. All tools are available at the developers finger tips, using state of the art software visualization techniques to ease program- as well as project history comprehension. The core is built by the JAVA MAP, a visual representation of the whole software system in focus. It is based on the concepts of the CLASS BLUEPRINT and allows the user to quickly grasp the overall picture of the elements in focus, as well as their interaction. This core is augmented by additional tools for type hierarchy understanding, as well as history analysis.
With a short user study at the end of our thesis, we have successfully verified the usefulness of the JAVA MAP in aiding program comprehension. The users of the study were significantly faster in solving the given program comprehension tasks when using the JAVA MAP. |
|
Andreas Metzger, Philipp Leitner, Dragan Ivanovic, Eric Schmieders, Rod Franklin, Manuel Carro, Schahram Dustdar, Klaus Pohl, Comparing and Combining Predictive Business Process Monitoring Techniques, IEEE transactions on systems, man, and cybernetics. Part B, Cybernetics : a publication of the IEEE Systems, Man, and Cybernetics Society, 2014. (Journal Article)
|
|
Rostyslav Zabolotnyi, Philipp Leitner, Schahram Dustdar, Building Elastic Java Application Services Seamlessly in the Cloud: A Middleware Framework, In: Emerging Architectural Trends in Service-driven Computing, IGI Global, Hershey, Pennsylvania, p. 639 - 662, 2014. (Book Chapter)
|
|
Benjamin Schlegel, Requirements Elicitation Best Practice with Case Study, 2014. (Other Publication)
Before starting to program a new website it is important to know how the website should look like at the end. If the website gets written without requirements, the final product might not cover the needs of the stakeholders. This paper gives an overview on how to write use cases. It handles what to do step by step to write use cases, which grammatical language to use and how to format it. Use cases tell which user goals the system should support and shows the steps the user has to follow to complete the goal. The second part of the paper shows an example of how to do it. The case study shows step by step how to write use cases for a new website. The example contains use cases for the new AFS chapter website. AFS is an exchange organization. |
|
Rajiv Ranjan, Rajkumar Buyya, Philipp Leitner, Armin Haller, Stefan Tai, A note on software tools and techniques for monitoring and prediction of cloud services, Software: Practice and Experience, Vol. 44 (7), 2014. (Journal Article)
|
|
Silvan Troxler, MiningHub: a social mining and data sharing platform, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2014. (Master's Thesis)
The popularity of social coding websites has led to an increasing number of publicly available software repositories over the last years. Researchers extract data sets from such repositories to conduct studies based on them for finding novel insights in the software engineering field. Mining software repositories is often time-consuming and error-prone. In spite of that, published papers usually do not make the used data sets available, which complicates evaluation and replication of those studies. We developed MiningHub, a web-based and extensible mining platform to overcome these limitations. Researchers can add support for arbitrary repositories to MiningHub and use the platform to obtain data from these. In addition, we provided plugins for the social coding website GitHub, bug tracking system JIRA, and discussion board Stack Overflow. These plugins and mined data sets can also be shared among others. The results of the conducted evaluation indicate that by using MiningHub, the time needed to mine software project data from several types of repositories can be reduced for selected studies. |
|
Walid Maalej, Thomas Fritz, Romain Robbes, Collecting and processing interaction data for recommendation systems, In: Recommendation Systems in Software Engineering, Springer, Heidelberg, p. x1 - x25, 2014. (Book Chapter)
|
|
Dominik Schöni, SyncReview: Code reviews on tablets: Supporting distributed and synchronous code reviews with mobile devices , University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2013. (Bachelor's Thesis)
Mobile devices revolutionized the way we communicate, consume information and last but not least: how we work. Studies and research in software engineering have shown, that tools can help in engineering better software and engaging people in collaborative tasks. This thesis aims to elaborate on possibilities of how mobile devices, specifically tablets, can support collaborative and distributed code reviews. To make sure the user experience remains simple and straight forward, a user interface concept is developed. This concept leads to a Windows 8 based prototype application called SyncReview. The application is evaluated and compared to a common method of collaborative code review. The evaluation shows that SyncReview provides clear benefits in conducting distributed code reviews synchronously in comparison to traditional tools. |
|
Sebastian Müller, Thomas Fritz, Stakeholders’ information needs for artifacts and their dependencies in a real world context, In: 29th IEEE International Conference on Software Maintenance, ICSM, IEEE Computer Society, 2013-09-24. (Conference or Workshop Paper published in Proceedings)
In the evolution of software, stakeholders continuously seek and consult various information artifacts and their interdependencies to successfully complete their daily activities. While a lot of research has focused on supporting stakeholders in satisfying various information needs, there is little empirical evidence on how these information needs manifest themselves in the context of professional software development teams of real world companies. To investigate the information needs of the different stakeholder roles involved in software evolution activities, we conducted an empirical study with 23 participants from two professional development teams of one company. The analysis of the gathered data shows that information needs exhibit a crosscutting nature with respect to stakeholder role, activity, artifacts and even fragments of artifacts. We also found that the dependencies between information artifacts are important for the successful performance of software evolution activities, but often not captured explicitly. The lack of an explicit representation of these interdependencies often result in difficulties identifying dependent artifacts and additional communication effort. Based on our findings, we suggest ways to better support stakeholders with their information needs. |
|
Michael Kündig, Project awareness and software quality: a customized visualization for software project awareness based on stakeholder roles, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2013. (Bachelor's Thesis)
Being aware of a project’s status and its software quality is an important factor in the decision making process of a project manager. There are a number of existing tools that are designed to support and analyze software projects, but most of them focus on development tasks and fail to provide a high level project overview.
The goal of this thesis is to assess the information needs of a project manager focused on software development and create a mobile prototype application that is able to assist him in his decision making process. The application that is developed in connection with this thesis is built on the Android platform and focuses on a high level project overview. On the one hand, it concentrates on project awareness and makes use of a collaboration tool called Rational Team Concert. On the other hand, a service developed by the software evolution & architecure lab at the University of Zurich is used to receive software metrics and give an impression about the software quality of a project. A formative evaluation of the application concludes this thesis. |
|
Katja Kevic, Sebastian Müller, Thomas Fritz, Harald C Gall, Collaborative bug triaging using textual similarities and change set analysis, In: 6th International Workshop on Cooperative and Human Aspects of Software Engineering, IEEE, San Francisco, USA, 2013-05-25. (Conference or Workshop Paper published in Proceedings)
Bug triaging assigns a bug report, which is also known as a work item, an issue, a task or simply a bug, to the most appropriate software developer for fixing or implementing it. However, this task is tedious, time-consuming and error-prone if not supported by effective means. Current techniques either use information retrieval and machine learning to find the most similar bugs already fixed and recommend expert developers, or they analyze change information stemming from source code to propose expert bug solvers. Neither technique combines textual similarity with change set analysis and thereby exploits the potential of the interlinking between bug reports and change sets. In this paper, we present our approach to identify potential experts by identifying similar bug reports and analyzing the associated change sets. Studies have shown that effective bug triaging is done collaboratively in a meeting, as it requires the coordination of multiple individuals, the understanding of the project context and the understanding of the specific work practices. Therefore, we implemented our approach on a multi-touch table to allow multiple stakeholders to interact simultaneously inthe bug triaging and to foster their collaboration. In the current stage of our experiments we have experienced that the expert recommendations are more specific and useful when the rationale behind the expert selection is also presented to the users. |
|
Emanuel Giger, Harald Gall, Effect Size Analysis, In: 1st International Workshop on Data Analysis Patterns in Software Engineering (DAPSE), ACM Digital Library, 2013. (Conference or Workshop Paper published in Proceedings)
|
|
Martin Brandtner, Fostering software quality assessment, In: Doctoral Symposium at the 35th International Conference on Software Engineering (ICSE 2013), IEEE, San Francisco, CA, 2013-05-21. (Conference or Workshop Paper published in Proceedings)
Software quality assessment shall monitor and guide the evolution of a system based on quality measurements. This continuous process should ideally involve multiple stakeholders and provide adequate information for each of them to use. We want to support an effective selection of quality measurements based on the type of software and individual information needs of the involved stakeholders. We propose an approach that brings together quality measurements and individual information needs for a context-sensitive tailoring of information related to a software quality assessment. We address the following research question: How can we better support different stakeholders in the quality assessment of a software system? For that we will devise theories, models, and prototypes to capture their individual information needs, tailor information from software repositories to these needs, and enable a contextual analysis of the quality aspects. Such a context-sensitive tailoring will provide a effective and individual view on the latest development trends in a project. |
|
Giacomo Ghezzi, Harald Gall, Replicating Mining Studies with SOFAS, In: 10th Working Conference on Mining Software Repositories, IEEE Computer Society, Washington, DC, 2013. (Conference or Workshop Paper published in Proceedings)
The replication of studies in mining software repositories (MSR) is essential to compare different mining techniques or assess their findings across many projects. However, it has been shown that very few of these studies can be easily replicated. Their replication is just as fundamental as the studies themselves and is one of the main threats to validity that they suffer from. In this paper, we show how we can alleviate this problem with our SOFAS framework. SOFAS is a platform that enables a systematic and repeatable analysis of software projects by providing extensible and composable analysis workflows. These workflows can be applied on a multitude of software projects, facilitating the replication and scaling of mining studies. In this paper, we show how and to which degree replication can be achieved. We investigated the mining studies of MSR from 2004 to 2011 and found that from 88 studies published in the MSR proceedings so far, we can fully replicate 25 empirical studies. Additionally, we can replicate 27 additional studies to a large extent. These studies account for 30% and 32%, respectively, of the mining studies published. To support our claim we describe in detail one large study that we replicated and discuss how replication with SOFAS works for the other studies investigated. To discuss the potential of our platform we also characterise how studies can be easily enriched to deliver even more comprehensive answers by extending the analysis workflows provided by the platform. |
|
Christian Bosshard, TouchSprintPlanner: supporting sprint planning meetings with multi-touch technology, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2013. (Bachelor's Thesis)
Multi-touch tabletops provide users with a new way of human-computer interaction that allows to handle digital information similar to analog content on a table. Various studies has been done showing the potential of multi-touch technology to support collaborative tasks in software engineering. Other research examined the characteristics of multi-touch user interfaces regarding aspects such as object rotation and translation or interaction gestures. The goal of this thesis is to explore the potential of multi-touch technology to support Scrum Sprint planning meetings. A design concept that can be applied to different multi-touch devices is developed. Based on that a prototypical implementation called TouchSprintPlanner, running on the Microsoft Surface Table, is built. The application is evaluated and compared to other Scrum tools. It can be shown that TouchSprintPlanner is a valuable approach in conducting Sprint planning meetings and that a significant number of users prefer the multi-touch approach over other types of Scrum tools. |
|
Giacomo Ghezzi, Harald C Gall, A framework for semi-automated software evolution analysis composition, Automated Software Engineering, Vol. 20 (3), 2013. (Journal Article)
Software evolution data stored in repositories such as version control, bug and issue tracking, or mailing lists is crucial to better understand a software system and assess its quality. A myriad of analyses exploiting such data have been proposed throughout the years. However, easy and straight forward synergies between these analyses rarely exist. To tackle this problem we have investigated the concept of Software Analysis as a Service and devised SOFAS, a distributed and collaborative software evolution analysis platform. Software analyses are offered as services that can be accessed, composed into workflows, and executed over the Internet. This paper presents our framework for composing these analyses into workflows, consisting of a custom-made modeling language and a composition infrastructure for the service offerings. The framework exploits the RESTful nature of our analysis service architecture and comes with a service composer to enable semi-automated service compositions by a user. We validate our framework by showcasing two different approaches built on top of it that support different stakeholders in gaining a deeper insight into a project history and evolution. As a result, our framework has shown its applicability to deliver diverse, complex analyses across system and tool boundaries. |
|
Thomas Kaul, Building a smart system to assist medical doctors in conducting anamnesis, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2013. (Master's Thesis)
In the past years, medical doctors have increasingly been confronted with paperwork. In a medicine becoming more complex and a growing willingness on side of the patient to sue doctors, a precise documentation of the patient‘s complaint is inevitable. Recent studies have shown that a Swiss junior doctor spends up to two and a half hours a day with the documentation of patient data [G+11]. This time is missing in the direct contact with the patient. In this thesis, we aimed to implement a system optimized for mobile touch devices with an effective and easily usable user interface to support doctors in their documentation work during the patient consultation. To reduce the typing effort, the system is based on a recommender system which suggests symptoms related to already recorded symptoms. In an experiment with a doctorpatient setting, the system achieves promising scores in matters of usefulness and usability. |
|
Michael Würsch, Emanuel Giger, Harald C Gall, Evaluating a query framework for software evolution data, ACM Transactions on Software Engineering and Methodology, Vol. 22 (4), 2013. (Journal Article)
With the steady advances in tooling to support software engineering, mastering all the features of modern IDEs, version control systems, and project trackers is becoming increasingly difficult. Answering even the most common developer questions can be surprisingly tedious and difficult. In this paper we present a user study with 35 subjects to evaluate our quasi-natural language interface that provides access to various facets of the evolution of a software system but requires almost zero learning effort. Our approach is tightly woven into the Eclipse IDE and allows developers to answer questions related to source code, development history, or bug and issue management. The results of our evaluation show that our query interface can outperform classical software engineering tools in terms of correctness, while yielding significant time savings to its users and greatly advancing the state of the art in terms of usability and learnability. |
|