Developers are often faced with the task of implementing new features or diagnosing problems in large software systems. Convoluted control and data flows in large object-oriented software systems, however, make even simple tasks extremely difficult, time-consuming, and frustrating. Specifically, Java programs manipulate objects by adding and removing them from collections and by putting and getting them from other objects' fields. Complex object histories hinder program understanding by forcing software maintainers to track the provenance of objects through their past histories when diagnosing software faults. In this thesis, we present a novel approach which answers queries about the evolution of objects throughout their lifetime in a p...
The research presented in this thesis identifies professional programmers’ comprehension-related act...
Context. Software defect prediction aims to reduce the large costs involved with faults in a softwar...
This thesis presents a collection disjointness analysis to find disjointness relations between colle...
Memory leak is unrecoverable software bug that causes performance degradation and re- liability issu...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
There is a growing class of applications implemented in object-oriented languages that are large and...
Freshly created objects are a blank slate: their mutable state and their constant properties must be...
Today, most modern programming languages such as C # or Java use an automatic memory management syst...
Software Engineers are familiar with mutable and immutable object state. Mutable objects shared acr...
In this feasibility study we discuss reasoning about the correctness of Java interfaces using histor...
After many years, support for multithreading has been integrated into mainstream programming languag...
Multiple studies found that developer questions about the history of code were among the hardest and...
In this dissertation, we describe several techniques for using historical data mined from the source...
Javana is a tool for creating customized Java program analysis tools. It comes with an easy-to-use i...
Software developers traverse several commits and issues from issue tracking systems when exploring s...
The research presented in this thesis identifies professional programmers’ comprehension-related act...
Context. Software defect prediction aims to reduce the large costs involved with faults in a softwar...
This thesis presents a collection disjointness analysis to find disjointness relations between colle...
Memory leak is unrecoverable software bug that causes performance degradation and re- liability issu...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
There is a growing class of applications implemented in object-oriented languages that are large and...
Freshly created objects are a blank slate: their mutable state and their constant properties must be...
Today, most modern programming languages such as C # or Java use an automatic memory management syst...
Software Engineers are familiar with mutable and immutable object state. Mutable objects shared acr...
In this feasibility study we discuss reasoning about the correctness of Java interfaces using histor...
After many years, support for multithreading has been integrated into mainstream programming languag...
Multiple studies found that developer questions about the history of code were among the hardest and...
In this dissertation, we describe several techniques for using historical data mined from the source...
Javana is a tool for creating customized Java program analysis tools. It comes with an easy-to-use i...
Software developers traverse several commits and issues from issue tracking systems when exploring s...
The research presented in this thesis identifies professional programmers’ comprehension-related act...
Context. Software defect prediction aims to reduce the large costs involved with faults in a softwar...
This thesis presents a collection disjointness analysis to find disjointness relations between colle...