RE-POST March: Project Stage 1

This post would be about stage 1 of the project in Software Portability and Optimization (SPO600) class.

Project Stage 1

Step 1 has been done in week 7 post.

Step 2

Task 1: Produce an Error Message if AFMV and FMV are Used Together

  1. Relevant section where you find the information you need.
    • In the source files: errors.cc, opts.cc, opts.h, attribs.c, attribs.h
  2. Detailed description of the work that needs to be performed.
    • leveraging the existing error handle mechanism by first identifying the functions that are responsible for handling errors.
    • Then check if there are error handling within the functions.
    • Construct an error message.
  3. How the work will be tested?
    • Create unit tests that attempt to compile code with both AFMV options and FMV attributes to verify that the compiler produces the expected error message.
    • Ensure that existing functionality is not affected by the changes.
    • Manually compile various test cases to confirm the error message is understandable and is being triggered correctly.
  4. Skills and knowledge needed.
    • Understand GCC architecture, particularly how it handles command-line options and attributes.
    • Know how error handling and reporting in compilers work to ensure user-friendly output.
    • Know how to create unit testing and test cases to test out the changes.
  5. How to complete each task independently?
    • By working on a different branch which allows independent development and testing without relying on other features to be completed.
  6. How your work will interface with other tasks?
    • It will produce an error message if AFMV and FMV are used together in the command line.
    • Coordinate with those responsible for updating GCC's documentation to include information about the new error condition and how to avoid it.
    • Work with the testing team to incorporate the unit tests.
  7. Rough estimation for each task and how you arrived at that estimation.
    • I think it would take around one week to research, plan, implement, test, and document this task.

Task 2: Create AFMV Documentation

  1. Relevant section where you find the information you need.
    • git://gcc.gnu.org/git/gcc-wwwdocs.git
    • Participants blogs to see their implementation of the new features for AFMV
  2. Detailed description of the work that needs to be performed.
    • Creating an AFMV documentation for the new features that will be implemented
  3. How the work will be tested?
    • When creating the documentation, I will be testing the commands at the same time, so that I know what it does and if it works correctly.
  4. Skills and knowledge needed.
    • Proficient in technical writing and documentation.
    • Understanding of GCC architecture and its features.
    • Ability to translate technical concepts into clear and concise documentation for users.
  5. How to complete each task independently?
    • Documentations can be created independently of other tasks since they involve writing and editing text.
    • It does not require changes to the codebase or interaction with other modules.
  6. How your work will interface with other tasks?
    • The creation of the documentation will serve as a reference for users and developers using the AFMV options.
    • Feedback from other participants may improve the documentation.
  7. Rough estimation for each task and how you arrived at that estimation.
    • I would roughly say it will take me about 12 hours.

Step 3

The task that I would like to do would be mostly documentation because documentation is really useful and I always come back to it to check some syntax and examples of how to do things when needed. I don't know if I would be able to complete it or exactly how long this documentation would actually take since when I start analyzing things, I always go deeper than necessary, which can waste time in writing the documentation. However, I will at least have a few of the AFMV options documented.

Comments

Popular posts from this blog