GithubHelp home page GithubHelp logo

bvandom-cs371p-allocator's People

Contributors

googlecodeexporter avatar

Watchers

 avatar

bvandom-cs371p-allocator's Issues

6: Documentation

Documentation
    1. Comment each function to explain what it does in a useful way. 
    2. Use Doxygen to document Allocator.h.

    NOTE: "Use comments only if you need to explain the WHY of a particular implementation. Choose a coding convention and be consistent. Use good variable names. Write readable code with good indentation, blank lines, and blank spaces."


Original issue reported on code.google.com by [email protected] on 22 Feb 2012 at 8:04

7: Google Form

Google Form 
    1. Fill out the Alon Farchy's (?) Google form.


Original issue reported on code.google.com by [email protected] on 22 Feb 2012 at 8:08

Types of Exceptions to Use

I can't tell how std::allocator uses exceptions from testing. It appears to 
halt execution and report an error message for most types of errors (double 
free, bad pointer, etc.). Also, the only exception documented with 
std::allocator is std::bad_alloc, which doesn't apply to all cases. I need to 
figure out how to mimic std:allocator's exception handling in my own.

Original issue reported on code.google.com by [email protected] on 28 Feb 2012 at 12:24

5: Implementation

Implementation
    1. Use assert to check pre-conditions, post-conditions, argument validity, return-value validity, and invariants.

    2. Your program should run as fast as possible and use as little memory as possible.

NOTE: Skipped #4 in issue tracker to be consistent with past rubrics as well as 
the rubric for this project, which as of this posting does not change the 
numbering after skipping acceptance tests.

Original issue reported on code.google.com by [email protected] on 22 Feb 2012 at 8:03

Report Hours

Estimate the amount of time you will spend on this project: 20 hours

Record the number of hours you spend and compare the results.


Original issue reported on code.google.com by [email protected] on 22 Feb 2012 at 8:26

1: Issue Tracker and Wiki

i. Set up a public issue tracker and wiki at GPH:
http://code.google.com/p/bvandom-cs371p-allocator/

Issue Tracker
    1. Track the 7 deliverables - each is numbered 1-7 in summary line.
    2. Track bugs and features - close them as you complete them.
    3. Track 5 issues - will not be numbered.

    NOTE: "Categorize, prioritize, and describe each issue adequately".
        Category = label for type-
        Prioritize = label for priority-
        Describe = written description and comments to follow up
Wiki
    1. Describe the design of the algorithm at a high level - do not use pseudo-code.
    2. Write at least 30 lines of description.

    NOTE: Proofread the wiki and use bullets if necessary.

Original issue reported on code.google.com by [email protected] on 22 Feb 2012 at 7:52

8: Turnin

Turnin
    1. Submit the project to the grader's Turnin account:
        Alon Farchy (cs371ppj3 / afarchy)
    2. Include a README.txt file that contains:
        name
        EID
        Assembla URL
        Google URL

NOTE: The files to turnin are
Allocator.h        (5)
Allocator.log      (2)
html/              (6)
README.txt         (8)
TestAllocator.c++  (3)
TestAllocator.out  (3)

Original issue reported on code.google.com by [email protected] on 22 Feb 2012 at 8:16

Issue 1: Assertion failure in Allocator.h

I get the following output for testing doubles (not ints) with my Allocator in 
TestAllocator.c++

