8. “The software
development process also
heavily relies on the
knowledge and creativity of
individual software
developers and their
intense interactions.”
Supporting software development as knowledge-intensive and collaborative activity.
Yunwen Ye [WISER’06]
9. “The software
development process also
heavily relies on the
knowledge and creativity of
individual software
developers and their
intense interactions.”
Supporting software development as knowledge-intensive and collaborative activity.
Yunwen Ye [WISER’06]
14. “Developers’ knowledge can only be
satisfied by posing questions to other
programmers.”
Maintaining Mental Models: A Study of Developer Work Habits
LaToza,Venolia, DeLine [ICSE’06]
17. “Q&A online services are filling
archives with millions of entries
for software development.”
How do programmers ask and answer questions on the web? (NIER track)
Treude, Barzilay, Storey [ICSE’11]
26. http://seahawk.inf.usi.ch
Apache POST
XML POST Seahawk
Solr Search Query
data
Mbox Engine XML HTTP engine
Mbox
dump XML
files
files
files
Document Annotation Annotation
Cache
builder engine (SQLite)
XML dump DB System model
importer PostgreSQL
Data-collection Mechanism Eclipse
27. http://seahawk.inf.usi.ch
Apache
XML Solr Search
data
Mbox
Data
Mbox Engine
dump
files
files
files
Collection
Document
builder
Mechanism XML dump
importer
DB
PostgreSQL
Data-collection Mechanism
28. http://seahawk.inf.usi.ch
Query
Seahawk
engine
Recommendation Annotation
engine
Annotation
Cache
Engine
(SQLite)
System model
Eclipse
29. Query
engine
http://seahawk.inf.usi.ch
Island Parsing
30. Query
engine
http://seahawk.inf.usi.ch
/*Sample Class for a test*/
public class ExampleClass{
private final List<Integer> values;
public ExampleClass(){
values = new ArrayList<String>();
}
public int doSum(){
int sum = 0;
for(final Integer i : values)
sum += i;
return i;
}
}
31. Query
engine
http://seahawk.inf.usi.ch
/*Sample Class for a test*/ Comment
public class ExampleClass{
private final List<Integer> values; Field
public ExampleClass(){
values = new ArrayList<String>(); Method
}
public int doSum(){
int sum = 0;
for(final Integer i : values)
sum += i; Method
return i;
}
}