cuplv / cuanto

Apache License 2.0
1 stars 1 forks source link

Short-term goal: Constant propagation #40

Open tianhan0 opened 7 years ago

tianhan0 commented 7 years ago

Concrete goal: implement constant propagation in Scoot

octalsrc commented 7 years ago

We should work off the scoot-abstract branch. In particular we need to test and implement the interpreter.control module

bechang commented 7 years ago

Let's try to get as many pieces as possible merged into the develop. It becomes a mess if we start doing too many feature branches off other feature branches. Let's really follow GitFlow as much as possible (i.e., you better have a really good reason if you deviate).

octalsrc commented 7 years ago

I meant more like we should "resume and finish" the scoot-abstract branch, not create further branches from it. But yes maybe the better thing is to just clean up what is on the branch now and merge it into develop before continuing.

tianhan0 commented 7 years ago

So I've written two test cases for Constant Propagation, and I'll sync them with the branch that we decided to work on.

tianhan0 commented 7 years ago

Meanwhile, I am continuing to work on the plugin-apron branch, where I designed Scala interfaces for Apron last semester. Considering Constant Propagation, I need to add an interface for the join operation over different abstract numerical domains (Polka, Octagon, Box).

Also, I'm considering to improve the current interface design, in order to make them easier to understand and use by end users.

bechang commented 7 years ago

@litho17 Great, can you get those test cases for Constant Propagation reviewed and approved? The point is that it is your job to try get your work approved. It is no one's job to tell you where to put it.

And overall, we need to be working to get small PRs merged. Otherwise, such code just becomes out-dated and dies.

ftc commented 7 years ago

I am re establishing the task list for this:

0) [x] Copy needed components from scoot-abstract branch into a fresh fork of develop (@octalsrc) (We think this needs to be manualy changed while redesigning so this is going to be ommitted for now)

Pull request to develop from the following:

0) [ ] Abstract domain with program locations and storage locations

1) [ ] Constant propagation in numerical domain with assignment to static fields and expressions (@ftc)

2) [ ] Add if statements (@ftc)

3) [ ] Add While loops (@ftc)

4) [ ] After the above is done for constant propagation, we should look into making it more generic by possibly extending with Apron (@litho17)