rtholmes / depfind_uw Goto Github PK
View Code? Open in Web Editor NEWclone of depfind for experimental enhancement
clone of depfind for experimental enhancement
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Instead of:
Use:
This will probably be easier to extend when we support generics.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
The model has moved from analysisbenchmark to inconsistency.core.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Rather than just recording 'outbound type=class' the xml format should be extended to also record a 'kind=extends' or 'kind=implements'.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
I've attached an example XML file.
Any comments on the schema would be appreciated, now's the time!
I would like to update the XML readers in the core project today.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Multiple annotations don't seem to be tracked (for classes or methods) right now; this should be supported.
e.g, if there is an @ignore annotation and a @test annotation they should both be identified as outbound types.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Not currently recorded. This will be in CodeDependencyCollector somewhere.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
e.g., the @deprecated annotation on AnnotationClass in AnalysisBenchmark isn't being detected.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Currently a field:
Vector foo;
Is just recorded as having an outbound type Vector. There should be a dependency on String here too (it would be fine for there to just be two outbound types, one to String and one to Vector).
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Currently:
ca...SimpleName.SimpleName()
Correct:
ca...SimpleName.()
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Fields have at least one outbound dependency (its type); for some reason System.out does not have an outbound type. Why is this? Is this indicative of a larger problem?
System.out is a static field, maybe that is somehow different.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
We want to have explicit references to all of the parameter types for method signatures. These will be reported explicitly in the XML output so we can perform type-hierarchy analysis later on without doing any hacks.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Instead of modifying the depfind XML format, lets create a new one so we can change the schema as we wish.
Original report by wasabi_ko (Bitbucket: wasabi_ko, ).
In partition s there is:
path: org.joda.time.DateTime$Property.addWrapFieldToCopy(int) -> org.joda.time.DateTime.withMillis(long)
While the corresponding entry in partition d is :
org.joda.time.DateMidnight.Property.addWrapFieldToCopy(int) -> org.joda.time.DateMidnight.withMillis(long)
Basically the $ instance should be a . or vice versa
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
For some reason interfaces are being detected as classes, e.g.:
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Extension of <<issue 4>>.
e.g.,
[dependencyextractor] Field: ca.uwaterloo.cs.se.bench.simple.SimpleThreadClass$ThreadA.tick does not seem to have a type
[dependencyextractor] Field: ca.uwaterloo.cs.se.bench.simple.SimpleThreadClass$ThreadA.count does not seem to have a type
[dependencyextractor] Field: ca.uwaterloo.cs.se.bench.simple.SimpleThreadClass$ThreadB.tick does not seem to have a type
[dependencyextractor] Field: ca.uwaterloo.cs.se.bench.simple.SimpleThreadClass$ThreadB.count does not seem to have a type
This warning arises in XMLPrinterUW::preprocessClassNode(ClassNode).
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Associated with AnalysisBenchmark #7
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Currently a class can only have one super class / interface (one outbound type in the standard xml output format). DF should be extended to track multiple of these.
Original report by wasabi_ko (Bitbucket: wasabi_ko, ).
From the text of the actual output in the d partition there is:
org.joda.time.DateMidnight(Object, Chronology) -> org.joda.time.DateMidnight.checkInstant(long, Chronology)
In the s partition there is:
org.joda.time.DateMidnight(Object, Chronology) -> org.joda.time.base.BaseDateTime(Object, Chronology)
AND
org.joda.time.base.BaseDateTime(Object, Chronology) -> org.joda.time.DateMidnight.checkInstant(long, Chronology)
It should be noted that BaseDateTime is a superclass for DateMidnight. I believe that the static analysis is having issues acknowledging the super/sub class relationship between BaseDateTime and DateMidnight.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Causes GeneratedModelTest::parseInhInterface() to fail.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
The output format should be modified to record whether an outbound type is from a parameter, the return type, or from in the body. For parameters, the order of the param should be recorded.
This can be done by just adding a source='param/return/body' attribute and for parameters adding position='n'.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
e.g., AnonClass$1 & AnonClass$2 from AnalysisBenchmark both implement Comparator.
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Original report by rtholmes (Bitbucket: rtholmes, GitHub: rtholmes).
Outbound dependencies on annotations should be augmented with a kind='annotation' attribute.
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.