Conference PaperPDF Available

GPROM: a tool for non-invasive personal tracking


Abstract and Figures

Measures represent important data in all engineering disciplines. These data allow engineers to understand how things work and how to improve results. This paper presents GPROM, an automated tool for collecting personal metrics with a non-invasive approach. The tool works on top of the Android operating system to automatically collect data from mobile phones and to overcome the drawbacks of manual data collection.
Content may be subject to copyright.
International Conference on Computer Systems and Technologies - CompSysTech’09
GPROM: a Tool for
Non-Invasive Personal Tracking
Andrea Girardello
Giancarlo Succi
Abstract: Measures represent important data in all engineering disciplines. These data allow
engineers to understand how things work and how to improve results. This paper presents GPROM, an
automated tool for collecting personal metrics with a non-invasive approach. The tool works on top of the
Android operating system to automatically collect data from mobile phones and to overcome the drawbacks
of manual data collection.
Key words: Personal Tracking, Measurements, Mobile phone, PROM, Android.
The collection of measures is the first step to know how to control and improve the
software development process [4]. In spite of the proven advantages of using
measurements in software production, it is not widely adopted [5]. One reason for this is
because measurement programs often rely on manual data collection and considerable
human effort [6] [8]. Manual data collection requires a continuous “context switch” between
product development and process recording [8] and this is an annoying activity that could
cause errors. Within this context, automated measurement techniques help to overcome at
least part of the mentioned issues [7].
PROM (PROfessional Metrics) is a software system for collecting these metrics in a
software company. It is designed to work fully automatically without any interaction with
the user in order to get reliable and accurate data about company internal workflows and
development processes. PROM includes different tools to obtain measurements from the
software development process, to analyze the collected data, and to provide stakeholders
specific views of the results [10]. Among all the software components collecting data for
the PROM system, there is a lack of a tool able to trace data coming from a mobile phone
This article presents the tool GPROM as part of the PROM system. GPROM consist
of a tool for collecting personal metrics with a non-invasive approach. It works on top of the
Android1 operating system and traces automatically data from mobile phones. In this
paper, the term “personal” is intended for all those measures that describe activities like:
calling or sending a message to someone, having a contact or being in the proximity of
another individual, and describing the position/movements of a person.
This paper is organized as follows: first, an overview of GPROM together with its
main features is given; then the visualization and interpretation of collected data is
introduced; finally, conclusions and future work are presented.
GPROM allows the continue and automatic collection of personal related data while
an user is interacting with a mobile phone device. GPROM has been developed on top of
the Android operating system and exploits the exposed facilities to get notifications against
registered Actions2. This allows the tool to operate in the background in a completely
transparent way for the user and without requiring any additional effort.
1 Android,
2 Android Actions: abstract description of an action to be performed,
© 2009 ACM
International Conference on Computer Systems and Technologies - CompSysTech’09
Besides the just mentioned background part, the tool presents itself also as a tabbed
graphical user interface (Figure 1) allowing to switch between the following tabs: the list of
logged events, the list of traced locations, the synchronization panel and, finally, the
settings form.
Figure 1. Events logged by GPROM.
Data collection
As previously introduced, GPROM is able to trace a numbers of events generated by
the mobile phone device. At present, the events supported consist of three different types:
SMS messages. Every single message is further distinguished in incoming and
outgoing. To respect user’s privacy, the body text of a message is not traced.
Phone calls. These events are additionally classified into four different subtypes,
namely: incoming, outgoing, missed and rejected. Similarly as for SMS messages,
phone calls’ content is not recorded.
Bluetooth proximity with other Bluetooth enabled devices. Neither device pairing,
nor connection establishment are needed, just Bluetooth discovery of nearby
devices is sufficient. This kind of event is considered to be valuable in identifying
peers in a meeting and/or developers during a pair-programming activity.
This part is still in progress since at the moment the Android APIs do not provide to
developers the possibility of using the device’s Bluetooth facilities3.
Each of these events types is stored into the GPROM local database together with the
current date and time, duration (in case of a call) and reference number, as shown in
Figure 1. With reference number it is intended the other party’s phone number in the case
the event is either a call or an SMS, otherwise it refers to the discovered device’s
Bluetooth ID for Bluetooth proximity events.
The collection of events is performed at real time by registering during installation to
the interested Android Actions and relaying to its Intents resolution mechanism4. This
means that events, i.e. calls and SMSs are not loaded asynchrously from the internal
device’s log. This approach is necessary to allow the real time positioning and tagging of
events as described in the next two sections.
An additional type of information that GPROM is able to trace is the position of the
device. The location of the device can be traced on a regular basis or be requested every
3 Android Bluetooth FAQ,
4 Android Intent resolution,
© 2009 ACM
International Conference on Computer Systems and Technologies - CompSysTech’09
time a notification regarding one of the three previously mentioned events is received. The
location information is retrieved using the Skyhook technology5 that provides positioning
facilities based on GPS, network cell towers and Wi-Fi access points, thus allowing an
estimated first-fix time of about 1 second.
Once the location has been retrieved, it is stored on the local database and, if related
to a particular event the two are linked together (the event is marked as “located”, Figure
1). As a minor feature, the user is able to look directly on the phone’s Maps application the
location associated with an event.
An extra feature provided by GPROM is the possibility of tagging events. Once the
tool has traced an event, the user can assign a trough a popup window. To make this
process be as quick as possible the user does not have to input any text comment, on the
contrary it is sufficient for him or her to choose an item among a configurable list of tags,
as shown in Figure 2. This means that a single click on one of these tags is sufficient to
complete the tagging process for an event. However, to let the tool be completely
transparent for the user this feature can be disabled from the tool’s settings tab. In both
cases, within the tool’s user interface the user can change the tag by tapping on the
desired event.
Figure 2. Popup window for events tagging.
Synchronization with PROM
The collected events and locations need to be synchronized with the PROM system
for further visualization and interpretation of data. Remembering the mobile context of this
application, all the records that need to be sent is firstly compressed and only afterward
transmitted, together with the user identifier, to the PROM server by accessing the
exposed web services [9]. The synchronization process requires a direct Internet
connection and the selection of the mean is let to the underlying operating system.
As briefly mentioned in the introduction, PROM consists of several organized in three
main parts: client-side plug-ins and tools to collect data, a server, and a web-based tool,
known as PKM, responsible for knowledge extraction, visualization and sharing [3].
At present, the integration of PKM with data collected by GPROM is still under study.
Traced events and locations can in fact be matched with projects, with communications
5 Skyhook Wireless Inc.,
© 2009 ACM
International Conference on Computer Systems and Technologies - CompSysTech’09
involving stakeholders or considered for the automatic identification of developers’ tasks
besides the already used interaction history between developers and IDEs [1] [2].
Additionally, the tagging of events could identify precisely one of the software development
activities. Consider the following self-explanatory example: an incoming call by developer
X has been received by manager Y at his/her home, and last for 5 minutes. Additionally, Y
marked this event with the tag “implementation”. These information, correctly integrated
within the PROM system, are of interest from a software process management point of
view, however, only an experimentation can prove these assumptions.
This paper proposes the GPROM tool as part of the PROM system [10]. GPROM
works on top of the Android operating system and allows the gaining of personal metrics
with a non-invasive approach, which is an automatic collection of data from a mobile
phone. These data consists of phone calls, SMS messages, and Bluetooth proximities
events as well as their location, retrieved by exploiting different positioning techniques.
At present, the described tool has been tested in an emulated environment and,
accordingly to preliminary data from a simulated experiment, the tool succeeds in
collecting personal data without any human effort. Despite this, the tool has not yet been
used in a production context since the availability in Italy of a device powered by the
Android operating system is estimated by May 2009.
However, only an experiment providing a sufficient amount of traced events and
locations can prove the real effectiveness of GPROM. Therefore, it is planned to perform
an internal evaluation of the tool and subsequently to carry out the analysis of the collected
[1] I. Coman, A. Sillitti. An Empirical Exploratory Study on Inferring Developers’
Activities from Low-Level Data, 19th International Conference on Software Engineering
and Knowledge Engineering (SEKE 2007), Boston, MA, USA, 9 - 11 July 2007.
[2] I. Coman, A. Sillitti. Automated Identification of Tasks in Development Sessions.
16th IEEE International Conference on Program Comprehension (ICPC 2008),
Amsterdam, Netherlands, 10 - 13 June 2008.
[3] E. Danovaro, T. Remencius, A. Sillitti, G. Succi. PKM: Knowledge Management
Tool for Environments Centered on the Concept of the Experience Factory. 30th
International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, May.
[4] DeMarco, Tom. Controlling Software Projects. New York: Yourdon Press, 1982.
[5] Disney A.M., Johnson P.M. Investigating Data Quality Problems in the PSP. Sixth
International Symposium on the Foundations of Software Engineering (SIGSOFT'98),
Orlando, FL, USA, November 1998.
[6] Humphrey, W. S. The Personal Software Process. Technical Report, Software
Engineering Institute, Carnegie Mellon, November 2000,
[7] A. Janes, M. Scotto, A. Sillitti, G. Succi. A perspective on non-invasive software
management. IEEE Instrumentation and Measurement Technology Conference (IMTC
2006), Sorrento, Italy, April.
[8] Johnson, P.M., Kou, H., Agustin, J.M., Chan, C., Moore, C.A., Miglani, J., Zhen,
S., and Doane, W.E. Beyond the Personal Software Process: Metrics collection and
© 2009 ACM
International Conference on Computer Systems and Technologies - CompSysTech’09
analysis for the differently disciplined. In Proceedings of the 2003 International Conference
on Software Engineering (Portland, Oregon, 2003).
[9] A. Sillitti, A. Janes, T. Vernazza, G. Succi. Measures for Mobile Users.
Proceedings of the International Workshop on Adaptable System/Software Architectures,
Las Vegas, NV, USA, July.
[10] A. Sillitti, A. Janes, G. Succi, T. Vernazza. Collecting, Integrating and Analyzing
Software Metrics and Personal Software Process Data. EUROMICRO 2003, Belek-
Antalya, Turkey, September.
Andrea Girardello, Master Student, Faculty of Computer Science, Free University of
Bolzano, Bolzano, Italy, Phone: +39 347 33 48 619, Е-mail:
Giancarlo Succi, PhD, Full Professor, Faculty of Computer Science, Free University
of Bolzano, Bolzano, Italy, Phone: +39 0471 016 130, Е-mail:
© 2009 ACM
Full-text available
The behaviour of bismuth ions in silica glass free of other dopants has been studied in different steps of the furnace chemical vapour deposition (FCVD) process. Porous layers annealed and consolidated in different atmospheres, a bismuth chloride solution in acetone for porous layer impregnation, the resultant glass preform and holey fibres drawn out under various conditions have been characterised by spectroscopic techniques and X-ray diffraction. Active bismuth centres present in the preform and luminescing in the visible and IR spectral regions persist during drawing under reducing conditions, whereas drawing under oxidising conditions eliminates such centres. Annealing under reducing conditions produces absorption bands of IR-emitting bismuth centres (IRBCs) in spectra of fibres drawn out under oxidising conditions and concurrently increases the background loss. Under the annealing conditions of this study (argon atmosphere, Tmax = 1100 °C, 30 min), the IRBC concentration reaches a maximum and then decreases, whereas the background loss increases monotonically.
Conference Paper
Full-text available
This paper presents PKM - a web-based tool for knowledge management in an environment centered on the concept of the experience factory. The tool focuses on managing explicit knowledge, most of which is collected in an automated way using non-invasive plug-ins and probes. It provides customizable metric views, metric interpretation and abstraction capabilities, helps in extraction and evaluation of metric progress models.
Conference Paper
Full-text available
Task switching occurs frequently during the work of software developers. While there are already several approaches aiming at assisting developers in recovering their contexts of previous tasks, they generally rely on the developer to identify the beginning of each task. We propose a new technique for automatically splitting a development session into task-related subsections, based on the interaction of the developer with the IDE. The technique also shows potential benefits for automatic concern detection and for suggestions for code investigation. We present the technique, the results of a study conducted for its initial validation, and we discuss the additional potential benefits under investigation.
Conference Paper
Full-text available
Software measures are important to evaluate software properties like complexity, reusability, maintainability, effort required, etc. Collecting such data is difficult because of the lack of tools that perform acquisition automatically. It is not possible to implement a manual data collection because it is error prone and very time expensive. Moreover, developers often work in teams and sometimes in different places using laptops. These conditions require tools that collect data automatically, can work offline and merge data from different developers working in the same project. This paper presents PROM (PRO Metrics), a distributed Java based tool designed to collect automatically software measures. This tool uses a distributed architecture based on plug-ins, integrated in most popular development tools, and the SOAP communication protocol.
Conference Paper
Full-text available
Measures represent important data in all engineering disciplines. This data allows engineers to understand how things work and how to make changes to produce desired results. In software engineering, it is difficult to collect useful measures because developers do not consider it an important activity, compared to coding. Moreover, manual collected data is often affected by errors, making it unusable. The shortage of automated tools for collecting and analyzing measures does not contribute to the evolution of software engineering. We present PROM (PRO Metrics), an automated tool for collecting and analyzing software metrics as well as personal software process (PSP) data. The tool uses an architecture based on plug-ins that automatically collects data from development tools.
Pedagogies such as the Personal Software Process (PSP) shift metrics definition, collection, and analysis from the organizational level to the individual level. While case study research indicates that the PSP can provide software engineering students with empirical support for improving estimation and quality assurance, there is little evidence that many students continue to use the PSP when no longer required to do so. Our research suggests that this "PSP adoption problem" may be due to two problems: the high overhead of PSP-style metrics collection and analysis, and the requirement that PSP users "context switch" between product development and process recording. This paper overviews our initial PSP experiences, our first attempt to solve the PSP adoption problem with the LEAP system, and our current approach called Hackystat. This approach fully automates both data collection and analysis, which eliminates overhead and context switching. However, Hackystat changes the kind of metrics data that is collected, and introduces new privacy-related adoption issues of its own.
Conference Paper
The Personal Software Process (PSP) is used by software engineers to gather and analyze data about their work. Published studies typically use data collected using the PSP to draw quantitative conclusions about its impact upon programmer behavior and product quality. However, our experience using PSP in both industrial and academic settings revealed problems both in collection of data and its later analysis. We hypothesized that these two kinds of data quality problems could make a significant impact upon the value of PSP measures. To test this hypothesis, we built a tool to automate the PSP and then examined 89 projects completed by ten subjects using the PSP manually in an educational setting. We discovered 1539 primary errors and categorized them by type, subtype, severity, and age. To examine the collection problem we looked at the 90 errors that represented impossible combinations of data and at other less concrete anomalies in Time Recording Logs and Defect Recording Logs. To examine the analysis problem we developed a rule set, corrected the errors as far as possible, and compared the original and corrected data. This resulted in significant differences for measures such as yield and the cost-performance ratio, confirming our hypothesis. Our results raise questions about the accuracy of manually collected and analyzed PSP data, indicate that integrated tool support may be required for high quality PSP data analysis, and suggest that external measures should be used when attempting to evaluate the impact of the PSP upon programmer behavior and product quality.