How to get a rock star supervisor

The Thesis Whisperer

How do you choose the right supervisor? How do you know if it might be time for a change?

In this post Associate Professor Evonne Miller offers a check list of qualities of an awesome supervisor. I now blog with Evonne over at The Supervision Whisperers where the tagline is “Just like the Thesis Whisperer, but with more paperwork”.

Evonne is the Director of Research Training for the Creative Industries Faculty at Queensland University of Technology in Brisbane, Australia. She detests meetings and leans towards the hands-off supervision style, but her students will attest that she is passionate about their research and does yell at them (kindly) when needed.

screen-shot-2017-02-05-at-9-47-09-amWhether it is art, science or a little bit of magic, choosing the ‘right’ phd supervisor is one of the most important decisions you will make. There is no doubt that a little bit of luck (or magic) is involved, and both…

View original post 1,136 more words

The Seventy Million Dollar Question

Form Follows Function


Just when I thought I was done posting for the week, they suck me back in.

Juicero started lighting up my Twitter feed a little while ago. For those, like me, who have no earthly idea what Juicero is, it’s a startup that makes an “Internet-connected kitchen appliance”:

Juicero’s flagship product is a $699 countertop device that cold presses juice out of “packs” of already prepped fruit and veggies. The packs — reminiscent of the cups and pouches used in single-cup coffee brewers from Keurig, Flavia or Nespresso — cost $4 to $10 each and are available through a Juicero subscription, but not in groceries.

Juicero just picked up $70 million in Series B funding. ‘Cause digital.

There is just one hitch – you don’t actually need the high-dollar hardware to make the juice:

But after the product hit the market, some investors were surprised to discover a…

View original post 315 more words

Some Research Paper Writing Recommendations

Arie van Deursen

Last week, I received an email from Alex Orso and Sebastian Uchitel, who had been asked to give a talk on “How to get my papers accepted at top SE conferences” at the Latin American School on Software Engineering. Here’s their question:

We hope you can spare a few minutes to share with us the key recommendations you would give to PhD students that have not yet had successful submissions to top software engineering conferences, such as ICSE.

An interesting request, and I certainly look forward to receive some of the advice my fellow researchers will be providing you can see the advice of my fellow researchers in a presentation by Alex Orso.

When working with my students on papers, I must admit I sometimes repeat myself. Below are some of the things I hear myself say most often.

Explain the Innovation

The first thing to…

View original post 997 more words

Doctoral Symposium: What, Why and How?

Wylliams Barbosa Santos

The aim of the doctoral symposium is to give PhD students the opportunity to present their research to receive constructive feedback from a panel of senior researchers in a specific area. The doctoral symposium is run in a highly interactive with a workshop format. Aiming to obtain maximum benefit from doctoral symposium, students should consider participating after they have settled on a research topic, with a defined problem statement and some ideas about the solution that they want to discuss.

“Do you have any previous experiences with Doctoral Symposium? Share with us!!”

Objetives of Doctoral Symposium

  1. Present their research work in a relaxed and supportive environment;
  2. Receive feedback and suggestions from peers and experienced faculty;
  3. Gain an overview of the breadth and depth of research;
  4. Obtain insight into directions for research taken by other doctoral candidates;
  5. Discuss concerns about research, supervision, the job market, and other issues;
  6. Network with peers and…

View original post 372 more words

How can I analyze a data from a qualitative research?

Interesting post from my friend Fernando Kenji!

Fernando Kenji Kamei

Which direction to go? Which direction to go?

I have studied years ago about Systematic Review and Qualitative Research during my master degree. You can read a diversity of material about these in the technical reports, articles and books, which explain how to conduct, how to extract data, but a little focusing about how to analyze and synthetize the data. So, the big question is: How we can analyze the qualitative data? [my question now during the PhD]

What kind of method do you prefer? What the difference about the existing methods?

I always listening my teachers saying that to conduct a qualitative research, the better methods to analyze data are Grounded Theory or Thematic Analysis. But, what is a Thematic analysis? What is a Grounded Theory?

Existing in the literature many materials about it, but for the Computer Science I recommend to read:

View original post 129 more words

Software Architecture Frameworks

The specification of architecture frameworks is one area of standardization in ISO/IEC/IEEE 42010:2011 (the international revision of IEEE 1471:2000).

WG42 is collecting examples of architecture frameworks, more information here.

We selected five of them:

PPOOA – Processes Pipelines in Object Oriented Architectures [website]

Provides a collection of building elements and an architecting process to build component-based architectures, taking into account concurrency issues earlier in the development.

