Powered by
Conference Publishing Consulting

3rd SEMAT Workshop on General Theories of Software Engineering (GTSE 2014), June 2, 2014, Hyderabad, India

GTSE 2014 – Proceedings

Contents - Abstracts - Authors

3rd SEMAT Workshop on General Theories of Software Engineering (GTSE 2014)


Title Page

Message from the Chairs
Welcome to the 3rd SEMAT Workshop on General Theories of Software Engineering (GTSE 2014), held on June 2 in Hyderabad, India, co-located with ICSE 2014. The workshop explores the potential for general theories of software engineering. General theories are plentiful in academia.

The Nature of Theories

Towards Middle-Range Usable Design Theories for Software Engineering
Roel J. Wieringa
(University of Twente, Netherlands)
In this position paper we argue argue to reduce the ambition for a general theory of software engineering to that of a patchwork of middle-range theories about how artifacts can be used by practitioners. This proposal is placed in the wider context of the role of theory in the engineering sciences. A few suggestions are given for how to proceed along this way.

Publisher's Version Article Search
Evaluating Process Theories in Software Engineering
Paul Ralph
(Lancaster University, UK)
A process theory is an explanation of how and why an entity changes and develops. While software engineering is fundamentally concerned with how and why software artifacts change and develop, little research explicitly develops and empirically evaluates software engineering process theories. This lack of theory obstructs scientific consensus by focusing the academic community on methods. Methods inevitably oversimplify and over-rationalize reality, obfuscating crucial phenomenon including uncertainty, problem framing and illusory requirements. Better process theories are therefore needed to ground software engineering in empirical reality. However, poor understanding of process theory issues impedes research and publication. This paper therefore attempts to clarify the nature of process theories, address some common misconceptions and elucidate the unique issues of process theory evaluation.

Publisher's Version Article Search
A Bootstrap Theory: The SEMAT Kernel Itself as Runnable Software
Iaakov Exman
(Jerusalem College of Engineering, Israel)
The SEMAT kernel is a thoroughly thought generic framework for Software Engineering system development in practice. But one should be able to test its characteristics by means of a no less generic theory matching the SEMAT kernel. This position paper claims that such a matching theory is attainable and describes its main principles. The conceptual starting point is the robustness of the Kernel alphas to variations in the nature of the software system, viz. to software automation, distribution and self-evolution. From these and from observed Kernel properties follows the proposed bootstrap principle: a software system theory should itself be a runnable software. Thus, the kernel alphas can be viewed as a top-level ontology, indeed the Essence of Software Engineering. Among the interesting consequences of this bootstrap theory, the observable system characteristics can now be formally tested. For instance, one can check the system completeness, viz. that software system modules fulfill each one of the system requirements.

Publisher's Version Article Search

Proposed Theories

Theory Based Software Engineering with the SEMAT Kernel: Preliminary Investigation and Experiences
Pan-Wei Ng
(Ivar Jacobson Int., Singapore)
This paper proposes an approach towards Theory Based Software Engineering (TBSE) that makes use of Essence as an underlying foundation. This proposed TBSE approach originated from our engagement to help transform a 4000 person IT organization from traditional development towards lean and agile development. Central to TBSE is describing the context of a software engineering endeavors through architecture views, and contextualizing general theories of software engineering into specific ones to recommend theoretically sound practices for process improvement. These practices create changes in existing software engineering endeavors, the results of which are used to validate and tune the specific theories. This in turn provides feedback to the general theories. The value of Essence comes by providing a structure for analyzing and organizing the context and factors of software engineering endeavors from different dimensions, namely: Stakeholders, Opportunity, Requirements, Software System, Work, Team and Way of Working. To demonstrate the viability of our proposed approach, this paper exemplifies TBSE on the Stakeholders’ dimension.

Publisher's Version Article Search
Alignment Practices Affect Distances in Software Development: A Theory and a Model
Elizabeth Bjarnason, Kari Smolander, Emelie Engström, and Per Runeson
(Lund University, Sweden; Lappeenranta University of Technology, Finland)
Coordinating a software project across distances is challenging. Even without geographical and time zone distances, other distances within a project can cause communication gaps. For example, organisational and cognitive distances between product owners and development-near roles such as developers and testers can lead to weak alignment of the software and the business requirements. Applying good software development practices, known to enhance alignment, can alleviate these challenges. We present a theoretical model called the Gap Model of how alignment practices affect different types of distances. This model has been inductively generated from empirical data. We also present an initial version of a theory based on this model that explains, at a general level, how practices affect communication within a project by impacting distances between people, activities and artefacts. The presented results provide a basis for further research and can be used by software organisations to improve on software practice.

Publisher's Version Article Search
Extending Essence Kernel to Enact Practices at the Level of Software Modules
Alper Tolga Kocatas and Cengiz Erbas
(Aselsan, Turkey)
The Essence kernel provides a generic infrastructure that allows enacting different development methods which are specified as sets of practices. The practices in Essence kernel, however, are applied to the project as a whole. On the other hand, different parts of a project may require different methods indicating a need for more discipline for certain modules, whereas requiring more agility for others. In Essence kernel, it is not straightforward to assign different sets of practices to different modules of the same project. In this article, we first discuss one way of extending the kernel to support development of software using modules. We then propose another extension which can also fulfill the need to use different practices for each software module as well.

Publisher's Version Article Search
Extending a General Theory of Software to Engineering
Robert Lagerström and Mathias Ekstedt
(KTH, Sweden)
In this paper, we briefly describe a general theory of software used in order to model and predict the current and future quality of software systems and their environment. The general theory is described using a class model containing classes such as application component, business service, and infrastructure function as well as attributes such as modifiability, cost, and availability. We also elaborate how this general theory of software can be extended into a general theory of software engineering by adding engineering activities, roles, and requirements.

Publisher's Version Article Search

proc time: 0.03