codespecs / daikon-dot-net-front-end Goto Github PK
View Code? Open in Web Editor NEWCeleriac .NET Front-End for Daikon
License: Other
Celeriac .NET Front-End for Daikon
License: Other
It's possible there may be a store and then a branch within the function.
Want to make sure don't include a synthesized return in this case.
Original issue reported on code.google.com by [email protected]
on 4 Jan 2012 at 12:14
Line 37 in VariableVisitor.cs.
I'm leaning toward keeping it at this point.
Original issue reported on code.google.com by [email protected]
on 30 Nov 2011 at 8:31
Allow users to specify pure functions in a file -- this as a command line
argument.
Add instrumentation to execute these calls.
Original issue reported on code.google.com by [email protected]
on 12 Jan 2012 at 10:28
Make a simple hello world program with method calls with a few different types,
figure out what the difference between the Chicory and DNFE uses of each are.
Original issue reported on code.google.com by [email protected]
on 17 Oct 2011 at 9:51
Set the verbose mode to false by default.
Original issue reported on code.google.com by [email protected]
on 20 Oct 2011 at 10:23
The exception sorting code executes multiple passes over the method's
operations. This could potentially be expensive for really long methods. I
suspect however it will not be an issue, and would just make the code more
confusing for speed increase. Potentially worth a look however.
Original issue reported on code.google.com by [email protected]
on 5 Oct 2011 at 8:50
They seem to be doing the same thing but can't easily be combined without
examining side effects.
Original issue reported on code.google.com by [email protected]
on 7 Dec 2011 at 10:59
Add this as a command line option.
Print the number not the val.
Original issue reported on code.google.com by [email protected]
on 12 Oct 2011 at 8:50
Exits with a NullRef exception
Original issue reported on code.google.com by [email protected]
on 31 Oct 2011 at 8:58
Instrument multiple return locations, with the program point hierarchy
established have the single program point as parents.
Note that debug builds collapse return statements to the end of the function
for debugging. Ignoring this for now.
Original issue reported on code.google.com by [email protected]
on 6 Oct 2011 at 7:27
Instead of doing Math.Pow everytime store this in the occurenceCount map, this
should probably map function name to pair where the first element is the
occurencesCount as currently and the second element is the "every" value that
is currently calculated in each pass. This would be updated wheenver
oldOcurrences % frontEndArgs.SampleStart == 0.
This would require ample testing of ocurrenceCount, which doesn't currently
exist.
Original issue reported on code.google.com by [email protected]
on 6 Jan 2012 at 11:17
This will need some tuning of tests.
Original issue reported on code.google.com by [email protected]
on 28 Oct 2011 at 11:06
Right now for STDOUT printing we write to a temp file and then read that tem
file. This is because of the way our writer is set up. I don't know if you can
grab a console for the writer.
Original issue reported on code.google.com by [email protected]
on 4 Oct 2011 at 8:07
The daikon standard allows for special printing of objects containing a
variable of their own type.
Original issue reported on code.google.com by [email protected]
on 11 Oct 2011 at 6:46
They cause a NPE crash.
Original issue reported on code.google.com by [email protected]
on 12 Oct 2011 at 8:49
In Reflector.cs line 25 there's a TODO for implement program point recognition,
but it's surrounded by dead code. Figure out what's going on here and handles
as necessary.
Original issue reported on code.google.com by [email protected]
on 5 Oct 2011 at 8:52
Right now I'm not sure how to convert the CCI type to assembly qualified-name,
in ConverCCITypeToString() function.
Original issue reported on code.google.com by [email protected]
on 10 Oct 2011 at 8:43
There's some debug code left in DeclarationPrinter.cs.
All marked with TODOs
Original issue reported on code.google.com by [email protected]
on 4 Oct 2011 at 8:36
From the daikon developer manual:
Second, between two classes that are related by inheritance, corresponding
program points relate โ for example, java.util.Vector:::CLASS is a child of
java.util.List:::CLASS.
Original issue reported on code.google.com by [email protected]
on 16 Apr 2012 at 10:11
Make sure we can safely and quickly do this, or come up with another fool-proof
way to get the element type.
Original issue reported on code.google.com by [email protected]
on 5 Dec 2011 at 10:08
When we've determined how to implement multiple return locations, clean up the
instrument return signature. Right now shouldHandleExceptions is always true at
the only call site.
Original issue reported on code.google.com by [email protected]
on 6 Oct 2011 at 7:33
Right now the program fails if there's multithreading -- change this so it's
allowed.
Acquire a lock on the writer before we start inspecting any method, release the
lock when we're done.
Original issue reported on code.google.com by [email protected]
on 30 Nov 2011 at 8:20
There are some weird cases where we can't load a field type for an object. This
we weird because we use the same mechanism to determine which field types to
load that we actually load the fields from. The GetFieldValue() method is a
workaround for this but it can fail. For now we just return null, maybe make
this nonsensical before a full fix is available.
Original issue reported on code.google.com by [email protected]
on 14 Nov 2011 at 12:10
The CCI code prints an error and continues. Todd say everything seemed fine.
Original issue reported on code.google.com by [email protected]
on 19 Oct 2011 at 9:22
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 29 Feb 2012 at 11:59
Run the front end on any valid .exe file with --linked-lists option enabled.
Doing so throws an exception:
Unhandled Exception: System.ArgumentNullException: Value cannot be null.
Parameter name: value
Original issue reported on code.google.com by [email protected]
on 19 Apr 2012 at 8:48
The sample start allows for limited printing of output.
Original issue reported on code.google.com by [email protected]
on 11 Oct 2011 at 6:45
Sample program:
class Program
{
static void Main(string[] args)
{
var x = new LinkedList<LinkedList<Int32>>[10];
Test(x);
}
static void Test(LinkedList<LinkedList<Int32>>[] advancedType)
{
}
}
Successfully runs through the front end, but has a conversion error.
$ ./DotNetFrontEndLauncher AdvancedTypeTest.exe
Processing executable AdvancedTypeTest...
Argument processing complete
Couldn't convert type with assembly qualified name:
System.Collections.Generic.LinkedList<System.Collections.Generic.LinkedList<Syst
em.Int32>>[], AdvancedTypeTest, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null
Rewriting complete
Loading complete. Starting program.
Program complete. Exiting DNFE.
When running the resulting dtrace through Daikon, an exception is thrown:
$ daikon AdvancedTypeTest.dtrace
Daikon version 4.6.4, released June 23, 2010; http://pag.csail.mit.edu/daikon.
Processing trace data; reading 1 dtrace file:
Exception in thread "main" java.lang.Error: daikon.Daikon$TerminationMessage:
Error at line 277 in file AdvancedTypeTest.dtrace: no ppt_tag_separator in
'nonsensical'
at daikon.FileIO.read_data_trace_files(FileIO.java:1016)
at daikon.FileIO.read_data_trace_files(FileIO.java:980)
at daikon.Daikon.process_data(Daikon.java:1823)
at daikon.Daikon.mainHelper(Daikon.java:575)
at daikon.Daikon.main(Daikon.java:454)
Caused by: daikon.Daikon$TerminationMessage: Error at line 277 in file
AdvancedTypeTest.dtrace: no ppt_tag_separator in 'nonsensical'
at daikon.FileIO.read_data_trace_record(FileIO.java:1674)
at daikon.FileIO.read_data_trace_file(FileIO.java:1479)
at daikon.FileIO.read_data_trace_files(FileIO.java:999)
... 4 more
Original issue reported on code.google.com by [email protected]
on 19 Apr 2012 at 8:55
Line 266
Original issue reported on code.google.com by [email protected]
on 5 Oct 2011 at 8:48
In DeclarationPrinter parent type should be added for static fields.
Original issue reported on code.google.com by [email protected]
on 16 Apr 2012 at 10:54
Talk with Mike about how to do this.
Original issue reported on code.google.com by [email protected]
on 12 Oct 2011 at 8:20
Implement comparability, right now we just print that all things are comparable.
This would probably involve adding a new map in ReflectionArgs.
A zero-feature approach would involve mapping at least each type to a unique
integer.
A real approach would look at each type, use reflection to see if it implements
IComparable, then check the generic to see what it's comparable to and match up
the numbers in the table.
Original issue reported on code.google.com by [email protected]
on 4 Oct 2011 at 8:53
We don't know what to interpret Exception object as, so we just downcast them
to Object for now.
Original issue reported on code.google.com by [email protected]
on 7 Oct 2011 at 7:50
namespace HelloWorld
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class AdvancedCollections
{
public static void Main(String[] args)
{
ArrayHolder holder = new ArrayHolder();
List<int> intSet = new List<int>();
intSet.Add(-1);
intSet.Add(0);
intSet.Add(1);
holder.updateArray(intSet.ToArray());
List<int> intSet2 = new List<int>();
intSet2.Add(10);
intSet2.Add(11);
holder.updateArray(intSet2.ToArray());
}
}
public class ArrayHolder
{
HashSet<int> baseArray;
// TODO: Figure out what goes wrong with expanded array
HashSet<int> expandedArray;
public ArrayHolder()
{
this.baseArray = new HashSet<int>();
this.expandedArray = new HashSet<int>();
}
public void updateArray(int[] integers)
{
this.baseArray.Clear();
this.expandedArray.Clear();
this.expandedArray.Add(integers[0] + 4);
for (int i = 0; i < integers.Length; i++)
{
baseArray.Add(integers[i] + 5);
expandedArray.Add(integers[i] + 5);
}
this.expandedArray.Add(integers[integers.Length - 1] + 6);
}
}
}
Original issue reported on code.google.com by [email protected]
on 10 Apr 2012 at 10:25
Make sure that the program works as expected with programs running built for
older versions of mscorlib, and older versions of .NET
Original issue reported on code.google.com by [email protected]
on 5 Oct 2011 at 8:15
What should the VarKind of e.g. String.Empty be?
Maybe it should be a field, but then it'd need an enclosing-var. What should
that enclosing var then be?
Right now it doesn't have a special kind.
Original issue reported on code.google.com by [email protected]
on 2 Apr 2012 at 10:51
Reflector.cs: 221
I imagine this could be when the --run_program arg is passed. Should be
testable when we get test coverage data.
Original issue reported on code.google.com by [email protected]
on 5 Oct 2011 at 7:52
ReflectionArgs.cs 157
Original issue reported on code.google.com by [email protected]
on 4 Oct 2011 at 7:40
In RefelctionArgs.cs
Original issue reported on code.google.com by [email protected]
on 20 Oct 2011 at 9:06
Try getting the type name from the obj's get type so we don't have to build it
up manually.
Original issue reported on code.google.com by [email protected]
on 5 Dec 2011 at 10:06
I think the compiler will automatically add a type. If such a situation existed
then our method of instrumenting return values would need to be modified.
Original issue reported on code.google.com by [email protected]
on 6 Oct 2011 at 8:25
Using assembly qualified name is annoying because we have to build and then
parse it. Instead make an object to specially handle this.
Original issue reported on code.google.com by [email protected]
on 10 Oct 2011 at 10:42
Uncomment exception handling code
Original issue reported on code.google.com by [email protected]
on 10 Jan 2012 at 9:28
These are described in the daikon developer manual
Original issue reported on code.google.com by [email protected]
on 6 Jan 2012 at 11:12
We need to a lock on the writer while we are writing.
Talk with Mike re: priority on this
Original issue reported on code.google.com by [email protected]
on 25 Oct 2011 at 9:31
Gives an exception when we try to pull out a local variable
Original issue reported on code.google.com by [email protected]
on 12 Oct 2011 at 9:26
In DeclarationPrinter, the PrintParentObjectFields method, figure out what to
do if type can't be resolved
Original issue reported on code.google.com by [email protected]
on 16 Apr 2012 at 10:51
Would be nice to see what's being tested and what still needs it.
Original issue reported on code.google.com by [email protected]
on 4 Oct 2011 at 9:49
Write a "check-in" script that builds and runs the tests.
Original issue reported on code.google.com by [email protected]
on 4 Oct 2011 at 9:50
Figure out the URL for the command line args and add it in RefelctionArgs.cs
Original issue reported on code.google.com by [email protected]
on 20 Oct 2011 at 9:01
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.