1 / 1

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

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.

nickan
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. In the networked society people, knowledge, devices, and information are networked for the growth of society, life and business. The Networked Society iswhen people, business andsociety are using connecteddevices 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

More Related