Mukkai Krishnamoorthy

2papers

2 Papers

SEFeb 9, 2012Code
Temporal Analysis of Literary and Programming Prose

Brian Michalski, Mukkai Krishnamoorthy, Tsz-Yam Lau

Literary works reference a variety of globally shared themes including well-known people, events, and time periods. It is particularly interesting to locate patterns that are either invariant across time or exhibit a characteristic change across time, as they could imply something important about society that those works record. This paper suggests the use of Google n-gram viewer as a fast prototyping method for examining time-based properties over a rich sample of literary prose. Using this method, we find that some repeating periods of time, like Sunday, are referenced disproportionally, allowing us to pose questions such as why a day like Thursday is so unpopular. Furthermore, by treating software as a work of prose, we can apply a similar analysis to open-source software repositories and explore time-based relations in commit logs. Doing a simple statistical analysis on a few temporal keywords in the log records, we reinforce and weaken a few beliefs on how college students approach open source software. Finally, we help readers working on their own temporal analysis by comparing the fundamental differences between literary works and code repositories, and suggest blog or wiki as recently-emerging works.

SENov 24, 2017
Interactive Complexity: Software Metrics from an Ecosystem Perspective

Charles Hathaway, Ron Eglash, Mukkai Krishnamoorthy

With even the most trivial of applications now being written on top of millions of lines code of libraries, API's, and programming languages, much of the complexity that used to exist when designing software has been abstracted away to allow programmers to focus on primarily business logic. With each application relying so heavily on the ecosystem it was designed to run in, whether that is limited to a local system or includes dependencies on machines connected by networks, measuring the complexity of these systems can no longer be done simply by observing the code internal to the application; we also need to account for its external interactions. This is especially important when considering issues of security, which becomes more vital as our healthcare, financial, and automobiles rely on complicated software systems. We propose Interactive Complexity, which provide a quantitative measure of how intertwined parts of the system are. Some of the most well-known software complexity metrics out there are the metrics in the CK-metric suite; these metrics are designed for use in measuring object oriented systems, but we believe they can be adapted to help measure the interaction of software systems. Our experimental results show strong correlations between the number of bugs fixed in a release and the value of some of these metrics in systems of sufficient scale.