Search For:

Displaying 1-13 out of 13 total
On the Automation of Dependency-Breaking Refactorings in Java
Found in: 2013 IEEE International Conference on Software Maintenance (ICSM)
By Syed Muhammad Ali Shah,Jens Dietrich,Catherine McCartin
Issue Date:September 2013
pp. 160-169
The architecture and design of object-oriented systems is often described in terms of dependencies between program artefacts like classes, packages and libraries. In particular, there are many heuristics that mandate that certain dependencies should be avo...
Making Smart Moves to Untangle Programs
Found in: Software Maintenance and Reengineering, European Conference on
By Syed M. Ali Shah,Jens Dietrich,Catherine McCartin
Issue Date:March 2012
pp. 359-364
We present a novel algorithm to improve the design of programs by removing circular dependencies between packages without completely collapsing the package structure. This is achieved by moving classes between packages. The algorithm is based on a scoring ...
The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies
Found in: Asia-Pacific Software Engineering Conference
By Ewan Tempero, Craig Anslow, Jens Dietrich, Ted Han, Jing Li, Markus Lumpe, Hayden Melton, James Noble
Issue Date:December 2010
pp. 336-345
In order to increase our ability to use measurement to support software development practise we need to do more analysis of code. However, empirical studies of code are expensive and their results are difficult to compare. We describe the Qualitas Corpus, ...
A Formal Framework to Optimise Component Dependency Resolution
Found in: Asia-Pacific Software Engineering Conference
By Graham D. Jenson, Jens Dietrich, Hans W. Guesgen
Issue Date:December 2010
pp. 226-233
Dependency resolution (DR) uses a component's explicitly declared requirements to calculate systems where all dependencies are satisfied. There can be many configurations to choose from when resolving dependencies. DR should aim to identify and return an o...
Layered Government and E-Citizenship: Objectives and Technical Challenges in the EU
Found in: Internet and Web Applications and Services, International Conference on
By Vladimir Stantchev, Marten Schoenherr, Jens Dietrich
Issue Date:May 2009
pp. 614-619
A typical citizen engages with governmental agencies at several hierarchical levels – local, regional and national. Federal and international communities add even more layers atop of them. We denote this as the concept of layered government. A citizen with...
Tool Support for Teaching Design Patterns
Found in: Software Engineering Conference, Australian
By Jens Dietrich, Elizabeth Kemp
Issue Date:March 2008
pp. 200-208
Design patterns are programming language and project independent design artefacts that are widely used by professional software engineers. They represent best practise software design. However, the fact that design patterns are highly abstract makes it dif...
On Code Generation for Derived Associations
Found in: Software Engineering Conference, Australian
By Jens Dietrich, Bastian Schenke, Gerd Wagner
Issue Date:March 2008
pp. 347-356
While the generation of executable code for explicit associations in UML models is well understood, it is less clear how executable code can be generated if the associations are derived. We discuss how this can be achieved for an important class of derived...
A Formal Contract Language for Plugin-based Software Engineering
Found in: Engineering of Complex Computer Systems, IEEE International Conference on
By Jens Dietrich, John Hosking, Jonathan Giles
Issue Date:July 2007
pp. 175-184
Plugin-based application design has become increasingly popular in recent years, and has contributed to the success of a range of very different applications including Mozilla Firefox and the Eclipse development environment. Using plugins is a promising ap...
Using Social Networking and Semantic Web Technology in Software Engineering--Use Cases, Patterns, and a Case Study
Found in: Software Engineering Conference, Australian
By Jens Dietrich, Nathan Jones
Issue Date:April 2007
pp. 129-136
We present an approach that uses social net- working and semantic web technology to share knowledge within the software engineering community. We propose to use existing Web 2.0 services such as social bookmarking and blogs as the infrastructure to share k...
A Formal Description of Design Patterns Using OWL
Found in: Software Engineering Conference, Australian
By Jens Dietrich, Chris Elgar
Issue Date:April 2005
pp. 243-250
<p>Design patterns have been used successfully in the last decade to re-use and communicate object-oriented design. However, the documentation of pattern usage is often very poor. This motivates the use of tools which can detect and document design p...
On the Shape of Circular Dependencies in Java Programs
Found in: 2014 23rd Australian Software Engineering Conference (ASWEC)
By Hussain A. Al-Mutawa,Jens Dietrich,Stephen Marsland,Catherine McCartin
Issue Date:April 2014
pp. 48-57
Circular dependencies between software artefacts are widely considered as problematic. However, empirical studies of Java programs have shown that most programs are riddled with circular dependencies. This seems to imply that not all circular dependencies ...
Upload your program, share your model
Found in: Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity (SPLASH '12)
By Jens Dietrich
Issue Date:October 2012
pp. 21-22
We demonstrate the Massey Architecture Explorer (MAE), a browser-based application to visualise and analyse the architecture of JVM applications. The MAE extracts a graph-based model from Java byte code, and visualises it using a force directed layout on a...
Cluster analysis of Java dependency graphs
Found in: Proceedings of the 4th ACM symposium on Software visuallization (SoftVis '08)
By Catherine McCartin, Graham Jenson, Jens Dietrich, Manfred Duchrow, Vyacheslav Yakovlev
Issue Date:September 2008
pp. 7-8
We present a novel approach to the analysis of dependency graphs of object-oriented programs. We propose to use the Girvan-Newman clustering algorithm to compute the modular structure of programs. This is useful in assisting software engineers to redraw co...