Amancio Bouza, G Reif, Abraham Bernstein, Harald Gall, SemTree: ontology-based decision tree algorithm for recommender systems, In: International Semantic Web Conference, 2008-10-26. (Conference or Workshop Paper)
Recommender systems play an important role in supporting people when choosing items from an overwhelming huge number of choices. So far, no recommender system makes use of domain knowledge. We are modeling user preferences with a machine learning approach to recommend people items by predicting the item ratings. Specifically, we propose SemTree, an ontology-based decision tree learner, that uses a reasoner and an ontology to semantically generalize item features to improve the effectiveness of the decision tree built. We show that SemTree outperforms comparable approaches in recommending more accurate recommendations considering domain knowledge. |
|
Yu Zhou, Michael Würsch, Emanuel Giger, Harald Gall, Jian Lü, A Bayesian Network Based Approach for Change Coupling Prediction, In: Working Conference on Reverse Engineering, 2008-10-15. (Conference or Workshop Paper published in Proceedings)
Source code coupling and change history are two important data sources for change coupling analysis. The popularity of public open source projects in recent years makes both sources available. Based on our previous research, in this paper, we inspect different dimensions of software changes including change significance or source code dependency levels, extract a set of features from the two sources and propose a bayesian network-based approach for change coupling prediction. By combining the features from the co-changed entities and their dependency relation, the approach can model the underlying uncertainty. The empirical case study on two medium-sized open source projects demonstrates the feasibility and effectiveness of our approach compared to previous work. |
|
A Bernardi, S Decker, L van Elst, G A Grimnes, T Groza, S Handschuh, M Jazayeri, C Mesnage, K Möller, G Reif, M Sintek, The Social Semantic Desktop - a new paradigm towards deploying the semantic Web on the desktop, In: Semantic web engineering in the knowledge society, Information Science Reference, Hershey, Pennsylvania, USA, p. 290 - 313, 2008-10. (Book Chapter)
This chapter introduces the general vision of the Social Semantic Desktop (SSD) and details it in the context of the NEPOMUK project. It outlines the typical SSD requirements and functionalities that were identified from real world scenarios. In addition, it provides the design of the standard SSD architecture together with the ontology pyramid developed to support it. Finally, the chapter gives an overview of some of the technical challenges that arise from the actual development process of the SSD. |
|
Sandro Boccuzzo, H C Gall, Software visualization with audio supported cognitive glyphs, In: 24th IEEE International Conference on Software Maintenance (ICSM 2008), IEEE Computer Society, Los Alamitos, 2008-09-28. (Conference or Workshop Paper published in Proceedings)
There exist numerous software visualization techniques that aim to facilitate program comprehension. One of the main concerns in every such software visualization is to identify relevant aspects fast and provide information in an effective way. In previous work, we developed a cognitive visualization technique and tool called CocoViz that uses common place metaphors for an intuitive understanding of software structures and evolution. In this paper, we address software comprehension by a combination of visualization and audio. Evolution and structural aspects are annotated with different audio to represent concepts such as design erosion, code smells or evolution metrics. We use audio concepts such as loudness, sharpness, tone pitch, roughness or oscillation and map those to properties of classes and packages. As such we provide an audio annotation of software entities along their version history for software analysis and software browsing. Our first results with the prototype and a small user study show that with this combination of visual and aural means we can facilitate program comprehension and provide additional information that usually is not provided by current visualization approaches. |
|
Giacomo Ghezzi, H C Gall, Towards software analysis as a service, In: 4th Internatioal ERCIM Workshop on Software Evolution and Evolvability (Evol'08), IEEE Computer Society, Los Alamitos, 2008-09-15. (Conference or Workshop Paper published in Proceedings)
Throughout the years software engineers have come up with a myriad of specialized tools and techniques that focus on a certain type of analysis, such as metrics extraction, evolution tracking, co-change detection, bug prediction, all the way up to social network analysis of team dynamics.
However, easy and straight forward synergies between these analyses/tools rarely exist because of their stand-alone nature, their platform dependence, their different input and output formats and the variety of systems to analyze. This significantly hampers their usage and reduces their acceptance by other researchers and software companies.
To overcome this problem we propose a distributed and collaborative software analysis platform to enable a seamless interoperability of software analysis tools across platform, geographical and organizational boundaries. In particular, we devise software analysis tools as services that can be accessed and composed over the Internet. These distributed services shall be widely accessible through a software analysis broker where organizations and research groups can register and share their tools. To enable (semi)-automatic use and composition of these tools, they are classified and mapped into a software analysis taxonomy and adhere to specific meta-models and ontologies for their category of analysis. |
|
Beat Fluri, Emanuel Giger, H C Gall, Discovering patterns of change types, In: 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), IEEE Computer Society, Los Alamitos, 2008-09-15. (Conference or Workshop Paper published in Proceedings)
The reasons why software is changed are manyfold; new features are added, bugs have to be fixed, or the consistency of coding rules has to be re-established. Since there are many types of of source code changes we want to explore whether they appear frequently together in time and whether they describe specific development activities. We describe a semi-automated approach to discover patterns of such change types using agglomerative hierarchical clustering. We extracted source code changes of one commercial and two open-source software systems and applied the clustering. We found that change type patterns do describe development activities and affect the control flow, the exception flow, or change the API. |
|
Mark Odermatt, DA4Java, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2008. (Bachelor's Thesis)
Software visualizations are an existing instrument to improve the understanding of complex programs.
The Eclipse plug-in DA4Java is an analysis tool that visually illustrates dependencies of
classes, methods and attributes. With this program, which has been developed in a diploma thesis,
users are supported to get an overview of the structure of the analyzed source code project.
Unfortunately the tool has some deficits concerning usability and lacks of configuration possibilities.
Furthermore, the provided filter and reload mechanisms need to be expanded.
The task of this bachelor thesis was to integrate various extensions into DA4Java that extend
the functional range of the tool and improve its usability. Some of the improvements addressed
the design to establish a basis for future extensions. We also better integrated the plug-in DA4Java
into Eclipse and simplified the user interface.
The principle of Polymetric Views used to be limited to the indication of dependency strengths
between source code entities and was expanded. In the current version of the application different
software metrics can be represented by different graphical attributes. It is thereby up to the user
to choose which graphical attribute reflects which metric.
The filter as well as the add & reload functionality has been refined to facilitate the manipulation
of graphs. E. g., the user can add only those entities to the graph that are actually connected
by a certain association type to the selected entity. Furthermore, two control panels have been
added with which the user manages the visibility of the different association and entity types.
These changes lead to an increased functionality of the tool with an user interface. Especially
the extended filter functionality combined with the introduced undo & redo mechanism widened
the user’s analysis scope and improved the comfort of the interaction with the application. |
|
Reto Stalder, Managing changes in a distributed business system, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2008. (Master's Thesis)
Continuous change is a major challenge in modern distributed business systems. The more distributed
parts a system has, the more problems are rising with it. Questions of mitigating technological
risks, smooth migration paths or reengineering needs or potentials are key questions for
managing evolutionary changes. This diploma thesis addresses such continuous changes in data
and business logic components in a distributed system. The goal is to identify, describe and devise
strategies for a smooth evolution path. Thereby challenges and problems should be isolated,
described, categorized and analyzed in a design and architectural view. The resolution methods
will be formulated with patterns and reengineering recommendations. The frame of this diploma
thesis is a case study in the UBS AG IT-System, which is one of the largest distributed systems in
Switzerland. |
|
Pascal Schöni, PAX TYPO 3 Extensions, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2008. (Bachelor's Thesis)
As an output of their research activities, scientists summarize their research results in scientific
publications. At the Department of Informatics of the University of Zurich these publications
are stored in an application called PAX. PAX is a Web application and allows users to manage,
publish and search for publications. However, currently PAX is not available via the homepage
of the department. The homepage of the department is maintained with the content management
system TYPO3, which does not have PAX support. TYPO3 allows the development of extensions,
which can be used similar to the general content modules (like text or images). The goal of this
thesis is to develop a TYPO3 extension to enable the PAX integration into TYPO3. Users can
configure the extension in several ways. They can filter publications according to the requirements
of their Web page via properties such as author, publication type, publication date, or research
group. In addition, PAX stores information on employees and research projects, which are also
made available in TYPO3 via the developed extension. |
|
Thomas Maurer, MyMaster, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2008. (Bachelor's Thesis)
Every sixth months prior to a semester a student of the University of Zurich performs the same
steps to get an idea of the upcoming semester and what courses she should take. This process
involves the consideration of regulations and publications which is a cumbersome task. The
creator of this thesis could imagine that a suitable information system can help out.
The module directory of University of Zurich, which is accessible through a web interface,
only provides categorized module information. A software could use the very same information
for implementing a tool to plan a semester and even an entire study. This is the idea of MyMaster.
To implement this idea with an achievable bachelor thesis project, the outlined planning tool
was limited to the new master study programs of the Department of Informatics of the University
of Zurich. That is why its name is MyMaster. The software is realized as a Ruby on Rails web
application and was developed in an Agile way. The two main features are a schedule editor
for planning a single semester and a study plan editor for developing a plan over a entire study
time. The study plan editor includes a recommender that generates a ?lled study plan on the
base of interests the student speci?es. To make use of the existing module information system
(the university calendar), the MyMaster application has an interface to import and synchronize
data.
The evaluation by students showed that the tool works and in addition has potential to get
expanded with supplementary features. |
|
Andres Carlo Petralli, A Context Aware Algorithm to Extract Structural changes Between Famix Models, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2008. (Master's Thesis)
With the advent of ever evolving software systems, often fueled by crucial new technology developments or changes in policies public and private, reengineering has become an important part of the software engineering process. Old legacy software systems are often too valuable or too interwoven with existing mission critical applications. Replacing them is simply not a viable option. The process of reengineering allows further development of such legacy systems, even if the original developer team is not available anymore.
To facilitate the reengineering process, a wealth of tools have emerged to support such endeavors. Source code change detection is an important technique to understand the evolution of a software system. While still many change detection algorithms of common software development tools focus on detecting simple line by line changes in source code files, much research effort was invested into more sophisticated tools to grasp the additional value of syntactical and contextual information. Context information, for instance, is offered by the representation of an inheritance relationship of two classes or the affiliation of an attribute to a data type class. Being able to track changes within the context of source code structures allows to better understand changes of software systems.
This thesis describes new techniques of using a FAMIX model extracted from subsequent software system releases in order to visualize changes within a source code's specific scope. We give an introduction into source code differentiation using FAMIX models with an algorithm based on Chawathe's change detection. An evaluation of such source code differentiation with specially designed and real-life source code projects is provided to prove the effectiveness and accuracy of the solution. |
|
Gerald Reif, Harald Gall, Hong-Linh Truong, Schahram Dustdar, DMC - Distributed and Mobile Collaboration, In: 17th IEEE International Workshop on Enabling Technologies: Infrastructures for Collaborative Enterprises (WETICE 2008), Roma, Italy, 2008-06-23. (Conference or Workshop Paper)
Distributed collaborations within networked enterprises and e-science have been changing radically over the last years. Enterprises and e-science environments demand increased flexibility, interconnectivity, and autonomy of involved systems as well as new coordination and interaction styles for collaboration among people. The latest trends in distributed and mobile collaboration technologies allow people to work across organizational boundaries and to collaborate among/in organizations and communities. The ability to access the organization's distributed knowledge base and to cooperate with co-workers is still a requirement, but new paradigms such as service-oriented computing and Grid computing increase pervasiveness, and mobility enable new scenarios and lead to higher complexity of systems. Independently of the business and e-science domains, individual "collaboration" has become a hot issue. Virtual communities have enjoyed a tremendous popularity recently and are starting to require functionalities for collaboration in the broadest sense similar to those in business and e-science environments. The wide-spread availability of mobile devices makes support for mobility an arising topic in this domain as well.
Many questions to fully enable such scenarios are the subject of ongoing research and are attracting more attention still. For example: How to enable users to retain their ability to cooperate while not being in their home environment? What is the role of context and location in determining how cooperation can be carried out? How can resources be described semantically in a meaningful way to more efficiently exploit the limited resources in mobile environments by supporting better ways of providing data relevant to the user, enabling improved interoperability with the environment and with other mobile users, and deciding when and how to process data? How to provide support for ad-hoc cooperation in situations where the dedicated infrastructure is absent or cannot be used? How will service-oriented computing and Grid computing change collaborative software? How to support software in diverse, small devices such as PDAs and smartphones to access heterogeneous, large-scale resources, such as in the Grid, for large scale collaboration and teamwork, such as in disaster scenarios. How to provide interoperable collaboration services? Which is the shared vocabulary to be used to achieve a common understanding at the semantic level when the collaboration takes place over community or enterprise boundaries? |
|
Yi Guo, Adrian Schwaninger, Harald Gall, An architecture for an adaptive and collaborative learning management system in aviation security, In: 17th IEEE International Workshop in Enabling Technologies: Infrastructures for Collaborative Enterprises (WETICE 2008), 2008-06-23. (Conference or Workshop Paper published in Proceedings)
The importance of aviation security has increased dramatically in recent years. Frequently changing regulations and the need to adapt quickly to new and emerging threats are challenges that need to be addressed by airports, security companies and appropriate authorities across the world. Learning Management Systems (LMS) have been developed as effective tools for enhancing the management, integration and application of knowledge in organizations. In the aviation security domain, we need mechanisms to quickly adapt to new learning content, to different roles ranging from screeners to supervisors, to flexible training scenarios and solid job assessments. For that, a learning system has to be flexible and adaptive both in knowledge, organizational and in collaboration dimensions. Current LMS do not meet these requirements. In this paper we present a software architecture that is apt to support the adaptability and collaboration needs for such a system in aviation security. We discuss the requirements, roles, learning objects and course configuration in terms of adaptive and collaborative learning. We present a six-layer architecture and discuss some of its application scenarios. Our aim is to improve the quality and usefulness of LMS in aviation
security by utilizing knowledge-based analysis for data analysis and integrating a process engine for collaborative learning. We briefly report on our prototype and the gained
first feedback from the users. |
|
Martin Pinzger, K Gräfenhain, P Knab, H C Gall, A Tool for Visual Understanding of Source Code Dependencies, In: International Conference on Program Comprehension, 2008-06-10. (Conference or Workshop Paper published in Proceedings)
Many program comprehension tools use graphs to visualize
and analyze source code. The main issue is that existing
approaches create graphs overloaded with too much
information. Graphs contain hundreds of nodes and even
more edges that cross each other. Understanding these
graphs and using them for a given program comprehension
task is tedious, and in the worst case developers stop using
the tools. In this paper we present DA4Java, a graphbased
approach for visualizing and analyzing static dependencies
between Java source code entities. The main contribution
of DA4Java is a set of features to incrementally
compose graphs and remove irrelevant nodes and edges
from graphs. This leads to graphs that contain significantly
fewer nodes and edges and need less effort to understand. |
|
Tobias Wolf, KDE SemClip, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2008. (Master's Thesis)
Previous implementations of a Semantic Clipboard have well demonstrated the usefulness of integrating Semantic Web technologies with the traditional clipboard paradigm, enabling data transfer between applications without the loss of semantics that is usually the byproduct of such operations. However, the implementations up to this point have been stand-alone prototypes only.
In this thesis, we take the Semantic Clipboard to its next logical progression. We present our approach of integrating the Semantic Clipboard and its accompanying services into an existing desktop environment, specifically the K Desktop Environment. In addition to implementing the core functionality, we demonstrate how existing applications can be modified to leverage the funtionality of the Semantic Clipboard. |
|
Lukas Fries, Migrating to an Enterprise Architecture, University of Zurich, Faculty of Economics, Business Administration and Information Technology, 2008. (Master's Thesis)
The Order Transport and Management System (OTMS), developed by IBM Global Business Services
Switzerland, is a software application especially designed for front office banking with focus on
investment and order management. In recent years, the busines relevant functions of OTMS have
reached a very high standard in projecting business processes. In conjunction with feature improvements,
the application’s code complexity has increased, structure has become inflexible and
maintainability is continuously decreasing. New architectures and their corresponding technologies
are being considered to secure OTMS’ future and keep it competitive.
In this thesis we investigate the feasibility and benefits of a potential migration of the current
software architecture to the Java Enterprise Platform (JEE), also including potential design improvements.
Analysis of the JEE technology and investigation of OTMS’ current code and architecture,
followed by prototype implementations, have shown the potential advantages but also
difficulties. OTMS could benefit from many of the JEE’s powerful features. Current code complexity
could be reduced by a re-engineering process, but a migration would be very complex
and would require specially trained people in the field of software engineering and enterprise application
technologies. A smooth migration approach is recommended, where code is ported to
comply with JEE specifications before ultimately moving to JEE platforms and application server
infrastructure. Although possible and even recommended, a migration would be very work intensive. |
|
DMC - Distributed and Mobile Collaboration - Workshop Report, Edited by: Gerald Reif, Harald Gall, Hong-Linh Truong, Schahram Dustdar, IEEE Computer Society, Roma, Italy, June 2008. (Proceedings)
Distributed collaborations within networked enterprises and e-science have been changing radically over the last years. Enterprises and e-science environments demand increased flexibility, interconnectivity, and autonomy of involved systems as well as new coordination and interaction styles for collaboration among people. The latest trends in distributed and mobile collaboration technologies allow people to work across organizational boundaries and to collaborate among/in organizations and communities. The ability to access the organization's distributed knowledge base and to cooperate with co-workers is still a requirement, but new paradigms such as service-oriented computing and Grid computing increase pervasiveness, and mobility enable new scenarios and lead to higher complexity of systems. Independently of the business and e-science domains, individual ""collaboration"" has become a hot issue. Virtual communities have enjoyed a tremendous popularity recently and are starting to require functionalities for collaboration in the broadest sense similar to those in business and e-science environments. The wide-spread availability of mobile devices makes support for mobility an arising topic in this domain as well.
Many questions to fully enable such scenarios are the subject of ongoing research and are attracting more attention still. For example: How to enable users to retain their ability to cooperate while not being in their home environment? What is the role of context and location in determining how cooperation can be carried out? How can resources be described semantically in a meaningful way to more efficiently exploit the limited resources in mobile environments by supporting better ways of providing data relevant to the user, enabling improved interoperability with the environment and with other mobile users, and deciding when and how to process data? How to provide support for ad-hoc cooperation in situations where the dedicated infrastructure is absent or cannot be used? How will service-oriented computing and Grid computing change collaborative software? How to support software in diverse, small devices such as PDAs and smartphones to access heterogeneous, large-scale resources, such as in the Grid, for large scale collaboration and teamwork, such as in disaster scenarios. How to provide interoperable collaboration services? Which is the shared vocabulary to be used to achieve a common understanding at the semantic level when the collaboration takes place over community or enterprise boundaries? |
|
J Ratzinger, T Sigmund, H C Gall, On the Relation of Refactorings and Software Defect Prediction, In: International Working Conference on Mining Software Repositories, 2008-05-10. (Conference or Workshop Paper published in Proceedings)
This paper analyzes the influence of evolution activities such as refactoring on software defects. In a case study of five open source projects we used attributes of software evolution to predict defects in time periods of six months. We use versioning and issue tracking systems to extract 110 data mining features, which are separated into refactoring and non-refactoring related features. These features are used as input into classification algorithms that create prediction models for software defects. We found out that refactoring related features as well as non-refactoring related features lead to high quality prediction models. Additionally, we discovered that refactorings and defects have an inverse correlation: The number of software defects decreases, if the number of refactorings increased in the preceding time period. As a result, refactoring should be a significant part of both bug fixes and other evolutionary changes to reduce software defects. |
|
H C Gall, G Reif, Semantic Web technologies in software engineering, In: 30th International Conference on Software Engineering (ICSE 2008), 2008-05-10. (Conference or Workshop Paper)
Over the years, the software engineering community has developed various tools to support the specification, development, and maintainance of software. Many of these tools use proprietary data formats to store artifacts which hamper interoperability. However, the Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. Ontologies are used define the concepts in the domain of discourse and their relationships and as such provide the formal vocabulary applications use to exchange data. Beside the Web, the technologies developed for the Semantic Web have proven to be useful also in other domains, especially when data is exchanged between applications from different parties. Software engineering is one of these domains in which recent research shows that Semantic Web technologies are able to reduce the barriers of proprietary data formats and enable interoperability.
In this tutorial, we present Semantic Web technologies and their application in software engineering. We discuss the current status of ontologies for software entities, bug reports, or change requests, as well as semantic representations for software and its documentation. This way, architecture, design, code, or test models can be shared across application boundaries enabling a seamless integration of engineering results. |
|
Martin Pinzger, Katja Gräfenhain, Patrick Knab, Harald Gall, Incremental Visual Understanding of Java Source Code, No. IFI-2009.0001, Version: 1, 2008. (Technical Report)
|
|