PPOOA is an architecting framework oriented to real-time systems architectures. PPOOA uses two viewpoints: structural, using UML class diagrams extended with PPOOA stereotypes, and behavioral, supported by UML activity diagrams. PPOOA architectures may be evaluated by analytical methods such as RMA (Rate Monotonic Analysis) and simulation tools such as Cheddar tool. An architecting methodology (ise&ppooa) and process is provided also.

PPOOA Process

TRAK – Enterprise Architecture Framework [website]

TRAK provides a means of describing the architecture of systems, based on the requirements of ISO/IEC/IEEE 42010. Domain-neutral. General purpose for the description of systems, aimed at systems engineers.

TRAK is based on MODAF (UK Ministry of Defence Architecture Framework). It was developed for rail but is domain agnostic and can be used wherever there is a system to be described. TRAK has been designed from the outset to conform to ISO/IEC 42010.

It has 5 perspectives and 22 architecture viewpoints. Architecture view content is defined using tuples (object – relationship – object) with additional rules to enforce consistency across an architecture description, based on a metamodel.

TRAK Enterprise Architecture Framework

Siemens Four Views

The Siemens approach uses four views to document an architecture. The four views and their associated design tasks are shown in the Figure below. The first task for each view is global analysis. The second and third groups of tasks are the central and final design tasks , which define the elements of the architecture view, the relationships among them, and important properties.

Siemens Four View

DODAF – US Department of Defense Architecture Framework [website]

To enable “the development of architectures to facilitate the ability of Department of Defense (DoD) managers at all levels to make key decisions more effectively through organized information sharing across the Department, Joint Capability Areas (JCAs), Mission, Component, and Program boundaries.”


IBM IFW – Information Framework
The IFW is a set of banking specific business models that represent practice in banking. It comprises: (1)Information Models: providing banking data content to address areas such as enterprise-wide view of information; (2) Process Models: providing banking business processes content to address areas such as business process re-engineering; and, (3) Integration Models: providing business services content to address areas such as services oriented architectures.

The IFW business models are created by identifying, describing and structuring all of the business functions, data and processes.

IFW – IBM Framework

Teaching Software Architecture: with GitHub!

Great post about teaching Software Architecture from Arie van Deursen.

Arie van Deursen

Arie van Deursen, Alex Nederlof, and Eric Bouwers.

When teaching software architecture it is hard to strike the right balance between practice (learning how to work with real systems and painful trade offs) and theory (general solutions that any architect needs to thoroughly understand).

To address this, we decided to try something radically different at Delft University of Technology:

GitHub Octocat

  • To make the course as realistic as possible, we based the entire course on GitHub. Thus, teams of 3-4 students had to adopt an active open source GitHub project and contribute. And, in the style of “How GitHub uses GitHub to Build GitHub“, all communication within the course, among team members, and with external stakeholders took place through GitHub where possible.

Rozanski & Woods

  • Furthermore, to ensure that students actually digested architectural theory, we made them apply the theory to the actual project they picked. As sources we…

View original post 2,841 more words

Software Architecture Definitions!

The software engineering community determine several definitions for software architecture. Although each one has specific characteristics, they actually mean the same thing. The Software Engineering Institute (SEI) has collected a large number of definitions of software architecture as can be seen here.

The ISO/IEC/IEEE 42010 was prepared by Joint Technical Committee ISO/IEC in cooperation with the Software and Systems Engineering Standards Committee of the Computer Society of the IEEE in order to addresses the creation, analysis and sustainment of architectures of systems through the use of architecture descriptions. More information here.

The term architecture refers to the rationale and the top-level decomposition of a system (or a set of systems) into its main components and the design process leading to that decomposition. In other words, the architecture of a software system is defined as computational components and the interactions among those components [1].

Another explanation of the concept is provided by the Software Engineering Institute (SEI), in which the architecture of a software program is defined as “a depiction of the system that aids in the understanding of how the system will behave”. Even further, the software architecture of a system can also be stated as “the set of principal design decisions made during its development and any subsequent evolution”, being the stakeholders responsible for determining which aspects are considered principle [2].

According to Bass et al. (2003), the term architecture refers to the structure of a system, consisting of software elements, externally visible properties, and the relationships among elements [3]. On the other hand, ISO/IEC/IEEE 42010 defines architecture as fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution.

We consider that Software Architecture is the discipline responsible for defining the system organization and its components, as well as its internal/external interactions. It also considers the priorities defined by the stakeholders.

software architecture mind map

