• No results found

In the networked society people, knowledge, devices, and information are networked for the growth of society, life and business.

N/A
N/A
Protected

Academic year: 2021

Share "In the networked society people, knowledge, devices, and information are networked for the growth of society, life and business."

Copied!
1
0
0

Loading.... (view fulltext now)

Full text

(1)

In the networked society people, knowledge, devices, and information are networked for the growth of society, life and business.

The Networked Society is when people, business and society are using connected

devices to their benefit.

Master’s Thesis (30 hp, for 1 or 2 students): Using compiler plugins for mocking C code.

Description:

The goal of this project is to make it easier to test individual C files that are parts of larger projects. Any function calls that are made from the tested file to an outside function should be mocked automatically, using information that is available in the compiler.

For any software it is important that it is possible to write tests to ensure that the software is working as intended. If the software that we want to test is large it is convenient if we can test parts of it in isolation. By isolation we mean that we should not have to compile the whole application just to test a selected function.

The basic idea of mocking is that any function calls which are directed to outside of the currently tested C file must be intercepted and redirected to a mock function. The behavior of this mock function is controlled at run time. You will have to develop two main components in this project: (1) a GCC plugin that detects and redirects function calls, and (2) a runtime system that allows the behavior of the mock functions to be controlled.

The plugin in GCC can be done by reading and manipulating the abstract syntax tree (AST) that is built when GCC parses the input file. In the AST we can find all function calls to named functions. The mock function can either be done by inserting any missing functions in the AST or by letting the plugin generate a new temporary C file which contains the needed mock functions.

Your tasks in this project include:

• Study existing mocking frameworks for C and for other languages.

• Set the scope of the project and make a plan.

• Make proof-of-concept implementation and apply it on example code.

A more detailed project description is available upon request.

Qualifications:

• Very good knowledge of C programming.

• Knowledge of how compilers and linkers work.

• Knowledge about software testing.

Contacts:

• Mattias Eriksson: Software developer, BB Tools, Ericsson: mattias.v.eriksson@ericsson.com

• Anders Nilsson: Section manager, BB Tools, Ericsson: anders.n.nilsson@ericsson.com

References

Related documents

The work consists of literature studies (Model-based development, Model validation, Eclipse EMF Validation Framework, etc.) and familiarization with current model validations

The candidate student needs to have taken a concurrent programming or operating systems course, and have programming capabilities needed to create a layer that interacts between

Find a solution for how mobile traffic simulators can distribute mobile terminals over a geographic cellular network plan, and move them around in accordance with specified

Candidate features for rel 12 are a more energy efficient carrier type, small cell (i.e. HetNet) enhancements, terminal-to-terminal direct communication and improved coverage

You will have to develop two main components in this project: (1) a GCC plugin that detects and redirects function calls, and (2) a runtime system that allows the behavior of the

Study WiFi access and networking principles, and inter-working mechanisms between WiFi and LTE Modeling of mixed WiFi and LTE networks at sufficiently accurate level,

At DURA we have a well developed work model for PI, but we would like to be inspired by how other players look at this area when entering the ‘Lean & Agile world’. We

In this thesis work, you will work with implementation of a radio network demonstrator, including both source code and graphical design of the visualization. This thesis work