TestAllocator.c++
TestAllocator.c++.app: Allocator.h:300: void Allocator<T, N>::deallocate(T*, 
size_t) [with T = double, unsigned int N = 100u]: Assertion `value < 0' failed.

I have not figured out why this is happening for doubles and not ints.

Original issue reported on code.google.com by [email protected] on 26 Feb 2012 at 8:37

3: Unit Tests

i. Alon Farchy(?) will set up a public Git repository at Assembla:
    https://www.assembla.com/code/afarchy-cs371p-allocator/git/nodes/

Unit Tests
    1. Write unit tests before code (TestAllocator.c++).
    2. When you encounter a bug, write a unit test that fails so that you can fix the bug and pass the unit test.
    3. Write at least 3 unit tests for every function.
    4. Tests corner cases and failure cases.
    5. Name tests logically.
    6. Push the unit tests as bvandom-TestAllocator.c++ to the grader's repository.
    7. Pull other unit tests from the repo. Reach consensus on the unit tests.
    NOTE: Use Valgrind when you run TestAllocator.c++.app


Original issue reported on code.google.com by [email protected] on 22 Feb 2012 at 7:57

2: Private Git Repository

i. Set up a private Git repository at Assembla:
    https://www.assembla.com/code/bvandom-cs371p-allocator/git/nodes/

ii. Invite the grader to your repository:
        Alon Farchy (afarchy)
        Oliver Jensen (ojensen5115)

Git
    1. Commit at least 5 times.
    2. Commit once for each bug or feature.
    3. As you are committing, identify bugs or features involved.
    4. Create a log of the commits (Allocator.log)

    NOTE: Be able to write a meaningful commit message that describes your changes in one sentence. This implies that you should push frequently.
    ALSO NOTE: "It is your responsibility to protect your code from the rest of the students in the class. If your code gets out,you are as guilty as the recipient of academic dishonesty."

Original issue reported on code.google.com by [email protected] on 22 Feb 2012 at 7:54

Issue 3: Jump or Move Depends on Uninitialised Value

When I run my_test_bad_alloc() on an Allocator<char, 100>, I get the following 
output from valgrind: 

==12409== Conditional jump or move depends on uninitialised value(s)
==12409==    at 0x417F28: MyTestAllocator<char, 100ul>::my_test_bad_alloc() (in 
/v/filer4b/v38q001/bvandom/cs371p/bvandom-cs371p-allocator/TestAllocator.c++.app
)
==12409==    by 0x4494B9: CppUnit::TestCaller<MyTestAllocator<char, 100ul> 
>::runTest() (in 
/v/filer4b/v38q001/bvandom/cs371p/bvandom-cs371p-allocator/TestAllocator.c++.app
)
==12409==    by 0x448C3B: 
CppUnit::ExceptionTestCaseDecorator<std::bad_alloc>::runTest() (in 
/v/filer4b/v38q001/bvandom/cs371p/bvandom-cs371p-allocator/TestAllocator.c++.app
)
==12409==    by 0x4E528E9: CppUnit::TestCaseMethodFunctor::operator()() const 
(in /usr/lib/libcppunit-1.12.so.1.0.0)
==12409==    by 0x4E45E33: CppUnit::DefaultProtector::protect(CppUnit::Functor 
const&, CppUnit::ProtectorContext const&) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==12409==    by 0x4E4EE66: CppUnit::ProtectorChain::protect(CppUnit::Functor 
const&, CppUnit::ProtectorContext const&) (in /usr/lib/libcppunit-1.12.so.1.0.0)
==12409==    by 0x4E59593: CppUnit::TestResult::protect(CppUnit::Functor 
const&, CppUnit::Test*, std::string const&) (in 
/usr/lib/libcppunit-1.12.so.1.0.0)
==12409==    by 0x4E52687: CppUnit::TestCase::run(CppUnit::TestResult*) (in 
/usr/lib/libcppunit-1.12.so.1.0.0)
==12409==    by 0x4E52DC2: 
CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) (in 
/usr/lib/libcppunit-1.12.so.1.0.0)
==12409==    by 0x4E52CE5: CppUnit::TestComposite::run(CppUnit::TestResult*) 
(in /usr/lib/libcppunit-1.12.so.1.0.0)
==12409==    by 0x4E52DC2: 
CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) (in 
/usr/lib/libcppunit-1.12.so.1.0.0)
==12409==    by 0x4E52CE5: CppUnit::TestComposite::run(CppUnit::TestResult*) 
(in /usr/lib/libcppunit-1.12.so.1.0.0)

I cannot figure out what has not been initialized.

Original issue reported on code.google.com by [email protected] on 29 Feb 2012 at 1:09

Issue 2: Passing Tests for Char and Long

I have a couple of issues in Allocator for chars and longs.

1. Chars - I keep getting invalid_argument exception thrown during dealloc()
2. Longs - In my_test_one, the assertion that the very first sentinel has been 
set to -1*size_of(T) fails.

Original issue reported on code.google.com by [email protected] on 28 Feb 2012 at 6:24

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.