The subject is broad, for this reason the figure above presents a simple mind map of the area. Moreover, George Fairbanks presents an introduction to software architecture in the video below. He also highlight the importance of the trade-off related with software architecture using real examples.


[1] M. Shaw, D. Garlan. Software architecture: perspectives on an emerging discipline. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1996.

[2] R. N. Taylor, N. Medvidovic, E. M. Dashofy. Software Architecture: Foundations, Theory, and Practice, 1st Edition. Wiley, 2009.

[3] L. Bass, P. Clements, R. Kazman, Software Architecture in Practice. Addison-Wesley Longman Publishing Co., Inc, 2003.

Surfing on the Waves of Publication!

In [1], Meyer (2013) criticizes the current scientific publication methods. He believes that with the technological evolution it is possible to transform the articles in dynamic documents that can evolve over the time. In other words, the publishing process should also evolve. For this reason, the author presents the waves of publication.

As stated by Meyer, “The very notion of publication has changed. The process part is gone; only the result remains, and that result can be an evolving product, not a frozen artifact.”

Moreover, the author suggests to start with a blog post, then register the work first version as a technical report (usually not considered prior publication), then submit it to a workshop, then to a conference, and finally, a version of record in a journal (extended version of a conference paper including at least 30% of new material). The Figure below summarize the publication evolution process (waves of publication).


In blog posts, the writer audience work as “reviewers” through comments. They contributes with different perspectives and point of viewers. The drawback is the feedback low reliability. On the other hand, in technical reports,  the researcher advisor (or responsible) reviews the work. Generally, there are institutions/organizations involved in the process.

In Workshops, (at least 2 or 3) reviewers will evaluate the paper. We can consider as the “first” external evaluation. Although conferences and journals are harder to publish, the reviewers contribution are important to evolve the work. Furthermore, there is a chief editor to coordinate the revision.

According to Meyer, “there is a whole gradation of prestige, well known to researchers in every particular field: conferences are better than workshops, some journals are as good as conferences or higher, some conferences are far more prestigious than others, and so on” [1].

We support the idea that publication should evolve along with the research and the journal should combine different kind of studies to allow a broader view of the work. Hence, we suggest the combination of the waves of publication with Mafra et al. methodology [2] as an iterative and incremental publication process (see the Figure below).


According to Kitchenham (2007), “A systematic literature review (SLR) is a means of identifying, evaluating and interpreting all available research relevant to a particular topic area” [3]. SLR will serve as basis for defining the state of the art. The focus is Evidence-Based Software Engineering conferences.

Since the workshop is the first contact of the work with the research community, the initial ideal  can be submitted to a Software Engineering workshop. Once the idea is establish, the work is prepared to conference evaluation. The Technology Development includes the development of: tools, processes, frameworks, models, guidelines, approaches, and so on.

Moreover, the researcher should execute the Empirical Evaluation of the Technology. It includes controlled experiments, case studies, qualitative research, interviews, etc. Finally, the different papers should be combined in a journal paper by adding more 30% of new information.


[1] B. Meyer: Communications of the ACM Blog: The Waves of Publication, January 2013, available in:  ACM Blog.

[2] S. Mafra, R. Barcelos, G. Travassos, Aplicando uma Metodologia Baseada em Evidência na Definição de Novas Tecnologias de Software (Portuguese), in: XX Brazilian Symposium on Software Engineering (SBES), 2006.

[3] B. Kitchenham, S. Charters, Guidelines for performing Systematic Literature Reviews in Software Engineering, in: Keele University and Durham University Joint Report, 2007

Research Type Facet

Classes Description
Validation Research Tools investigated are novel and have not yet been implemented in practice. Tools used are for example experiments, i.e., work done in the lab.
Evaluation Research Tools are implemented in practice and an evaluation of the tool is conducted. That means, it is shown how the tool is implemented in practice (solution implementation) and what are the consequences of the implementation in terms of benefits and drawbacks (implementation evaluation). This also includes identification of problems in industry.
Solution Proposal A solution for a problem is proposed, the solution can be either novel or a significant extension of an existing tool. The potential benefits and the applicability of the solution is shown by a small example or a good line of argumentation.
Philosophical Paper These papers sketch a new way of looking at existing things by structuring the field in form of a taxonomy or conceptual framework.
Opinion Paper These papers express the personal opinion of somebody whether a certain tool is good or bad, or how things should be done. They do not rely on related work and research methodologies.
Experience Paper Experience papers explain what and how something has been done in practice. It has to be the personal experience of the author.