Write an extension in C
In this section, you will write, build and package the Crosswalk extension. The extension itself is written in C and built using make
. For packaging, you'll use the Tizen IVI gbs
tool, which can build an rpm file for a make-enabled project (rpm is the packaging format used by Tizen IVI).
Although you are creating the extension and the application alongside each other in this tutorial, they are actually two separate pieces: one extension can be used to support multiple applications if desired.
The extension consists of three parts:
A JavaScript file. This defines the API which web applications can invoke.
A C header file containing a "stringified" version of the JavaScript file. This is used to define the JavaScript API for the extension inside the C program. This file is generated at build-time, before the C library is compiled.
The C file which implements the native side of the extension.
You also need some supporting files to build and package the extension.
Before starting, make sure you have already followed the steps in Host and target setup.
Create project files and directories
The first step is to set up the basic project directories and include the Crosswalk headers (for compiling the code).
Put the extension in an echo-extension
directory with these commands:
> mkdir echo-extension
> cd echo-extension
# directory for the Crosswalk extension source
> mkdir extension
# directory for the packaging specification file
> mkdir packaging
# directory for Crosswalk headers
> mkdir common
# initialise the directory as a git repository (see below)
> git init .
Because you'll be using gbs to build the rpm file for your extension, you need to make your project into a git repository (gbs won't work on plain directories).
Include Crosswalk headers
You will need a copy of the Crosswalk headers, to compile your extension against:
Checkout the Crosswalk github repo on the host machine (the machine where you intend to compile your extension):
git clone https://github.com/crosswalk-project/crosswalk ~/crosswalk-source
Copy the Crosswalk headers for extensions into the
common
directory in your project:cp ~/crosswalk-source/src/xwalk/extensions/public/*.h echo-extension/common/
JavaScript bridge API to the C extension
This file wires the C interface to JavaScript and provides the bridge between the HTML5 application and the C code.
Note that it's not essential to maintain the JavaScript in a separate file: you can just add the JavaScript API inline to your C code. However, for purposes of maintainability, it makes sense to maintain the JavaScript API in its own file.
Add a file at extension/api.js
with this content:
var echoListener = null;
extension.setMessageListener(function(msg) {
if (echoListener instanceof Function) {
echoListener(msg);
};
});
exports.echoAsync = function (msg, callback) {
echoListener = callback;
extension.postMessage(msg);
};
exports.echoSync = function (msg) {
return extension.internal.sendSyncMessage(msg);
};
This JavaScript file is converted into a C header file at build-time; that header file is then referenced from the extension code. This is the simplest way to incorporate the JavaScript code into the C extension. See this section for details of how the conversion happens.
A note on the JavaScript API
Note that the asynchronous part of this API is not suitable for a real production environment.
At the moment, when you invoke the echoAsync()
method, you set a single global message listener: a function which waits for the next response to be returned by the C part of the extension. However, this approach would not work correctly if the processing which occurred in the extension took some time, and the echoAsync()
method were invoked during that processing time.
For example, consider the following program:
var callback1 = function (response) {
console.log(response + ' world');
};
var callback2 = function (response) {
console.log(response + ' cruel world');
};
// invocation 1
echo.echoAsync('hello', callback1);
// invocation 2
echo.echoAsync('goodbye', callback2);
When invocation 1 occurs, the message listener is set to callback1
. If the extension takes several seconds to respond, invocation 2 may have already happened before invocation 1 completes; and invocation 2 sets the message listener to callback2
(there is only one listener for all responses). Consequently, when invocation 1 does eventually return, its handler (callback1
) has been overwritten; so the responses for both invocation 1 and invocation 2 will be (incorrectly) handled by callback2
.
In practice, this means that you would see this on the console:
hello cruel world
goodbye cruel world
instead of the anticipated:
hello world
goodbye cruel world
The solution is to pass a token from the JavaScript API to the C code, then return that token as part of the response from the C code. The JavaScript API would maintain a mapping from tokens to callbacks, so when responses are returned (containing a token), the correct handler can be looked up and invoked. A typical way to implement this would be to JSON-encode messages between the JavaScript and C parts of the extension, and include a token in each message. However, this process is too complex for the scope of this tutorial.
If you're interested in seeing a real world example of how this would be implemented, the Crosswalk Tizen extensions are a good place to start, e.g. the application API JavaScript file.
C header file for the JavaScript API
The header file, extension/echo-extension.h
, is a generated file which looks like this:
static const char* kSource_echo_api = "var echoListener = null;"
""
"extension.setMessageListener(function(msg) {"
" if (echoListener instanceof Function) {"
" echoListener(msg);"
" };"
"});"
""
"exports.echoAsync = function (msg, callback) {"
" echoListener = callback;"
" extension.postMessage(msg);"
"};"
""
"exports.echoSync = function (msg) {"
" return extension.internal.sendSyncMessage(msg);"
"};"
;
By including this header file in a C file, you can access the kSource_echo_api
constant, which defines the JavaScript API for the extension.
Note that this mirrors the JavaScript file you created earlier, but is generated by a script (in the root directory of the project). Create a file called js2c.sh
in the root of the echo-extension project, with this content:
#!/bin/sh
INPUT=${1:-/dev/stdin}
[ "$INPUT" = "-" ] && INPUT="/dev/stdin"
OUTPUT=${2:-/dev/stdout}
[ "$OUT" = "-" ] && OUT="/dev/stdout"
if [ ! -r "$INPUT" ] ; then
echo "Usage: $(basename $0) [js api file] [output c header file]"
exit 1
fi
exec > $OUTPUT
echo "static const char* kSource_echo_api = "
tr -d '\r' < "$INPUT" | sed 's:["\\]:\\&:g;s:.*: "&\\n":'
echo ";"
You should make the script executable once you've created it with:
chmod +x js2c.sh
Invoke it like this:
./js2c.sh <.js file> <output .h file>
While the script can be invoked manually for testing, the aim is to incorporate it into an automated build later.
C program code
This implements the Crosswalk extension API and has access to the full Tizen native API. For the purposes of this tutorial, the C code simply prefixes a message string with "You said: " and returns it.
Create a file extension/echo-extension.c
with this content:
// echo extension for Crosswalk Tizen
// adapted from
// https://github.com/crosswalk-project/crosswalk/blob/master/extensions/test/echo_extension.c
// Copyright (c) 2013 Intel Corporation. All rights reserved.
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "XW_Extension.h"
#include "XW_Extension_SyncMessage.h"
// load kSource_echo_api string to set JavaScript API;
// echo-extension.h is generated by the makefile at build time
#include "echo-extension.h"
static const char* echo_ext_response_prefix = "You said: ";
static XW_Extension g_extension = 0;
static const XW_CoreInterface* g_core = NULL;
static const XW_MessagingInterface* g_messaging = NULL;
static const XW_Internal_SyncMessagingInterface* g_sync_messaging = NULL;
static void instance_created(XW_Instance instance) {
printf("Instance %d created!\n", instance);
}
static void instance_destroyed(XW_Instance instance) {
printf("Instance %d destroyed!\n", instance);
}
// add a "You said: " prefix to message
static char* build_response(const char* message) {
int length = strlen(echo_ext_response_prefix) +
strlen(message);
char* response = malloc(length);
strcpy(response, echo_ext_response_prefix);
strcat(response, message);
return response;
}
static void handle_message(XW_Instance instance, const char* message) {
char* response = build_response(message);
g_messaging->PostMessage(instance, response);
free(response);
}
static void handle_sync_message(XW_Instance instance, const char* message) {
char* response = build_response(message);
g_sync_messaging->SetSyncReply(instance, response);
free(response);
}
static void shutdown(XW_Extension extension) {
printf("Shutdown\n");
}
// this is the only function which needs to be public
int32_t XW_Initialize(XW_Extension extension, XW_GetInterface get_interface) {
// set up the extension
g_extension = extension;
g_core = get_interface(XW_CORE_INTERFACE);
g_core->SetExtensionName(extension, "echo");
// kSource_echo_api comes from the echo-extension.h
// header file
g_core->SetJavaScriptAPI(extension, kSource_echo_api);
g_core->RegisterInstanceCallbacks(
extension, instance_created, instance_destroyed);
g_core->RegisterShutdownCallback(extension, shutdown);
g_messaging = get_interface(XW_MESSAGING_INTERFACE);
g_messaging->Register(extension, handle_message);
g_sync_messaging = get_interface(XW_INTERNAL_SYNC_MESSAGING_INTERFACE);
g_sync_messaging->Register(extension, handle_sync_message);
return XW_OK;
}
Some notes on the code:
The XW_Extension.h header is used to define the structures used by the extension system.
The only symbol that should be exported is the function:
int32_t XW_Initialize(XW_Extension extension, XW_GetInterface get_interface)
Its parameters are:
extension
: The identifier for this extension. This identifier will be used for the extensionget_interface
: A function with signatureconst void* XW_GetInterface(const char* interface_name)
used for accessing the interfaces provided for integrating native code with the Crosswalk runtime. For eachinterface_name
, it returns a pointer to a structure with functions that the extension can call.
This function should be implemented and exported in the shared object; and it should return
XW_OK
when the extension is correctly initialized.Be sure to use
extern "C"
when defining this function to avoid name mangling if using a C++ compiler (you're not in this tutorial).SetExtensionName()
sets the public name for the JavaScript API which will be available to your web application.SetJavaScriptAPI()
takes a JavaScript string to be presented as the API. The name you set withSetExtensionName()
should match the one you use in the JavaScript API string. In the case of this extension, the API string is loaded from a header file which is generated by the build.This example provides synchronous and asynchronous versions of the same handler. But an extension doesn't have to handle both synchronous and asynchronous messages: it can handle only one type if desired.
You should use asynchronous messaging where the processing performed by the C extension is likely to take some time (i.e. more than a few milliseconds; usually, this means anything involving disk or network access). Where the C code will return quickly (perhaps tens of milliseconds), synchronous messaging is safe enough.
However, in most cases, the safest approach is to provide an asynchronous API. The synchronous alternative is shown here for the sake of completeness.
Both the sync (
XW_Internal_SyncMessagingInterface->SetSyncReply()
) and async (XW_MessagingInterface->PostMessage()
) functions for returning a response "preserve their inputs", so you can free any pointers you pass to those functions once you've invoked them.
More details on the C interfaces
Core interface:
XW_CORE_INTERFACE
This interface is defined in the XW_Extension.h header file.
It is a
struct XW_CoreInterface
with the following fields:SetExtensionName()
sets name of the extension (identified byextension
) toname
. This is mandatory. It should only be called duringXW_Initialize()
.SetJavaScriptAPI()
exports the JavaScript shim that will be available to all page contexts. The JavaScript codeapi
will be associated withextension
. It should only be called duringXW_Initialize()
.RegisterInstanceCallbacks()
informs the Crosswalk runtime of functions that should be called when new instances of the extension are created or destroyed. Instances have the same lifetime of the web content. This should only be called duringXW_Initialize()
RegisterShutdownCallback()
registers a callback that will be called when the extension is unloaded. This function should only be called duringXW_Initialize()
.SetInstanceData()
andGetInstanceData()
are convenience functions that allow for arbitrary data to be associated with each instance, and for that data to be retrieved. These functions may be called at any time during the lifecycle of an instance.
Messaging interface:
XW_MESSAGING_INTERFACE
This interface is defined in the XW_Extension.h header file.
It is a
struct XW_MessagingInterface
with the following fields:Register()
: when called, this function tells Crosswalk which function should be called in event of a message from the JavaScript side.PostMessage()
sends a message to the web content associated with theinstance
.
Sync messaging interface (experimental):
XW_INTERNAL_SYNC_MESSAGING_INTERFACE
This interface is defined in the XW_Extension_SyncMessage.h header file. It is marked as internal, and no guarantee will be made for its compatibility with future Crosswalk versions.
It is a
struct XW_Internal_SyncMessagingInterface
with the following fields:Register()
: this function tells Crosswalk which function should be called in event of a synchronous message from the JavaScript side.SetSyncReply()
responds to a synchronous (blocking) message from the JavaScript side. The renderer process will be blocked until this function is called.rc/xwalk/extensions/public/*.h
The interface names and structures described above have a versioning suffix in their names. However, extension writers should use the unversioned macros to get the desired interfaces.
Add build infrastructure
The build infrastructure enables generating an installable rpm package for your extension. This .rpm
file can then be installed to the Tizen IVI target using the rpm
package manager tool.
The files you need to add are:
A
Makefile
. This is used to build the C program and output a shared library filelibecho.so
.Note that the name is very important: it should begin with a "lib" prefix. Crosswalk will not load the extension correctly if it is called anything else.
An rpm spec file,
packaging/echo-extension.spec
. This file defines how the extension should be packaged and installed on the Tizen system.
Makefile
You can use a Makefile
to invoke the compiler and generate the header file for the JavaScript API. In the project directory, add a file called Makefile
with this content:
ECHO_CFLAGS=$(CFLAGS) -fPIC -Wall
all: libecho.so
echo-extension.h:
./js2c.sh extension/api.js extension/echo-extension.h
libecho.so: prepare echo-extension.h
$(CC) $(ECHO_CFLAGS) -shared -o build/libecho.so \
$(SYSROOT_FLAGS) -Icommon extension/echo-extension.c
prepare:
mkdir -p build
install: libecho.so
install -D build/libecho.so \
$(DESTDIR)/$(PREFIX)/lib/tizen-extensions-crosswalk/libecho.so
clean:
rm -Rf build
.PHONY: all prepare clean
(As with all Makefiles, indent using tabs, rather than spaces.)
RPM spec file
Crosswalk Tizen extensions should be packaged as rpm files. The structure and content of this rpm file is defined in an rpm .spec
file. gbs
uses this spec file to compile the extension against the Tizen IVI librarires; then generates an rpm compatible with a Tizen IVI target.
Create the spec file in packaging/echo-extension.spec
, with this content:
Name: echo-extension
Version: 0.1
Release: 1
Summary: Example Crosswalk Tizen extension
Group: System/Libraries
License: BSD-3-Clause
URL: https://crosswalk-project.org/
Source0: %{name}-%{version}.tar.gz
Requires: crosswalk
%description
Example Crosswalk Tizen extension which echoes any messages sent to it.
%prep
%setup -q
%build
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot} PREFIX=%{_prefix}
%files
%{_prefix}/lib/tizen-extensions-crosswalk/libecho.so
Placing this file in the packaging/
directory is important, as this is where gbs
will expect to find a spec file for a project it's building.
The rpm spec file format is a complicated beast, and out of scope for this tutorial. If you want to learn more about it, see the RPM website.
You should also be aware of the Tizen packaging guidelines, which explain best practices for writing spec files for Tizen packages.
Run the build
Before running your build with gbs
, make sure all your changes are committed to the local git repository:
git add -A
git commit -m "Initial import"
To build the project using gbs
, do:
gbs -c ~/.gbs.conf build -A i586
Note that you're using the gbs configuration file in your home directory, so you're working with the correct Tizen IVI buildroot. It's also important that you set the architecture correctly with the -A
option: the Tizen IVI images provided from the download site have i586
architecture.
During the build, gbs
will download the appropriate Tizen IVI packages, then compile and package your extension. The output .rpm
files should end up in /home/ell/GBS-ROOT/local/repos/tizen3.0/i586/RPMS
(unless you changed the gbs root location).
Acknowledgements
Thanks to José Bollo for improvements to the js2c.sh
script via crosswalk-dev.


| 32 | |||
| 16 | |||
| 8 | |||
| 4 | |||
| 2 | |||
| 1 |
This is a demo for a binary clock I want to build.
The left (blue) column is either hour or year, the middle (green) column is either minute or month and the right (red) column is either second or day.
If it displays the date it'll flash in the top right corner and otherwise in the top left. By using the "0" it'll switch between date and time.
The "1" button enables a "human readable" output. It'll show each "column" as two digits, the tens digit will have a "yellow" dot in the top row center. The order and color will be the same as for the binary output.
Pressing "M" will change the time, going through the year, month, day, hour, minute and second column by column. Long pressing "M" or if no column has been changed just pressing "M" will skip the current column. After a digit is entered pressing "M" will actually go one pixel back. It'll discard the changes when the last column has been skipped.
The flashing column with the static pixel is the currently edited column. The time is edited bit by bit, by entering either a "0" for that bit or a "1". The static pixel is the bit actually edited. After each button press it'll progress to the next higher bit or the next column. If it is doing neither it means that the current time is invalid. If the last bit was edited and it was valid, it'll apply the changes.
Long pressing "0" or "1" will end editing the current time and either it discards the change ("0") or applies ("1") it.
If the background of a column flashes it means that this column is in the current condition invalid, and as long as this is happening, it won't allow applying the changes although discarding is still possible.


Upcoming Events
https://hacksocnotts.co.uk/events
28th to 29th November:
HackNotts 2020
Tickets at hacknotts.com
@
HackNotts | hacknotts.com


I have several Google Sheets doing several things on their own through Google Apps Script. I’ve started to make it a habit that each action is logged to a separate, isolated spreadsheet so I can pop in and look for error messages in one places rather than several.
This poses a small problem. I have to actually remember to open that sheet. Usually, something goes wrong, and then I remember to check the logs. I wanted to have something more up to date that I could glance at without too much effort.
You can get Google Sheet data as JSON which is handy in a number of contexts (here and here are two examples from my own work). It’s not as straightforward as tagging .json
on the end of the URL (though that would be sweet) but the process isn’t hard. To get the data, this post details how to publish your sheet and find the feed.
Once the dataset was live online and updating regularly, I needed to decide how to get it. I use GeekTool on my desktop so I decided to use a Python script and the Responses library to gather and process the feed.
I put this into a Geeklet on my desktop and voila!
Give it a try with your own sheet. You can run it in your terminal to get a printout of the last 5 entries of the sheet. The JSON output from Google is really weird, so it helps to put it into a prettifier to make it more readable before parsing keys.
What did I miss? What would you do differently?
—
Featured image, Logs, flickr photo by CIFOR shared under a Creative Commons (BY-NC-ND) license
Written on October 7th, 2017 by Brian Bennett Categorized in: Projects Technology
Leave a comment


| Air Strike
| Soldier
| Beggar's Bazooka + Gunboats + Reclaimed Metal
|
| Ali Baba's Wee Booties
| Demoman
| Gloves of Running Urgently + Mantreads
|
| Ambassador
| Spy
|
|
| Amputator
| Medic
| Scrap Metal + Vita-Saw
|
| Atomizer
| Scout
| Bonk! Atomic Punch + Reclaimed Metal + Sandman
|
| Axtinguisher
| Pyro
|
|
| Baby Face's Blaster
| Scout
| Reclaimed Metal + Shortstop + Shortstop
|
| Backburner
| Pyro
|
|
| Back Scatter
| Scout
| Crit-a-Cola + Reclaimed Metal + Shortstop
|
| Back Scratcher
| Pyro
| Axtinguisher + Scotsman's Skullcutter
|
| B.A.S.E. Jumper
| Demoman, Soldier
| Buff Banner + Reclaimed Metal + Sticky Jumper
|
| Bat Outta Hell
| Scout
|
|
| Battalion's Backup
| Soldier
| Buff Banner + Reclaimed Metal
|
| Bazaar Bargain
| Sniper
| Eyelander + Reclaimed Metal + Sydney Sleeper
|
| Beggar's Bazooka
| Soldier
| Direct Hit + Direct Hit + Direct Hit + Reclaimed Metal
|
| Big Earner
| Spy
| Conniver's Kunai + L'Etranger + Reclaimed Metal
|
| Black Box
| Soldier
| Direct Hit + Reclaimed Metal
|
| Blutsauger
| Medic
|
|
| Bonk! Atomic Punch
| Scout
|
|
| Bonk Helm
| Scout
| Batter's Helm + Bonk! Atomic Punch + Bonk! Atomic Punch
|
| Bootlegger
| Demoman
|
|
| Boston Basher
| Scout
| Sandman + Tribalman's Shiv
|
| Brass Beast
| Heavy
| Natascha + Reclaimed Metal
|
| Bread Box
| Crafting
| Headgear + Headgear + Headgear
|
| Buffalo Steak Sandvich
| Heavy
| Reclaimed Metal + Sandvich
|
| Buff Banner
| Soldier
|
|
| Bushwacka
| Sniper
| Eyelander + Reclaimed Metal
|
| Candy Cane
| Scout
| Kritzkrieg + Pain Train
|
| Chargin' Targe
| Demoman
|
|
| Claidheamh Mòr
| Demoman
| Chargin' Targe + Homewrecker
|
| Classic
| Sniper
| Bazaar Bargain + Huntsman + Reclaimed Metal
|
| Class Token
| Crafting
| 3 Class Weapons
|
| Cleaner's Carbine
| Sniper
| Bushwacka + Bushwacka + Bushwacka + Reclaimed Metal
|
| Cloak and Dagger
| Spy
|
|
| Concheror
| Soldier
| Battalion's Backup + Scrap Metal
|
| Conniver's Kunai
| Spy
| Scrap Metal + Your Eternal Reward
|
| Conscientious Objector
| Demoman, Heavy, Medic, Pyro, Scout, Soldier, Sniper
|
|
| Cow Mangler 5000
| Soldier
| Black Box + Reclaimed Metal
|
| Cozy Camper
| Sniper
| Jarate + Razorback + Reclaimed Metal
|
| Crit-a-Cola
| Scout
| Bonk! Atomic Punch + Kritzkrieg
|
| Crusader's Crossbow
| Medic
| Huntsman + Scrap Metal + Scrap Metal
|
| Dalokohs Bar
| Heavy
| Sandvich + Scrap Metal
|
| Darwin's Danger Shield
| Sniper
| Razorback + Reclaimed Metal
|
| Dead Ringer
| Spy
|
|
| Degreaser
| Pyro
| Backburner + Reclaimed Metal
|
| Detonator
| Pyro
| Flare Gun + Reclaimed Metal + Reclaimed Metal
|
| Diamondback
| Spy
| Dead Ringer + Frontier Justice + Reclaimed Metal
|
| Direct Hit
| Soldier
|
|
| Disciplinary Action
| Soldier
| Pain Train + Reclaimed Metal + Reclaimed Metal
|
| Dragon's Fury
| Pyro
|
|
| Enforcer
| Spy
| L'Etranger + Reclaimed Metal + Scrap Metal
|
| Equalizer
| Soldier
|
|
| Escape Plan
| Soldier
| Disciplinary Action + Scrap Metal
|
| Eureka Effect
| Engineer
| Jag + Jag + Reclaimed Metal
|
| Eviction Notice
| Heavy
| Fists of Steel + Reclaimed Metal + Reclaimed Metal
|
| Eyelander
| Demoman
|
|
| Family Business
| Heavy
| Frontier Justice + Homewrecker + Reclaimed Metal
|
| Fan O'War
| Scout
| Mad Milk + Scrap Metal
|
| Fishcake
| Heavy
| "Fish" + Moustachium Bar + Moustachium Bar + Moustachium Bar
|
| Fists of Steel
| Heavy
| Killing Gloves of Boxing + Reclaimed Metal
|
| Flare Gun
| Pyro
|
|
| Freedom Staff
| Demoman, Heavy, Medic, Pyro, Scout, Soldier, Sniper
|
|
| Flying Guillotine
| Scout
| Mad Milk + Mad Milk + Mad Milk + Reclaimed Metal
|
| Force-A-Nature
| Scout
|
|
| Fortified Compound
| Sniper
|
|
| Frontier Justice
| Engineer
|
|
| Gas Passer
| Pyro
|
|
| Giftapult
| Trading
| Scrap + Scrap + Weapon
|
| Gloves of Running Urgently
| Heavy
| Killing Gloves of Boxing + Scrap Metal + Scrap Metal
|
| Gunboats
| Soldier
| Chargin' Targe + Razorback
|
| Gunslinger
| Engineer
|
|
| Half-Zatoichi
| Demoman, Soldier
| Eyelander + Eyelander + Reclaimed Metal
|
| Ham Shank
| Demoman, Heavy, Medic, Pyro, Scout, Soldier, Sniper
|
|
| Haunted Headgear
| Demoman, Engineer, Heavy, Medic, Pyro, Scout, Soldier, Sniper, Spy
| Haunted Metal Scrap + Refined Metal + Refined Metal + Refined Metal + Refined Metal
|
| Headgear
| Random Class
|
- Headgear + Headgear + Headgear
- Refined Metal + Refined Metal + Refined Metal
|
| Hitman's Heatmaker
| Sniper
| Bazaar Bargain + Machina + Reclaimed Metal
|
| Holiday Punch
| Heavy
| Gloves of Running Urgently + Holy Mackeral + Reclaimed Metal
|
| Holy Mackerel
| Scout
| Reclaimed Metal + Sandman
|
| Homewrecker
| Pyro
| Equalizer + Scrap Metal
|
| Horseless Headless Horsemann's Headtaker
| Demoman
| Haunted Metal Scrap + Refined Metal + Refined Metal + Scotsman's Skullcutter
|
| Huntsman
| Sniper
|
|
| Huo-Long Heater
| Heavy
| Family Business + Family Business + Family Business + Reclaimed Metal
|
| Iron Bomber
| Demoman
| Air Strike + Reclaimed Metal + Reclaimed Metal
|
| Jag
| Engineer
| Scrap Metal + Southern Hospitality
|
| Jarate
| Sniper
|
|
| Killing Gloves of Boxing
| Heavy
|
|
| Kritzkrieg
| Medic
|
|
| L'Etranger
| Spy
| Dead Ringer + Reclaimed Metal
|
| Liberty Launcher
| Soldier
| Black Box + Reclaimed Metal + Reclaimed Metal
|
| Loch-n-Load
| Demoman
| Reclaimed Metal + Scottish Resistance
|
| Lollichop
| Pyro
|
|
| Loose Cannon
| Demoman
| Loch-n-Load + Loch-n-Load + Loch-n-Load + Reclaimed Metal
|
| Machina
| Sniper
| Reclaimed Metal + Righteous Bison + Sydney Sleeper
|
| Mad Milk
| Scout
| Jarate + Reclaimed Metal
|
| Manmelter
| Pyro
| Detonator + Reclaimed Metal
|
| Mantreads
| Soldier
| Gunboats + Refined Metal
|
| Market Gardener
| Soldier
| Gunboats + Pain Train + Reclaimed Metal
|
| Maul
| Pyro
|
|
| Nostromo Napalmer
| Pyro
|
|
| Natascha
| Heavy
|
|
| Neon Annihilator
| Pyro
| Reclaimed Metal + Third Degree + Third Degree
|
| Nessie's Nine Iron
| Demoman
|
|
| Original
| Soldier
| Reclaimed Metal + Scrap Metal + Scrap Metal
|
| Overdose
| Medic
| Crusader's Crossbow + Gloves of Running Urgently + Reclaimed Metal
|
| Pain Train
| Demoman, Soldier
| Sandman + Scrap Metal
|
| Panic Attack
| Engineer, Heavy, Pyro, Soldier
| Back Scatter + Reclaimed Metal + Reclaimed Metal
|
| Persian Persuader
| Demoman
| Half-Zatoichi + Half-Zatoichi + Scrap Metal
|
| Phlogistinator
| Pyro
| Backburner + Reclaimed Metal + Soda Popper
|
| Pile of Ash
| Crafting
| Mysterious Treasure + Mysterious Treasure + Mysterious Treasure + Mysterious Treasure
|
| Pile of Curses
| Random Class
| 7x (Voodoo-Cursed Nail or Voodoo-Cursed Novelty Bass or Voodoo-Cursed Old Boot or Voodoo Cursed Robot Arm or Voodoo-Cursed Skeleton or Voodoo-Cursed Sticky-Bomb)
|
| Pomson 6000
| Engineer
| Reclaimed Metal + Righteous Bison + Short Circuit
|
| Postal Pummeler
| Pyro
|
|
| Powerjack
| Pyro
| Axtinguisher + Reclaimed Metal
|
| Power Up Canteen
| Demoman, Engineer, Heavy, Medic, Pyro, Scout, Soldier, Sniper, Spy
| Scrap Metal + Scrap Metal + Scrap Metal + Scrap Metal
|
| Pretty Boy's Pocket Pistol
| Scout
| Mad Milk + Reclaimed Metal + Winger
|
| Quick-Fix
| Medic
| Kritzkrieg + Mad Milk + Reclaimed Metal
|
| Quickiebomb Launcher
| Demoman
| Reclaimed Metal + Reclaimed Metal + Tide Turner
|
| Rainblower
| Pyro
|
|
| Razorback
| Sniper
|
|
| Reclaimed Metal
| Crafting
|
- Refined Metal = Reclaimed Metal x3
- Scrap Metal + Scrap Metal + Scrap Metal
- Token + Token + Token
|
| Red-Tape Recorder
| Spy
| Reclaimed Metal + Spy-cicle + Spy-cicle + Spy-cicle
|
| Refined Metal
| Crafting
| Reclaimed Metal + Reclaimed Metal + Reclaimed Metal
|
| Rescue Ranger
| Engineer
| Eureka Effect + Eureka Effect + Eureka Effect + Reclaimed Metal
|
| Reserve Shooter
| Pyro, Soldier
| Frontier Justice + Reclaimed Metal + Reclaimed Metal
|
| Righteous Bison
| Soldier
| Battalion's Backup + Reclaimed Metal
|
| Rocket Jumper
| Soldier
| Mantreads + Mantreads + Mantreads + Reclaimed Metal
|
| Sandman
| Scout
|
|
| Sandvich
| Heavy
|
|
| Saxton Hale Halloween Mask
| Demoman, Engineer, Heavy, Medic, Pyro, Scout, Soldier, Sniper, Spy
| Demoman Mask + Engineer Mask + Heavy Mask + Medic Mask + Pyro Mask + Scout Mask + Sniper Mask + Soldier Mask + Spy Mask
|
| Scorch Shot
| Pyro
| Degreaser + Flare Gun + Reclaimed Metal
|
| Scotsman's Skullcutter
| Demoman
| Axtinguisher + Jarate
|
| Scottish Handshake
| Demoman
|
|
| Scottish Resistance
| Demoman
|
|
| Scrap Metal
| Crafting
|
- 2 Weapons of 1 Class
- Reclaimed Metal = Scrap Metal x3
|
| Second Banana
| Heavy
|
|
| Shahanshah
| Sniper
| Amputator + Bushwacka + Reclaimed Metal
|
| Sharp Dresser
| Spy
|
|
| Sharpened Volcano Fragment
| Pyro
| Axtinguisher + Reclaimed Metal + Reclaimed Metal
|
| Short Circuit
| Engineer
| Gunslinger + Reclaimed Metal + Scrap Metal
|
| Shortstop
| Scout
| Force-a-Nature + Reclaimed Metal
|
| Slot Token
| Crafting
| 3 Weapons of 1 Slot
|
| Soda Popper
| Scout
| Bonk! Atomic Punch + Force-a-Nature + Reclaimed Metal
|
| Solemn Vow
| Medic
| Jarate + Jarate + Jarate + Jarate + Jarate + Jarate + Jarate + Jarate + Reclaimed Metal
|
| Southern Hospitality
| Engineer
| Ambassador + Scrap Metal
|
| SpaceChem Pin
| Demoman, Engineer, Heavy, Medic, Pyro, Scout, Soldier, Sniper, Spy
| Moustachium Bar + Moustachium Bar + Moustachium Bar + Spacemetal Scrap
|
| Splendid Screen
| Demoman
| Chargin' Targe + Reclaimed Metal + Reclaimed Metal
|
| Spy-cicle
| Spy
| Reclaimed Metal + Your Eternal Reward
|
| Sticky Jumper
| Demoman
| Reclaimed Metal + Ullapool Caber + Ullapool Caber + Ullapool Caber
|
| Sun-on-a-Stick
| Scout
| Boston Basher + Reclaimed Metal + Reclaimed Metal
|
| Sydney Sleeper
| Sniper
| Huntsman + Reclaimed Metal
|
| Thermal Thruster
| Pyro
|
|
| Third Degree
| Pyro
| Axtinguisher + Powerjack + Reclaimed Metal
|
| Three-Rune Blade
| Scout
|
|
| Tide Turner
| Demoman
| Ali Baba's Wee Booties + Chargin' Targe + Reclaimed Metal
|
| Tomislav
| Heavy
| Brass Beast + Reclaimed Metal + Reclaimed Metal
|
| Tribalman's Shiv
| Sniper
| Dead Ringer + Huntsman
|
| Ubersaw
| Medic
|
|
| Ullapool Caber
| Demoman
| Pain Train + Scrap Metal + Scrap Metal
|
| Unarmed Combat
| Scout
|
|
| Vaccinator
| Medic
| Quick-Fix + Quick-Fix + Quick-Fix + Reclaimed Metal
|
| Vita-Saw
| Medic
| Scrap Metal + Scrap Metal + Ubersaw
|
| Wanga Prick
| Spy
|
|
| Warrior's Spirit
| Heavy
| Gloves of Running Urgently + Scrap Metal
|
| Widowmaker
| Engineer
| L'Etranger + Reclaimed Metal + Reclaimed Metal
|
| Winger
| Scout
| Reclaimed Metal + Shortstop
|
| Wrangler
| Engineer
|
|
| Wrap Assassin
| Scout
| Reclaimed Metal + Southern Hospitality
|
| Your Eternal Reward
| Spy
| Cloak and Dagger + Reclaimed Metal
|


{{quote.quoteDescription}}
Submitted By: {{quote.submitterName}}
Authored by: {{quote.authorName}}
Submitted past {{quote.dateSubmitted|dateTransform}} days.


Home
Do you have the unusual chionophobia, grandophobia, or fear of sleet?!
Quiz
Chionophobia
Fear of sleet
Grandophobia


Search page
Search the data with this outstandingly good user interface!
Visualization
Search page
Download graph
Infection Game
Search!
Date
{#
Inreval start date < Date < end date will be used.
#}
Database to use
Wikicfp
ACM
Both
Visualization not available for 'Both' option
Tags to use
All tags should be included
Any tag may be included
Use this if you filter by tags.
Filter
Tags
Source
Title
{% if conf_objects %}
The results is...
{% if data_source != 'all' %}
Draw the results
(We don't recommend to visualize more than 1000 nodes)
{% endif %}
#
Title
Source
Tags
Start date
End date
{% for conf in conf_objects %}
{{ forloop.counter0 }}
{{ conf.title }}
{{ conf.url }}
{{ conf.key_words|join:", " }}
{{ conf.start_date }}
{{ conf.end_date }}
{% endfor %}
{% endif %}


404 not found
I have a bad news for you
The page you are looking for might be removed or is temporarily unavailable
Back to homepage


At the heart of Trionfo, you have decision support technology – and, more importantly, a decision support philosophy.
The strength of mind or sheer will that pushes past the noise and confusion, and drives a decision. The force that brings an end to ambiguity through successful resolution…through a decision well-made.
LEARN MORERamesh Sippy
Founder at Triangle
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that content of a page when looking at its layout. The point
Andy Rose
CEO and Founder at Novs
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using
Ramesh Sippy
Founder at Triangle
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that content of a page when looking at its layout. The point


Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Contrary to popular belief, Lorem Ipsum is not simply random text.
In eu eros eu quam pellentesque venenatis. Vestibulum et ligula mi. In aliquet ligula eu molestie convallis. Phasellus finibus nunc eu felis varius, vitae sollicitudin urna dapibus.


Controls the Content View displayed in the Left side of the T:MacInspector.MainSplitViewController.
More...
Controls the Content View displayed in the Left side of the T:MacInspector.MainSplitViewController.
This class uses key-value coding and data binding to set the properties. Please see: https://developer.xamarin.com/guides/mac/application_fundamentals/databinding/
| MacInspector.ContentViewController.ContentViewController |
( |
IntPtr |
handle | ) |
|
Initializes a new instance of the T:MacInspector.ContentViewController class.
- Parameters
-
| void MacInspector.ContentViewController.ReleaseDesignerOutlets |
( |
| ) |
|
|
private |
| override void MacInspector.ContentViewController.ViewWillAppear |
( |
| ) |
|
Called before the View is presented to the user
- Returns
- The will appear.
| AppKit.NSBox MacInspector.ContentViewController.BackgroundBox |
|
getsetprivate |
Gets or sets the split view controller.
The T:MacInspector.MainSplitViewController.
The documentation for this class was generated from the following files:


{{ "" | safeHTML }} {{ with .Site.Params.eventbrite.title }}{{ . | markdownify }}{{ end }} Our event is now free and will be hosted using Zoom chat. The zoom event will be open to all attendees at 8:30am on Saturday, March 28th. Please feel free to share the bit.ly short link bit.ly/DC-satRdays-2020
Our event is now free and will be hosted using Zoom chat.
The zoom event will be open to all attendees at 8:30am on Saturday, March 28th.
Please feel free to share the bit.ly short link bit.ly/DC-satRdays-2020


--- layout: post permalink: deluxechecks.html Tags: Array NameOfCoupon: Deluxe Checks Cash Back Summary: See our Deluxe Checks Coupon Code, Deluxe Checks Rebate, Deluxe Checks Promo Code, Deluxe Checks Discount, Deluxe Checks Coupon Cash Back Rebate here. MetaKeywords: Deluxe Checks Coupon Code, Deluxe Checks Rebate, Deluxe Checks Promo Code, Deluxe Checks Cash Back Rebate, Deluxe Checks Discount, Deluxe Checks Coupon Image: images/22559.jpg LinkURL: http://www.shareasale.com/r.cfm?b=177925&u=412002&m=22559 affiliate_url_link: http://www.icouponblog.com/jane.php?id=591 thesis_readmore: See the Deluxe Checks Coupon thesis_thumb: http://www.icouponblog.com/tn.php?merchantURL=deluxe.com/shop Title: Save 10% - Deluxe Checks Coupon Code for deluxe.com/shop. Deluxe Checks Rebate & Discount thesis_description: Our Deluxe Checks Discount Coupon Code for deluxe.com/shop. We have the best Deluxe Checks Rebate anywhere. thesis_keywords: Deluxe Checks, Deluxe Checks Coupon Code, Deluxe Checks Discount, Deluxe Checks Rebate product_name: Deluxe Checks hop_url: http://www.icouponblog.com/hop.php?id=591 ---
If you have a small business and want to attract more customers, increase profits and maximize your online presence, you should check out www.deluxe.com. They have tools and products that will do your business good. Visit www.deluxe.com and see what wonderful products there are to enhance your presence online and improve profitability. Let the experts help your business. Check it out now and use our discount coupons to save money.
If you have a business big or small and are looking for ways to grow, visit www.deluxe.com they have great innovative services and products from personalized, creative checkbooks to fraud detection and security. You can also get design services, direct marketing, website services, promotional services and lots more. All these exceptional services are available at very competitive and affordable prices. Check it out on www.deluxe.com and see how your business can profit and prosper.
Increase your profits, increase traffic to your website, www.deluxe.com will show you how. Visit the user friendly website and see how you and your business can maximize your online presence and profitability. There are many services and tools available that will help your company, big or small to attract positive attention, get valuable customers and sales. Go laughing all the way to the bank and they even have the best checkbooks you could order from www.deluxe.com. Check it out!


Password of the PFX file.
Please be noted that password of the PFX file should be same as the private key password due to restrictions of Java security library.


One solution is to deny acces to anything that is not "GET" or "POST" with a <LimitExcept />:
AuthUserFile .htpasswd
AuthName "Protected Area"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
<LimitExcept GET POST>
Order Allow,Deny
Deny from all
</LimitExcept>
Possible solution in Apache Module mod_allowmethods
<Location />
AllowMethods GET POST OPTIONS
</Location>


ElasticNet is hybrid of Lasso and Ridge Regression techniques. It is trained with L1 and L2 prior as regularizer. Elastic-net is useful when there are multiple features which are correlated. Lasso is likely to pick one of these at random, while elastic-net is likely to pick both.
A practical advantage of trading-off between Lasso and Ridge is that, it allows Elastic-Net to inherit some of Ridge’s stability under rotation.


https://docs.python.org/3/library/index.html
There are three basic sequence types: lists, tuples, and range objects.
Binary sequence types: bytes, bytearray, memoryview.
There are operations supported by most sequence types, both mutable and immutable.
+-----------+-----------------+----------------------+ | Name | Type | Properties | +-----------+-----------------+----------------------+ | numbers | Numeric | immutable, hashable | | range | Number Sequence | immutable, hashable | | strings | Text Sequence | immutable, hashable | | bytes | Binary Sequence | immutable, hashable | | bytearray | Binary Sequence | mutable | | list | Sequence | mutable | | tuple | Sequence | immutable, hashable | | dict | Mapping | mutable | | file | Extension | iterable (txt) | | set | Set | mutable | | frozenset | Set | immutable, hashable | +-----------+-----------------+----------------------+
# isinstance(obj, class_or_tuple) return bool isinstance(x, (int, float)) isinstance(D, dict) isinstance(L, (list, tuple)) isinstance(S, (set, frozenset)) help(type_name)
# type(object) returns the object's type # type(name, bases, dict) returns a new type type(1) # <class 'int'> assert type(1) == int type(1.2) # <class 'float'> assert type(1.2) == float type([]) # <class 'list'> type({}) # <class 'dict'>


Gjenvick-Gjønvik Archives (gjenvick.com) Privacy Policy
This privacy policy has been compiled to better serve those who are concerned with how their 'Personally Identifiable Information' (PII) is being used online. PII, as described in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context.
Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
- What personal information do we collect from the people that visit our blog, website or app?
- We do not collect information personal information from visitors of our site or other details to help you with your experience.
- When do we collect information?
- We collect information from you when you or enter information on our site or send us an email.
- How do we use your information?
- We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
- How do we protect your information?
- We do not use vulnerability scanning and/or scanning to PCI standards.
- We only provide articles and information. We never ask for credit card numbers.
- We use regular Malware Scanning.
- Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
- We implement a variety of security measures when a user enters, submits, or accesses their information to maintain the safety of your personal information.
- All transactions are processed through a gateway provider and are not stored or processed on our servers.
- Do we use 'cookies'?
- Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow) that enables the site's or service provider's systems to recognize your browser and capture and remember certain information. For instance, we use cookies to help us remember and process the items in your shopping cart. They are also used to help us understand your preferences based on previous or current site activity, which enables us to provide you with improved services. We also use cookies to help us compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future.
We use cookies to:
Compile aggregate data about site traffic and site interactions in order to offer better site experiences and tools in the future. We may also use trusted third-party services that track this information on our behalf.
You can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser settings. Since browser is a little different, look at your browser's Help Menu to learn the correct way to modify your cookies.
If you turn cookies off, It won't affect the user's experience.
- Third-party disclosure
- We do not sell, trade, or otherwise transfer to outside parties your Personally Identifiable Information.
- Third-party links
- Occasionally, at our discretion, we may include or offer third-party products or services on our website. These third-party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.
Google's advertising requirements can be summed up by Google's Advertising Principles. They are put in place to provide a positive experience for users. https://support.google.com/adwordspolicy/answer/1316548?hl=en
We use Google AdSense Advertising on our website.
Google, as a third-party vendor, uses cookies to serve ads on our site. Google's use of the DART cookie enables it to serve ads to our users based on previous visits to our site and other sites on the Internet. Users may opt-out of the use of the DART cookie by visiting the Google Ad and Content Network privacy policy.
We have implemented the following:
- Remarketing with Google AdSense
- Google Display Network Impression Reporting
- Demographics and Interests Reporting
We, along with third-party vendors such as Google use first-party cookies (such as the Google Analytics cookies) and third-party cookies (such as the DoubleClick cookie) or other third-party identifiers together to compile data regarding user interactions with ad impressions and other ad service functions as they relate to our website.
Opting out:
Users can set preferences for how Google advertises to you using the Google Ad Settings page. Alternatively, you can opt out by visiting the Network Advertising Initiative Opt Out page or by using the Google Analytics Opt Out Browser add on.
California Online Privacy Protection Act
CalOPPA is the first state law in the nation to require commercial websites and online services to post a privacy policy. The law's reach stretches well beyond California to require any person or company in the United States (and conceivably the world) that operates websites collecting Personally Identifiable Information from California consumers to post a conspicuous privacy policy on its website stating exactly the information being collected and those individuals or companies with whom it is being shared. - See more at:
http://consumercal.org/california-online-privacy-protection-act-caloppa/#sthash.0FdRbT51.dpuf
According to CalOPPA, we agree to the following:
- Users can visit our site anonymously.
- Once this privacy policy is created, we will add a link to it on our home page or as a minimum, on the first significant page after entering our website.
- Our Privacy Policy link includes the word 'Privacy' and can easily be found on the page specified above.
- You will be notified of any Privacy Policy changes: On our Privacy Policy Page
- Can change your personal information: By emailing us
How does our site handle Do Not Track signals?
We honor Do Not Track signals and Do Not Track, plant cookies, or use advertising when a Do Not Track (DNT) browser mechanism is in place.
Third Party Tracking
Does our site allow third-party behavioral tracking?
It's also important to note that we allow third-party behavioral tracking. Analytical programs including Clicky.com and
COPPA (Children Online Privacy Protection Act)
When it comes to the collection of personal information from children under the age of 13 years old, the Children's Online Privacy Protection Act (COPPA) puts parents in control. The Federal Trade Commission, United States' consumer protection agency, enforces the COPPA Rule, which spells out what operators of websites and online services must do to protect children's privacy and safety online.
We do not specifically market to children under the age of 13 years old.
FTC Fair Information Practices
The Fair Information Practices Principles form the backbone of privacy law in the United States and the concepts they include have played a significant role in the development of data protection laws around the globe. Understanding the Fair Information Practice Principles and how they should be implemented is critical to comply with the various privacy laws that protect personal information.
In order to be in line with Fair Information Practices we will take the following responsive action, should a data breach occur:
We will notify you via email Within 7 business days.
We also agree to the Individual Redress Principle which requires that individuals have the right to legally pursue enforceable rights against data collectors and processors who fail to adhere to the law. This principle requires not only that individuals have enforceable rights against data users, but also that individuals have recourse to courts or government agencies to investigate and/or prosecute non-compliance by data processors.
CAN SPAM Act
The CAN-SPAM Act is a law that sets the rules for commercial email, establishes requirements for commercial messages, gives recipients the right to have emails stopped from being sent to them, and spells out tough penalties for violations.
We collect your email address in order to:
Send information, respond to inquiries, and/or other requests or questions.
To be in accordance with CANSPAM, we agree to the following:
If at any time you would like to unsubscribe from receiving future emails, you can email us at and we will promptly remove you from ALL correspondence.
Contacting Us
If there are any questions regarding this privacy policy, you may contact us using the information below.
gjenvick.com
2158 Wilmington Circle NE
Marietta, GA 30062
United States
678-744-4952
Last Edited on 2018-12-28
GG Archives About Us & Admin
About Us & Admin (A-Z)
- About Us
- Awards
- Contact Us
- Contribute Images and Ephemera
- Downloads
- Educational Materials
- External Resources
- Genealogy Research
- Mailing List
- Membership Activities
- Mission Statement
- Press Kit
- Privacy Policy
- Purchase Images
- Commercial Fee for Images
- Sitemap
- Social Media Channels
- Terms of Use
- Using the GG Archives Effectively


Swe-SE-SCI scholars: Click on a header to sort by the corresponding column.
|
Scholar |
Affiliation |
#Publ. |
SCI ratio |
1st ratio |
SSS contrib. |
SSS rating |
Apparent research interests |
Signature SSS works |
|
Claes Wohlin |
Blekinge Institute of Technology |
175 |
0.39 |
0.31 |
25.06 |
62.84 |
empirical, project, success, factors, analysis, reliability, methods, journals, subjective, systematic |
2015: Towards a decision-making structure for selecting a research design in empirical software engineering. (Empirical Software Engineering)
2015: A general theory of software engineering: Balancing human, social and organizational capitals. (J. Syst. Softw.)
2013: Systematic literature reviews in software engineering. (Inf. Softw. Technol.)
2013: On the reliability of mapping studies in software engineering. (J. Syst. Softw.)
2011: Taking novelty to a new level. (Inf. Softw. Technol.)
2009: An analysis of the most cited articles in software engineering journals - 2002. (Inf. Softw. Technol.)
2008: An analysis of the most cited articles in software engineering journals - 2001. (Inf. Softw. Technol.)
2007: Most cited journal articles in software engineering. (Inf. Softw. Technol.)
2007: An analysis of the most cited articles in software engineering journals - 2000. (Inf. Softw. Technol.)
2005: Most cited journal articles in software engineering. (Inf. Softw. Technol.)
2005: An analysis of the most cited articles in software engineering journals - 1999. (Inf. Softw. Technol.)
2004: Are Individual Differences in Software Development Performance Possible to Capture Using a Quantitative Survey?. (Empirical Software Engineering)
2003: Prioritizing and Assessing Software Project Success Factors and Project Characteristics using Subjective Data. (Empirical Software Engineering)
2001: Assessing Project Success Using Subjective Evaluation Factors. (Software Quality Journal)
2000: Subjective evaluation as a tool for learning from software project success. (Inf. Softw. Technol.)
1999: Strategies for industrial relevance in software engineering education. (J. Syst. Softw.)
1995: Soft factors and their impact on time to market. (Software Quality Journal)
1995: An Experimental Evaluation of Capture-Recapture in Software Inspections. (Softw. Test. Verification Reliab.)
1994: Certification of Software Components. (IEEE Trans. Software Eng.)
|
|
Jan Bosch |
Chalmers / Gothenburg University |
329 |
0.13 |
0.31 |
12.56 |
53.03 |
product, architecture, lines, ecosystems, object, families, variability, development, component, design |
2018: Ecosystem traps and where to find them. (J. Softw. Evol. Process.)
2012: Software ecosystems: Taking software development beyond the boundaries of the organization. (J. Syst. Softw.)
2011: Introducing agile customer-centered development in a legacy software product line. (Softw. Pract. Exp.)
2010: From integration to composition: On the impact of software product lines, global development and ecosystems. (J. Syst. Softw.)
2003: Software architecture - Engineering quality attributes. (J. Syst. Softw.)
1999: Superimposition: a component adaptation technique. (Inf. Softw. Technol.)
|
|
Emilia Mendes |
Blekinge Institute of Technology |
176 |
0.17 |
0.4 |
12.56 |
37.01 |
web, effort, estimation, company, value, applications, cost, hypermedia, improve, development |
2019: Using Bayesian Network to Estimate the Value of Decisions within the Context of Value-Based Software Engineering: A Multiple Case Study. (International Journal of Software Engineering and Knowledge Engineering)
2018: Towards improving decision making and estimating the value of decisions in value-based software engineering: the VALUE framework. (Software Quality Journal)
2018: Correction to: Towards improving decision making and estimating the value of decisions in value-based software engineering: the VALUE framework. (Software Quality Journal)
2008: Replicating studies on cross- vs single-company effort models using the ISBSG Database. (Empirical Software Engineering)
2008: Cross-company vs. single-company web effort models using the Tukutuku database: An extended study. (J. Syst. Softw.)
2008: Bayesian Network Models for Web Effort Prediction: A Comparative Study. (IEEE Trans. Software Eng.)
2005: Investigating Web size metrics for early Web cost estimation. (J. Syst. Softw.)
2003: A Comparative Study of Cost Estimation Models for Web Hypermedia Applications. (Empirical Software Engineering)
1998: Reusability and maintainability in hypermedia applications for education. (Inf. Softw. Technol.)
|
|
Per Runeson |
Lund University |
142 |
0.29 |
0.21 |
8.71 |
36.54 |
testing, test, unit, academia, product, open, collaboration, detection, industry, inspection |
2014: Variation factors in the design and analysis of replicated controlled experiments - Three (dis)similar studies on inspections versus unit testing. (Empirical Software Engineering)
2009: Guidelines for conducting and reporting case study research in software engineering. (Empirical Software Engineering)
2003: Test processes in software product evolution - a qualitative survey on the state of practice. (J. Softw. Maintenance Res. Pract.)
1998: An Experimental Evaluation of an Experience-Based Capture-Recapture Method in Software Code Inspections. (Empirical Software Engineering)
|
|
Benoit Baudry |
KTH Royal Institute of Technology |
188 |
0.18 |
0.12 |
6.65 |
29.01 |
test, model, testability, design, genetic, optimization, testing, automatic, validation, analysis |
2005: Measuring design testability of a UML class diagram. (Inf. Softw. Technol.)
2005: From genetic to bacteriological algorithms for mutation-based testing. (Softw. Test. Verification Reliab.)
|
|
Tony Gorschek |
Blekinge Institute of Technology |
112 |
0.47 |
0.12 |
11.29 |
26.69 |
requirements, empirical, model, process, product, abstraction, development, management, transfer, practice |
2014: On the use of software design models in software development practice: An empirical investigation. (J. Syst. Softw.)
2012: Introduction of a process maturity model for market-driven product management and requirements engineering. (J. Softw. Maintenance Res. Pract.)
2008: Requirements engineering: In search of the dependent variables. (Inf. Softw. Technol.)
2007: A controlled empirical evaluation of a requirements abstraction model. (Inf. Softw. Technol.)
2006: Requirements Abstraction Model. (Requir. Eng.)
2004: Packaging software process improvement issues: a method and a case study. (Softw. Pract. Exp.)
|
|
Robert Feldt |
Chalmers / Gothenburg University |
119 |
0.29 |
0.14 |
5.24 |
25.43 |
test, search, programming, genetic, diverse, empirical, versions, diversity, generating, testing |
2010: Links between the personalities, views and attitudes of software engineers. (Inf. Softw. Technol.)
|
|
Björn Regnell |
Lund University |
89 |
0.34 |
0.18 |
6.29 |
23.34 |
requirements, quality, model, scenario, large, org, scale, mobile, domain, testing |
2001: An Industrial Case Study on Distributed Prioritisation in Market-Driven Requirements Engineering for Packaged Software. (Requir. Eng.)
2000: Are the Perspectives Really Different? - Further Experimentation on Scenario-Based Reading of Requirements. (Empirical Software Engineering)
2000: Towards integration of use case modelling and usage-based testing. (J. Syst. Softw.)
|
|
Krzysztof Wnuk |
Blekinge Institute of Technology |
92 |
0.22 |
0.3 |
7.22 |
22.21 |
requirements, decision, management, scoping, large, open, industrial, scale, innovation, development |
2016: Supporting Scope Tracking and Visualization for Very Large-Scale Requirements Engineering-Utilizing FSC+, Decision Patterns, and Atomic Decision Visualizations. (IEEE Trans. Software Eng.)
2015: Exploring factors affecting decision outcome and lead time in large-scale requirements engineering. (J. Softw. Evol. Process.)
2014: Bridges and barriers to hardware-dependent software ecosystem participation - A case study. (Inf. Softw. Technol.)
2013: Obsolete software requirements. (Inf. Softw. Technol.)
2012: Replication of an experiment on linguistic tool support for consolidation of requirements from multiple sources. (Empirical Software Engineering)
|
|
Miroslaw Staron |
Chalmers / Gothenburg University |
126 |
0.14 |
0.36 |
10.08 |
22.15 |
industrial, measurement, development, systems, large, projects, model, code, measures, method |
2018: Industrial experiences from evolving measurement systems into self-healing systems for improved availability. (Softw. Pract. Exp.)
2016: MeSRAM - A method for assessing robustness of measurement programs in large software development organizations and its industrial evaluation. (J. Syst. Softw.)
2012: Critical role of measures in decision processes: Managerial and technical measures in the context of large software development organizations. (Inf. Softw. Technol.)
2011: Developing measurement systems: an industrial case study. (J. Softw. Maintenance Res. Pract.)
2010: A method for forecasting defect backlog in large streamline software development projects and its industrial evaluation. (Inf. Softw. Technol.)
2009: A framework for developing measurement systems and its industrial evaluation. (Inf. Softw. Technol.)
2008: Predicting weekly defect inflow in large software projects based on project planning and test status. (Inf. Softw. Technol.)
2006: Empirical assessment of using stereotypes to improve comprehension of UML models: A set of experiments. (J. Syst. Softw.)
|
|
Michael Felderer |
Blekinge Institute of Technology |
166 |
0.1 |
0.31 |
7.6 |
21.44 |
testing, risk, security, test, industrial, defect, system, requirements, quality, systems |
2019: Comprehensibility of system models during test design: a controlled experiment comparing UML activity diagrams and state machines. (Software Quality Journal)
2016: Risk orientation in software testing processes of small and medium enterprises: an exploratory and comparative study. (Software Quality Journal)
2016: Model-based security testing: a taxonomy and systematic classification. (Softw. Test. Verification Reliab.)
2015: Manual test case derivation from UML activity diagrams and state machines: A controlled experiment. (Inf. Softw. Technol.)
2014: Integrating risk-based testing in industrial test processes. (Software Quality Journal)
|
|
Martin Monperrus |
KTH Royal Institute of Technology |
89 |
0.26 |
0.18 |
6.56 |
20.15 |
model, measurement, system, automatic, les, automated, repair, method, calls, missing |
2013: Automated measurement of models of requirements. (Software Quality Journal)
2013: Detecting missing method calls as violations of the majority rule. (ACM Trans. Softw. Eng. Methodol.)
2012: What should developers be aware of? An empirical study on the directives of API documentation. (Empirical Software Engineering)
2011: Model-driven generative development of measurement software. (Software and Systems Modeling)
|
|
Jürgen Börstler |
Blekinge Institute of Technology |
75 |
0.21 |
0.37 |
4.89 |
18.4 |
teaching, object, role, play, learning, concepts, programmieren, quality, projects, tools |
2016: Beauty and the Beast: on the readability of object-oriented example programs. (Software Quality Journal)
2016: The Role of Method Chains and Comments in Software Readability and Comprehension - An Experiment. (IEEE Trans. Software Eng.)
1995: Integrated software reuse: Management and techniques : Paul Walton and Neil Maiden (eds) Ashgate Publishing, Hants, UK (1993) 178 pp 49.50 hardcover ISBN 1 85742 146 9. (Inf. Softw. Technol.)
|
|
Martin Höst |
Lund University |
93 |
0.18 |
0.22 |
6.96 |
17.82 |
product, source, development, processes, project, commercial, management, open, students, systematic |
2011: A systematic review of research on open source software in commercial software product development. (Inf. Softw. Technol.)
2001: Exploring bottlenecks in market-driven requirements management processes with discrete event simulation. (J. Syst. Softw.)
2000: Using Students as Subjects-A Comparative Study of Students and Professionals in Lead-Time Impact Assessment. (Empirical Software Engineering)
2000: Evaluation of code review methods through interviews and experimentation. (J. Syst. Softw.)
1997: A subjective effort estimation experiment. (Inf. Softw. Technol.)
|
|
Mikael Svahnberg |
Blekinge Institute of Technology |
32 |
0.5 |
0.59 |
10.76 |
16.86 |
quality, architecture, product, method, requirements, attributes, architectures, lines, consensus, assessment |
2017: A model for assessing and re-assessing the value of software reuse. (J. Softw. Evol. Process.)
2015: Uni-REPM: a framework for requirements engineering process assessment. (Requir. Eng.)
2013: Uni-REPM: validated and improved. (Requir. Eng.)
2010: A systematic review on strategic release planning models. (Inf. Softw. Technol.)
2007: Six years of evaluating software architectures in student projects. (J. Syst. Softw.)
2005: An Investigation of a Method for Identifying a Software Architecture Candidate with Respect to Quality Attributes. (Empirical Software Engineering)
2005: A taxonomy of variability realization techniques. (Softw. Pract. Exp.)
2004: An industrial study on building consensus around software architectures and quality attributes. (Inf. Softw. Technol.)
2003: A Quality-Driven Decision-Support Method for Identifying Software Architecture Candidates. (International Journal of Software Engineering and Knowledge Engineering)
1999: Evolution in software product lines: two cases. (J. Softw. Maintenance Res. Pract.)
|
|
Ivica Crnkovic |
Chalmers / Gothenburg University |
144 |
0.09 |
0.28 |
5.31 |
16.75 |
component, systems, development, embedded, process, scm, components, challenges, predictability, management |
2011: A Classification Framework for Software Component Models. (IEEE Trans. Software Eng.)
2005: Automated Component-Based Software Engineering. (J. Syst. Softw.)
2002: Challenges of component-based development. (J. Syst. Softw.)
|
|
Daniel Méndez Fernández |
Blekinge Institute of Technology |
78 |
0.18 |
0.28 |
7.44 |
15.94 |
requirements, artefact, naming, pain, results, practice, artefacts, improvement, design, first |
2019: Empirical software engineering: From discipline to interdiscipline. (J. Syst. Softw.)
2019: Artefacts in software engineering: a fundamental positioning. (Software and Systems Modeling)
2017: Naming the pain in requirements engineering - Contemporary problems, causes, and effects in practice. (Empirical Software Engineering)
2015: Naming the pain in requirements engineering: A design for a global family of surveys and first results from Germany. (Inf. Softw. Technol.)
2015: Artefact-based requirements engineering: the AMDiRE approach. (Requir. Eng.)
2012: Field study on requirements engineering: Investigation of artefacts, project parameters, and execution strategies. (Inf. Softw. Technol.)
|
|
Darja Smite |
Blekinge Institute of Technology |
70 |
0.17 |
0.5 |
6.28 |
15.26 |
global, development, learned, offshoring, lessons, agile, teams, cost, distributed, project |
2017: Software teams and their knowledge networks in large-scale software development. (Inf. Softw. Technol.)
2014: An empirically based terminology and taxonomy for global software engineering. (Empirical Software Engineering)
2013: Offshore insourcing in software development: Structuring the decision-making process. (J. Syst. Softw.)
2012: Lessons learned from transferring software products to India. (J. Softw. Evol. Process.)
2010: Empirical evidence in global software engineering: a systematic review. (Empirical Software Engineering)
|
|
Eric Knauss |
Chalmers / Gothenburg University |
98 |
0.11 |
0.32 |
3.77 |
13.8 |
requirements, continuous, supporting, von, agile, quality, anforderungen, ecosystems, heuristic, clarification |
2018: Continuous clarification and emergent requirements flows in open-commercial software ecosystems. (Requir. Eng.)
2015: Patterns of continuous requirements clarification. (Requir. Eng.)
|
|
Efi Papatheocharous |
RISE Research Institutes of Sweden AB |
51 |
0.2 |
0.51 |
5.01 |
12.79 |
cost, estimation, decision, artificial, neural, networks, development, fuzzy, agile, systems |
2018: The GRADE taxonomy for supporting decision-making of asset selection in software-intensive system development. (Inf. Softw. Technol.)
2017: An investigation of effort distribution among development phases: A four-stage progressive software cost estimation model. (J. Softw. Evol. Process.)
2014: Empirical evidence and state of practice of software agile teams. (J. Softw. Evol. Process.)
2012: A Hybrid Software Cost Estimation Approach Utilizing Decision Trees and Fuzzy Logic. (International Journal of Software Engineering and Knowledge Engineering)
|
|
Patrizio Pelliccione |
Chalmers / Gothenburg University |
131 |
0.14 |
0.06 |
4.73 |
12.7 |
systems, cars, specifications, framework, architectural, ecosystems, evolution, automatic, chairs, designing |
2009: CHARMY: A Framework for Designing and Verifying Architectural Specifications. (IEEE Trans. Software Eng.)
2008: An architectural approach to the correct and automatic assembly of evolving component-based systems. (J. Syst. Softw.)
|
|
Markus Borg |
RISE Research Institutes of Sweden AB |
58 |
0.17 |
0.43 |
5.08 |
12.35 |
traceability, analysis, reports, impact, bug, tools, time, safety, issue, information |
2019: Selecting component sourcing options: A survey of software engineering's broader make-or-buy decisions. (Inf. Softw. Technol.)
2017: Supporting Change Impact Analysis Using a Recommendation System: An Industrial Case Study in a Safety-Critical Context. (IEEE Trans. Software Eng.)
2016: TuneR: a framework for tuning software engineering tools with hands-on instructions in R. (J. Softw. Evol. Process.)
2014: Recovering from a decade: a systematic mapping of information retrieval approaches to software traceability. (Empirical Software Engineering)
|
|
Richard Torkar |
Chalmers / Gothenburg University |
63 |
0.35 |
0.1 |
3.51 |
12.03 |
testing, libre, source, partition, combining, free, component, unit, industry, applicable |
2012: Requirements Traceability: a Systematic Review and Industry Case Study. (International Journal of Software Engineering and Knowledge Engineering)
|
|
Wasif Afzal |
Mälardalen University |
60 |
0.17 |
0.22 |
6.0 |
11.04 |
runtime, systematic, fault, testing, megam, prediction, megamodelling, model, project, development |
2016: Software test process improvement approaches: A systematic literature review and an industrial case study. (J. Syst. Softw.)
2015: An experiment on the effectiveness and efficiency of exploratory testing. (Empirical Software Engineering)
2014: Prediction of faults-slip-through in large software projects: an empirical evaluation. (Software Quality Journal)
2012: Resampling Methods in Software Quality Classification. (International Journal of Software Engineering and Knowledge Engineering)
2009: A systematic review of search-based testing for non-functional system properties. (Inf. Softw. Technol.)
|
|
Gregory Gay |
Chalmers / Gothenburg University |
30 |
0.3 |
0.67 |
6.51 |
11.03 |
test, generation, search, coverage, real, model, steering, automated, faults, fitness |
2017: Automated Steering of Model-Based Test Oracles to Admit Real Program Behaviors. (IEEE Trans. Software Eng.)
2016: The Effect of Program and Model Structure on the Effectiveness of MC/DC Test Adequacy Coverage. (ACM Trans. Softw. Eng. Methodol.)
2015: The Risks of Coverage-Directed Test Case Generation. (IEEE Trans. Software Eng.)
2015: Automated Oracle Data Selection Support. (IEEE Trans. Software Eng.)
2010: Finding robust solutions in requirements models. (Autom. Softw. Eng.)
2010: Automatically finding the control variables for complex system behavior. (Autom. Softw. Eng.)
|
|
Richard Berntsson-Svensson |
Chalmers / Gothenburg University |
43 |
0.21 |
0.44 |
4.84 |
10.94 |
requirements, quality, quper, practice, industrial, companies, model, creativity, techniques, making |
2017: Is role playing in Requirements Engineering Education increasing learning outcome? (Requir. Eng.)
2013: An investigation of how quality requirements are specified in industrial practice. (Inf. Softw. Technol.)
2012: Setting quality targets for coming releases with QUPER: an industrial case study. (Requir. Eng.)
2012: Quality Requirements in Industrial Practice - An Extended Interview Study at Eleven Companies. (IEEE Trans. Software Eng.)
|
|
Emelie Engström |
Lund University |
31 |
0.32 |
0.39 |
4.81 |
10.55 |
test, regression, testing, selection, product, line, systematic, taxonomy, mapping, empirical |
2017: SERP-test: a taxonomy for supporting industry-academia communication. (Software Quality Journal)
2013: Test overlay in an emerging software product line - An industrial case study. (Inf. Softw. Technol.)
2011: Software product line testing - A systematic mapping study. (Inf. Softw. Technol.)
2010: A systematic review on regression test selection techniques. (Inf. Softw. Technol.)
|
|
Federico Ciccozzi |
Mälardalen University |
65 |
0.12 |
0.45 |
5.87 |
10.32 |
systems, model, uml, embedded, models, code, execution, modelling, generation, support |
2019: Execution of UML models: a systematic review of research and practice. (Software and Systems Modeling)
2018: On the automated translational execution of the action language for foundational UML. (Software and Systems Modeling)
2018: Architecture optimization: speed or accuracy? both! (Software Quality Journal)
2016: Explicit connection patterns (ECP) profile and semantics for modelling and generating explicit connections in complex UML composite structures. (J. Syst. Softw.)
2013: Round-trip support for extra-functional property management in model-driven engineering of embedded systems. (Inf. Softw. Technol.)
|
|
Michael Unterkalmsteiner |
Blekinge Institute of Technology |
32 |
0.34 |
0.28 |
5.81 |
10.15 |
requirements, alignment, improvement, test, process, next, information, startups, report, spi |
2016: Large-scale information retrieval in software engineering - an experience report from industrial application. (Empirical Software Engineering)
2015: Assessing requirements engineering and software test alignment - Five case studies. (J. Syst. Softw.)
2014: A conceptual framework for SPI evaluation. (J. Softw. Evol. Process.)
2014: A taxonomy for requirements engineering and software test alignment. (ACM Trans. Softw. Eng. Methodol.)
2012: Evaluation and Measurement of Software Process Improvement - A Systematic Literature Review. (IEEE Trans. Software Eng.)
|
|
Nauman Bin Ali |
Blekinge Institute of Technology |
21 |
0.48 |
0.48 |
6.51 |
10.08 |
systematic, search, simulation, process, literature, industrial, assisted, mapping, stream, development |
2019: On the search for industry-relevant regression testing research. (Empirical Software Engineering)
2019: A critical appraisal tool for systematic literature reviews in software engineering. (Inf. Softw. Technol.)
2018: Reliability of search in systematic reviews: Towards a quality assessment framework for the automated-search strategy. (Inf. Softw. Technol.)
2016: FLOW-assisted value stream mapping in the early phases of large-scale software development. (J. Syst. Softw.)
2015: Evaluation of simulation-assisted value stream mapping for software product development: Two industrial cases. (Inf. Softw. Technol.)
2014: A systematic literature review on the industrial use of software process simulation. (J. Syst. Softw.)
|
|
Regina Hebig |
Chalmers / Gothenburg University |
58 |
0.14 |
0.33 |
4.0 |
10.05 |
model, evolution, development, mde, processes, languages, combined, glass, transformation, complex |
2017: The changing balance of technology and process: A case study on a combined setting of model-driven development and classical C coding. (J. Softw. Evol. Process.)
2017: On the complex nature of MDE evolution and its impact on changeability. (Software and Systems Modeling)
2017: Approaches to Co-Evolution of Metamodels and Models: A Survey. (IEEE Trans. Software Eng.)
|
|
Riccardo Scandariato |
Chalmers / Gothenburg University |
67 |
0.13 |
0.16 |
3.28 |
9.29 |
security, design, internet, penetration, defense, detection, threat, networks, technique, components |
2015: A descriptive study of Microsoft's threat modeling technique. (Requir. Eng.)
2014: Predicting Vulnerable Software Components via Text Mining. (IEEE Trans. Software Eng.)
|
|
Jennifer Horkoff |
Chalmers / Gothenburg University |
96 |
0.07 |
0.39 |
6.09 |
9.25 |
goal, modeling, requirements, analysis, interactive, models, systematic, model, creative, experiences |
2019: Creative goal modeling for innovative requirements. (Inf. Softw. Technol.)
2019: Goal-oriented requirements engineering: an extended systematic mapping study. (Requir. Eng.)
2016: Interactive goal model analysis for early requirements engineering. (Requir. Eng.)
2014: Strategic business modeling: representation and reasoning. (Software and Systems Modeling)
2013: Comparison and evaluation of goal-oriented satisfaction analysis techniques. (Requir. Eng.)
|
|
Björn Lundell |
Skövde University |
71 |
0.1 |
0.31 |
3.14 |
9.17 |
open, source, perceptions, tool, swedish, method, standards, companies, openness, experiences |
2011: Practitioner perceptions of Open Source software in the embedded systems area. (J. Syst. Softw.)
2004: Changing perceptions of CASE technology. (J. Syst. Softw.)
|
|
Elizabeth Bjarnason |
Lund University |
30 |
0.23 |
0.7 |
6.33 |
8.89 |
requirements, development, distances, evidence, large, gaps, method, project, practices, timelines |
2019: Improving requirements-test alignment by prescribing practices that mitigate communication gaps. (Empirical Software Engineering)
2017: The role of distances in requirements communication: a case study. (Requir. Eng.)
2016: A theory of distances in software engineering. (Inf. Softw. Technol.)
2016: A multi-case study of agile requirements engineering and the use of test cases as requirements. (Inf. Softw. Technol.)
2014: Challenges and practices in aligning requirements with verification and validation: a case study of six companies. (Empirical Software Engineering)
2012: Are you biting off more than you can chew? A case study on causes and effects of overscoping in large-scale software engineering. (Inf. Softw. Technol.)
|
|
Davide Fucci |
Blekinge Institute of Technology |
42 |
0.17 |
0.38 |
4.65 |
8.75 |
test, development, replication, effects, skills, external, conformance, requirements, process, impact |
2020: Need for Sleep: The Impact of a Night of Sleep Deprivation on Novice Developers' Performance. (IEEE Trans. Software Eng.)
2017: A Dissection of the Test-Driven Development Process: Does It Really Matter to Test-First or to Test-Last? (IEEE Trans. Software Eng.)
2015: Towards an operationalization of test-driven development skills: An industrial empirical study. (Inf. Softw. Technol.)
2014: On the role of tests in test-driven development: a differentiated and partial replication. (Empirical Software Engineering)
|
|
Fabian Fagerholm |
Blekinge Institute of Technology |
41 |
0.17 |
0.39 |
3.74 |
8.58 |
agile, education, projects, source, performance, onboarding, developers, patterns, lean, experience |
2018: Designing and implementing an environment for software start-up education: Patterns and anti-patterns. (J. Syst. Softw.)
2017: The RIGHT model for Continuous Experimentation. (J. Syst. Softw.)
2015: Performance Alignment Work: How software developers experience the continuous adaptation of team performance in Lean and Agile environments. (Inf. Softw. Technol.)
|
|
Pontus Johnson |
KTH Royal Institute of Technology |
90 |
0.07 |
0.26 |
2.34 |
8.33 |
architecture, analysis, modeling, theory, enterprise, probabilistic, business, general, vulnerability, diagrams |
2016: The Tarpit - A general theory of software engineering. (Inf. Softw. Technol.)
|
|
Antonio Cicchetti |
Mälardalen University |
75 |
0.08 |
0.35 |
3.09 |
8.08 |
model, evolution, web, systems, applications, development, view, models, managing, weaving |
2019: Multi-view approaches for software and system modelling: a systematic literature review. (Software and Systems Modeling)
2013: Managing the evolution of data-intensive Web applications by model-driven techniques. (Software and Systems Modeling)
|
|
Thorsten Berger |
Chalmers / Gothenburg University |
78 |
0.08 |
0.22 |
4.02 |
7.92 |
variability, modeling, feature, management, systems, large, industry, projectional, und, models |
2020: The state of adoption and the challenges of systematic variability management in industry. (Empirical Software Engineering)
2014: Variability mechanisms in software ecosystems. (Inf. Softw. Technol.)
2013: A Study of Variability Models and Languages in the Systems Software Domain. (IEEE Trans. Software Eng.)
|
|
Philipp Leitner |
Chalmers / Gothenburg University |
113 |
0.05 |
0.21 |
2.57 |
7.57 |
service, services, cloud, web, violations, level, compositions, testing, practice, performance |
2019: A mixed-method empirical study of Function-as-a-Service software development in industrial practice. (J. Syst. Softw.)
|
|
Welf Löwe |
Linneaus Univerity |
112 |
0.05 |
0.16 |
2.56 |
7.26 |
logp, programs, machines, scheduling, optimization, graphs, task, communication, machine, pram |
2005: Rapid Construction of Software Comprehension Tools. (International Journal of Software Engineering and Knowledge Engineering)
|
|
Birgit Penzenstadler |
Chalmers / Gothenburg University |
102 |
0.05 |
0.42 |
2.37 |
7.22 |
sustainability, requirements, systems, model, design, domain, green, systematic, automotive, system |
2018: Sustainability analysis and ease of learning in artifact-based requirements engineering: The newest member of the family of studies (It's a girl!). (Inf. Softw. Technol.)
|
|
Robert Lagerström |
KTH Royal Institute of Technology |
76 |
0.07 |
0.28 |
4.81 |
7.09 |
architecture, enterprise, systems, analysis, modifiability, cost, management, models, metamodel, probabilistic |
2013: Increasing software development efficiency and maintainability for complex industrial systems - A case study. (J. Softw. Evol. Process.)
2012: Identifying factors affecting software development cost and productivity. (Software Quality Journal)
2010: Architecture analysis of enterprise systems modifiability - Models, analysis, and validation. (J. Syst. Softw.)
2010: Architecture analysis of enterprise systems modifiability: a metamodel for software change cost estimation. (Software Quality Journal)
|
|
Panagiota Chatzipetrou |
Örebro University |
19 |
0.32 |
0.53 |
2.53 |
7.01 |
analysis, statistical, requirements, framework, data, goals, quality, effort, phase, prioritization |
2015: A multivariate statistical framework for the analysis of software effort phase distribution. (Inf. Softw. Technol.)
2015: An experience-based framework for evaluating alignment of software quality goals. (Software Quality Journal)
|
|
Jakob Axelsson |
RISE Research Institutes of Sweden AB |
61 |
0.08 |
0.57 |
2.86 |
6.84 |
systems, system, time, embedded, real, analysis, architecting, automotive, hardware, platooning |
2016: Quality assurance in software ecosystems: A systematic literature mapping and research agenda. (J. Syst. Softw.)
2014: Characteristics of software ecosystems for Federated Embedded Systems: A case study. (Inf. Softw. Technol.)
|
|
Peter Fritzson |
Linköping University |
124 |
0.04 |
0.19 |
3.49 |
6.73 |
object, modelica, language, modeling, environment, equation, debugging, openmodelica, incremental, system |
1994: Using assertions in declarative and operational models for automated debugging. (J. Syst. Softw.)
1983: Symbolic debugging through incremental compilation in an integrated environment. (J. Syst. Softw.)
|
|
Ulrik Franke |
RISE Research Institutes of Sweden AB |
70 |
0.07 |
0.37 |
3.85 |
6.71 |
enterprise, architecture, insurance, service, analysis, cyber, availability, framework, trade, models |
2018: What can we learn from enterprise architecture models? An experiment comparing models and documents for capability development. (Software and Systems Modeling)
2014: An architecture framework for enterprise IT service availability analysis. (Software and Systems Modeling)
2012: Availability of enterprise IT systems: an expert-based Bayesian framework. (Software Quality Journal)
|
|
Jan-Philipp Steghöfer |
Chalmers / Gothenburg University |
70 |
0.07 |
0.27 |
2.05 |
6.51 |
systems, self, agile, open, organising, organic, scrum, computing, die, organizing |
2017: No silver brick: Opportunities and limitations of teaching Scrum with Lego workshops. (J. Syst. Softw.)
|
|
Emil Alégroth |
Blekinge Institute of Technology |
26 |
0.19 |
0.54 |
3.41 |
6.3 |
testing, gui, visual, industrial, empirical, test, practice, system, technical, testware |
2017: On the long-term use of visual gui testing in industrial practice: a case study. (Empirical Software Engineering)
2016: Maintenance of automated test suites in industry: An empirical study on Visual GUI Testing. (Inf. Softw. Technol.)
2015: Visual GUI testing in practice: challenges, problemsand limitations. (Empirical Software Engineering)
|
|
Bestoun S. Ahmed |
Karlstad University |
23 |
0.22 |
0.43 |
3.38 |
6.04 |
interaction, testing, combinatorial, particle, swarm, strength, variable, applications, systematic, model |
2017: Handling constraints in combinatorial interaction testing in the presence of multi objective particle swarm and multithreading. (Inf. Softw. Technol.)
2015: Achievement of minimized combinatorial test suite for configuration-aware software functional testing using the Cuckoo Search algorithm. (Inf. Softw. Technol.)
2011: A variable strength interaction test suites generation strategy using Particle Swarm Optimization. (J. Syst. Softw.)
|
|
Hannes Holm |
KTH Royal Institute of Technology |
40 |
0.1 |
0.55 |
2.56 |
5.5 |
attacks, vulnerability, expert, system, investigation, application, web, scanning, security, empirical |
2015: A Bayesian network model for likelihood estimations of acquirement of critical software vulnerabilities and exploits. (Inf. Softw. Technol.)
2014: Automatic data collection for enterprise architecture models. (Software and Systems Modeling)
|
|
Helena Holmström Olsson |
Malmö University |
93 |
0.04 |
0.32 |
2.19 |
5.25 |
ecosystem, data, mind, layer, three, embedded, challenges, chaos, telesm, empowerment |
2017: From ad hoc to strategic ecosystem management: the "Three-Layer Ecosystem Strategy Model" (TeLESM). (J. Softw. Evol. Process.)
|
|
Barbara Gallina |
Mälardalen University |
73 |
0.05 |
0.34 |
1.99 |
5.1 |
safety, process, reuse, lines, model, iso, analysis, product, systems, compliant |
2020: Quantitative evaluation of tailoring within SPICE-compliant security-informed safety-oriented process lines. (J. Softw. Evol. Process.)
|
|
Imed Hammouda |
Chalmers / Gothenburg University |
73 |
0.04 |
0.32 |
2.8 |
4.12 |
open, source, design, patterns, concern, pattern, development, learning, uml, tool |
2011: Managing Concern Knowledge in Software Systems. (International Journal of Software Engineering and Knowledge Engineering)
2009: Design profiles: toward unified tool support for design patterns and UML profiles. (Softw. Pract. Exp.)
|
|
Jonas Lundberg |
Linneaus Univerity |
59 |
0.05 |
0.29 |
1.76 |
4.07 |
analysis, response, design, resilience, points, designing, identification, air, management, work |
2009: Fast and precise points-to analysis. (Inf. Softw. Technol.)
|
|
Ludwik Kuzniarz |
Blekinge Institute of Technology |
27 |
0.11 |
0.56 |
1.44 |
4.06 |
uml, models, model, development, teaching, multimedia, object, initial, stereotypes, modeling |
2011: Empirical extension of a classification framework for addressing consistency in model based development. (Inf. Softw. Technol.)
|
|
Francis Palma |
Linneaus Univerity |
20 |
0.15 |
0.7 |
1.37 |
4.06 |
detection, antipatterns, patterns, specification, soa, service, prioritization, restful, linguistic, test |
2019: UniDoSA: The Unified Specification and Detection of Service Antipatterns. (IEEE Trans. Software Eng.)
|
|
Mariam Kamkar |
Linköping University |
28 |
0.11 |
0.39 |
2.35 |
4.05 |
slicing, dynamic, interprocedural, debugging, programs, program, testing, applied, algorithmic, three |
1998: Application of program slicing in algorithmic debugging. (Inf. Softw. Technol.)
1995: An overview and comparative classification of program slicing techniques. (J. Syst. Softw.)
|
|
Gul Calikli |
Chalmers / Gothenburg University |
26 |
0.12 |
0.38 |
1.43 |
4.04 |
confirmation, bias, effects, analysis, factors, defect, human, developers, development, levels |
2015: Empirical analysis of factors affecting confirmation bias levels of software engineers. (Software Quality Journal)
|
|
Lars Pareto |
Chalmers / Gothenburg University |
26 |
0.12 |
0.35 |
2.33 |
4.0 |
architectural, base, projects, empirical, station, model, development, concern, design, investigation |
2012: Collaborative prioritization of architectural concerns. (J. Syst. Softw.)
2012: Concern coverage in base station development: an empirical investigation. (Software and Systems Modeling)
|
|
Jonas Gamalielsson |
Skövde University |
32 |
0.09 |
0.5 |
2.39 |
3.96 |
open, source, standards, biological, pathways, evolutionary, w3c, model, analysis, alignment |
2015: On organisational influences in software standards and their open source implementations. (Inf. Softw. Technol.)
2014: Sustainability of Open Source software communities beyond a fork: How and why has the LibreOffice project evolved? (J. Syst. Softw.)
|
|
Kenneth Lind |
Chalmers / Gothenburg University |
13 |
0.23 |
0.69 |
1.3 |
3.84 |
size, estimation, components, embedded, time, real, code, automated, model, compsize |
2012: A Practical Approach to Size Estimation of Embedded Software Components. (IEEE Trans. Software Eng.)
|
|
Deepika Badampudi |
Blekinge Institute of Technology |
11 |
0.27 |
0.82 |
2.18 |
3.83 |
systematic, translation, knowledge, making, literature, decision, considerations, components, delays, contextualizing |
2018: A decision-making process-line for selection of software asset origins and components. (J. Syst. Softw.)
2016: Software component decision-making: In-house, OSS, COTS or outsourcing - A systematic literature review. (J. Syst. Softw.)
|
|
Birgitta Lindström |
Skövde University |
19 |
0.16 |
0.42 |
2.26 |
3.83 |
mutants, time, mutation, subsuming, aspect, real, dynamic, strong, systems, models |
2019: On strong mutation and the theory of subsuming logic-based mutants. (Softw. Test. Verification Reliab.)
2017: Using mutation to design tests for aspect-oriented models. (Inf. Softw. Technol.)
|
|
Thomas Olsson |
RISE Research Institutes of Sweden AB |
40 |
0.07 |
0.35 |
1.57 |
3.82 |
making, gqm, quality, system, companies, requirements, decision, time, reconfigurable, language |
2019: An empirical study on decision making for quality requirements. (J. Syst. Softw.)
|
|
Jelena Zdravkovic |
Stockholm University |
88 |
0.03 |
0.27 |
2.05 |
3.75 |
business, capability, service, requirements, processes, modeling, organizations, governance, frameworks, enterprise |
2015: Capturing consumer preferences as requirements for software product lines. (Requir. Eng.)
|
|
Javier Gonzalez-Huerta |
Blekinge Institute of Technology |
35 |
0.09 |
0.17 |
1.52 |
3.74 |
product, derivation, architecture, validating, improvement, multimodel, model, models, artifacts, automatic |
2015: Validating a model-driven software architecture evaluation and improvement method: A family of experiments. (Inf. Softw. Technol.)
|
|
Ana Magazinius |
RISE Research Institutes of Sweden AB |
9 |
0.33 |
0.67 |
2.16 |
3.57 |
estimation, cost, distortional, organizational, mapping, complexity, distortions, inhibitors, behaviors, programs |
2012: Investigating intentional distortions in software cost estimation - An exploratory study. (J. Syst. Softw.)
2010: Software cost estimation inhibitors - a case study in automotive context. (J. Softw. Maintenance Res. Pract.)
|
|
Kristian Sandahl |
Linköping University |
28 |
0.21 |
0.07 |
1.72 |
3.53 |
extended, methods, systems, assessing, replication, participation, expert, active, requirements, knowledge |
1998: An Extended Replication of an Experiment for Assessing Methods for Software Requirements Inspections. (Empirical Software Engineering)
|
|
Patrik Berander |
Malmö University |
7 |
0.43 |
0.71 |
2.14 |
3.47 |
requirements, voting, prioritization, cumulative, hierarchies, hierarchical, key, students, metric, identification |
2009: Evaluating two ways of calculating priorities in requirements hierarchies - An experiment on hierarchical cumulative voting. (J. Syst. Softw.)
2006: Hierarchical Cumulative Voting (hcv) - Prioritization of Requirements in Hierarchies. (International Journal of Software Engineering and Knowledge Engineering)
|
|
Pasqualina Potena |
RISE Research Institutes of Sweden AB |
32 |
0.09 |
0.16 |
1.49 |
3.37 |
tradeoff, service, functional, directions, quality, composition, systems, architecture, optimization, attributes |
2013: Optimization of adaptation plans for a service-oriented architecture with cost, reliability, availability and performance tradeoff. (J. Syst. Softw.)
|
|
Görel Hedin |
Lund University |
76 |
0.03 |
0.26 |
1.84 |
3.23 |
attribute, grammars, programming, extreme, object, jastadd, preface, language, system, door |
2005: Teaching extreme programming to large groups of students. (J. Syst. Softw.)
|
|
Niklas Lavesson |
Jönköping University |
54 |
0.04 |
0.24 |
1.62 |
2.99 |
learning, license, end, user, agreements, spyware, amori, supervised, impact, networks |
2014: A method for evaluation of learning components. (Autom. Softw. Eng.)
|
|
Saad Mubeen |
Mälardalen University |
68 |
0.03 |
0.59 |
2.66 |
2.98 |
analysis, time, systems, end, response, embedded, component, timing, distributed, vehicular |
2019: Supporting timing analysis of vehicular embedded systems through the refinement of timing constraints. (Software and Systems Modeling)
2015: Integrating mixed transmission and practical limitations with the worst-case response-time analysis for Controller Area Network. (J. Syst. Softw.)
|
|
Narges Khakpour |
Linneaus Univerity |
19 |
0.11 |
0.79 |
1.27 |
2.93 |
systems, self, adaptive, formal, behavioral, adaptation, policies, security, modeling, policy |
2012: HPobSAM for modeling and analyzing IT Ecosystems - Through a case study. (J. Syst. Softw.)
|
|
Muhammad Ovais Ahmad |
Karlstad University |
16 |
0.12 |
0.56 |
2.14 |
2.6 |
kanban, development, agile, systematic, companies, perceptions, attitudes, teams, factory, lean |
2018: Kanban in software engineering: A systematic mapping study. (J. Syst. Softw.)
2017: An empirical study of portfolio management and Kanban in agile and lean software companies. (J. Softw. Evol. Process.)
|
|
Christin Lindholm |
Lund University |
8 |
0.25 |
0.75 |
2.06 |
2.57 |
risk, development, medical, device, analysis, management, process, investigated, usability, testing |
2015: Involving user perspective in a software risk management process. (J. Softw. Evol. Process.)
2014: A case study on software risk analysis and planning in medical device development. (Software Quality Journal)
|
|
Michael Mattsson |
Blekinge Institute of Technology |
13 |
0.15 |
0.54 |
1.21 |
2.57 |
framework, industrial, evolution, evolving, stability, solutions, frameworks, causes, experience, paper |
2000: Stability assessment of evolving industrial object-oriented frameworks. (J. Softw. Maintenance Res. Pract.)
|
|
Francisco Gomes de Oliveira Neto |
Chalmers / Gothenburg University |
13 |
0.15 |
0.54 |
2.11 |
2.57 |
test, requirements, support, empirical, testing, within, evolution, fault, initiative, coverage |
2019: Evolution of statistical analysis in empirical software engineering research: Current state and steps forward. (J. Syst. Softw.)
2016: Full modification coverage through automatic similarity-based test case selection. (Inf. Softw. Technol.)
|
|
Cyrille Artho |
KTH Royal Institute of Technology |
85 |
0.02 |
0.55 |
1.93 |
2.5 |
model, checking, testing, analysis, java, networked, test, static, systems, dynamic |
2003: High-level data races. (Softw. Test. Verification Reliab.)
|
|
Niklas Mellegård |
RISE Research Institutes of Sweden AB |
13 |
0.08 |
0.69 |
1.12 |
1.47 |
defect, automotive, impact, scheme, efficiency, initial, improving, development, embedded, process |
2016: Impact of Introducing Domain-Specific Modelling in Software Maintenance: An Industrial Case Study. (IEEE Trans. Software Eng.)
|
|
Daniel Flemström |
Mälardalen University |
8 |
0.12 |
0.75 |
1.07 |
1.33 |
test, guarded, passive, assertions, interactive, toolbox, saga, embedded, integration, mapping |
2018: Similarity-based prioritization of test case automation. (Software Quality Journal)
|
|
Peter Wallin |
RISE Research Institutes of Sweden AB |
11 |
0.09 |
0.27 |
1.1 |
1.27 |
development, related, issues, system, heavy, architecture, product, vehicles, automotive, architecting |
2012: Problems and their mitigation in system and software architecting. (Inf. Softw. Technol.)
|
|
Francesco Flammini |
Linneaus Univerity |
43 |
0.02 |
0.44 |
1.42 |
1.26 |
systems, critical, modelling, surveillance, security, physical, multiformalism, infrastructure, infrastructures, sensor |
2009: Automatic instantiation of abstract tests on specific configurations for large critical control systems. (Softw. Test. Verification Reliab.)
|
|
Stefan Cedergren |
RISE Research Institutes of Sweden AB |
4 |
0.25 |
0.25 |
1.03 |
1.0 |
products, performance, development, evaluating |
2014: Evaluating performance in the development of software-intensive products. (Inf. Softw. Technol.)
|


Are you looking for business information?
Get everything you need to know, in just
one place
Getting you from
where you are,
to where you want to be
check out our vlog pageDiscover a whole
world of posibilities.
download the app
for free.
Enjoy the best of
Panama's beaches
Hundreds of
Unforgettable
Nightlife
Download the app
for FREE
Trusted by
Ready to have a Good Time?
Get more info on Facebook or Instagram or send us an<EMAIL_ADDRESS>the
app for free.Search "Panama Good Times" on App Store or Google play and connect with business today!
Download the app for free
Copyright 2020 All Rights Reserved


---
layout: post
title: ! '@emilysmith2000 to be interviewed on CBC Radio 3 in 10 minutes!'
published: true
---
[[posterous-content:XZR8AADiQByNLCKaVtAC]]
Emily Smith is the lead organizer of the 1st annual Vancouver Mini Maker Faire being hosted next weekend at the Centre For Digital Media. She's also my girlfriend.