GSoC/2018/StatusReports/kecsap

Improving the reliability and usability of KStars

Brief explanation: KStars has a mature codebase with well-written C++ for a desktop and a mobile client. The applicant would like to contribute enhancements by improving the sources (C++11/C++14 features, static code analysis, better testing in CI) and adding usability improvements to the desktop and the mobile version of KStars.

Expected results: After the GSOC, all findings of the static code analyzers will be fixed, the C++ tooling will be integrated to Jenkins in KDE CI. The desktop version of KStars will have usability improvements, the build system (CMake) of the Android client will be enhanced and the new functionalities for telescope equipment control will be implemented.

May 14, 2017 - June 10, 2018

Progress of the planned items:

1. Analyze KStars codebase with Coverity and fix new problems

Status: DONE

Example commits:

Fix Coverity findings https://github.com/KDE/kstars/commit/85560b163d3e73cc7412814afc0d4a0e4461b00d

2. Analyze KStars codebase with Clang Static Analyzer and fix new problems

Status: DONE

Example commits:

Fix the Clang Static Analyzer findings https://github.com/KDE/kstars/commit/503b140eb42ebed691167dc8f381ddf9d59b6ac9

3. Analyze KStars codebase with Clang Tidy and fix new problems

Status: DONE

Example commits:

Update Clang Tidy script to Clang 6.0 and fix some findings https://github.com/KDE/kstars/commit/e63bed30cb5783ede5f173e4a072d8a44faaa937

4. Analyze KStars codebase with Clazy and fix new problems

Status: DONE

Example commits:

Clazy fixes https://github.com/KDE/kstars/commit/d893c3452660e843f2e746c00b06a78889f2ca05

5. Analyze KStars codebase with Cppcheck Static Analyzer and fix new problems

Status: DONE

Example commits:

Fix cppcheck findings https://github.com/KDE/kstars/commit/84bb9885cb2c047ed40e3e2937628cf441b50235

6. Analyze KStars codebase with Krazy and fix new problems

Status: DONE

Example commits:

Krazy fixes https://github.com/KDE/kstars/commit/d058ae1aba44da35f45f6dfcbaca6491bed8f337

7. Replace C-like enums with C++11 enum classes

Status: DROPPED

Reason: The mentor found too much work after these changes.

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

Status: DONE

Example commits:

Remove redundant returns https://github.com/KDE/kstars/commit/48e8cc7ab5009c06aae7ea5030f437ad02875a86

Modernize for cycles https://github.com/KDE/kstars/commit/6569077b8a9f657efec7d54e385f2f1aa15af2c4

June 11, 2017 - July 8, 2018

Progress of the planned items:

1. Separate the KStars Lite and KStars targets in the CMake files

Status: DONE

Example commits:

Separate the KStars Lite and KStars targets in the CMake files https://github.com/KDE/kstars/commit/92d91f3be9807f22e4d6678e16796f6114a93a0b

2. Use the official NDK toolchain file for the Android build

Status: DONE

Example commits:

Update the Android build to the latest NDK version and official tools, remove hacks https://github.com/KDE/kstars/commit/dae9014bcff56ea8f633c013163e526501da7fab

3. Adapt the Android build to the new Android NDK and SDK tools

Status: DONE

Example commits:

Update the Android build to the latest NDK version and official tools, remove hacks https://github.com/KDE/kstars/commit/dae9014bcff56ea8f633c013163e526501da7fab

4. Remove custom sky objects from the local database via context menu in KStars.

Status: DONE

Example commits:

Remove custom sky objects via context menu https://github.com/KDE/kstars/commit/a9835eb227cfe18ea219bb4fdf98067b94382247

5. Add touch support to KStars (pinch for zoom, open context menu).

Status: DONE

Example commits:

Add touch support to KStars (pinch, tap-and-hold) https://github.com/KDE/kstars/commit/aee228ff2ce071d6e651a1d30dac1e1214037632

6. Decrease the apk size for Android version.

Status: DONE

Example commits:

Optimize Android package size https://github.com/KDE/kstars/commit/967c3d5bfad16d09fc0e012d73a37fec45ef038a

7. Make KStars translations available for KStars Lite on Android.

Status: Not started

8. Fix a few KStars bugs from the KDE bug tracker.

Status: WIP

Example commits/reviews:

Bug fix: Update the satellite coordinates before centering otherwise the coordinates are wrong https://phabricator.kde.org/D13984

9. Add joystick control for the telescope to KStars Lite with speed options.

Status: Not started

10. Unit tests will be written for the sources where it is applicable.

Status: Not started


This page was last edited on 7 August 2018, at 17:55. Content is available under Creative Commons License SA 4.0 unless otherwise noted.