Jump to content

GSoC/2017/StatusReports/CsabaKertesz: Difference between revisions

From KDE Community Wiki
Kecsap (talk | contribs)
Created page with "== Improve stability, testing and bring modern C++ to KStars == Brief explanation: KStars has a mature codebase with well-written C++. It has been under constant development..."
 
Kecsap (talk | contribs)
No edit summary
Line 18: Line 18:
Progress of the planned items:
Progress of the planned items:


1. Add ccache support
'''1. Add ccache support'''


Review ticket: https://phabricator.kde.org/D5988
Status: DONE
Commits:


2. Add hardening support to the CMake build system (improve security)
Add ccache support
https://github.com/KDE/kstars/commit/d0bd857d9dfb87b725ee02553bfaced8a6c10057


3. Add Clang specific improvements to the CMake build system
'''2. Add hardening support to the CMake build system (improve security)'''


4. Add Clang sanitizers to the CMake build system
'''3. Add Clang specific improvements to the CMake build system'''


5. Run the KStars application with the sanitizers enabled and fix all memory error found
'''4. Add Clang sanitizers to the CMake build system'''
by these tools


6. Add Unity build to the CMake build system to cut the build time
'''5. Run the KStars application with the sanitizers enabled and fix all memory error found
by these tools'''


7. Refactor codes to modern C++11/C++14 what I get in touch while fixing bugs:
'''6. Add Unity build to the CMake build system to cut the build time'''


Review ticket: https://phabricator.kde.org/D6044
'''7. Refactor codes to modern C++11/C++14 what I get in touch while fixing bugs:'''


8. Add documentation about the improvements and the sanitizers to the wiki pages.
Status: In Progress
Commits:
 
Replace NULL with nullptr
https://github.com/KDE/kstars/commit/827f5c2d60d9c4594470cd693edee66868af014e
 
'''8. Add documentation about the improvements and the sanitizers to the wiki pages.'''

Revision as of 11:51, 1 June 2017

Improve stability, testing and bring modern C++ to KStars

Brief explanation: KStars has a mature codebase with well-written C++. It has been under constant development for the last 16 years and requires serious modernization due to the complexity of the code with its many contributors. The student is required to refactor the sources with modern C++11/C++14 features, explore and fix corner cases, perform static code analysis and implement new testing methods.

Expected results:

Refactor code to C++11/C++14 Replace raw pointers with smart pointers where appropriate. Use standard containers. Migrate all connections/slots to new Qt style connection. Add new unit and functional tests covering the complete scope of the source code. Reduced memory footprint especially on embedded devices. Knowledge Prerequisite: C++, Qt, Data Structures

Mentor: Jasem Mutlaq (Matrix: Jasem)

May 30, 2017 - June 30, 2017

Progress of the planned items:

1. Add ccache support

Status: DONE Commits:

Add ccache support https://github.com/KDE/kstars/commit/d0bd857d9dfb87b725ee02553bfaced8a6c10057

2. Add hardening support to the CMake build system (improve security)

3. Add Clang specific improvements to the CMake build system

4. Add Clang sanitizers to the CMake build system

5. Run the KStars application with the sanitizers enabled and fix all memory error found by these tools

6. Add Unity build to the CMake build system to cut the build time

7. Refactor codes to modern C++11/C++14 what I get in touch while fixing bugs:

Status: In Progress Commits:

Replace NULL with nullptr https://github.com/KDE/kstars/commit/827f5c2d60d9c4594470cd693edee66868af014e

8. Add documentation about the improvements and the sanitizers to the wiki pages.