command “ps”). As a consequence, measurements
are strongly intrusive (up to 60% of CPU during
acquisition, in our experience). Moreover, there is
no support for: (i) Monitoring different targets at the
same time, in order to compare them in real time. (ii)
Reviewing tests for future reuse, and DB repository.
(iii) Tailoring to minimize intrusiveness. (iv) Process
and thread monitoring.
Concerning T3, in our view, its major limit is the
absence of supports for: (i) Monitoring different
targets at the same time, in order to compare them in
real time. (ii) Reviewing tests for future reuse, and
DB repository. (iii) Tailoring to minimize
intrusiveness. (iv) Process and thread monitoring.
(v) Solaris is the only OS that T3 supports.
4 DISCUSSION
All the major tools for monitoring hard real-time
software seems to present substantial limits with
respect to the ideal technology of our reference
company (see Table 1).
T3 seems too far from that ideal: in fact,
multiple monitoring (F1), data storage (F4), tailoring
(F5), and process monitoring (F11 .. F14) are not
supported at all. Concerning T1 and T2, while at a
first view they seem to match many of the features
and capabilities that our ideal model requires, they
lost such a primacy when we look deeper for their
intrusiveness (F6): in fact, this is one of the most
important aspect in safety critical software. T1
seems to best fit many other required features and
capabilities, Anyway, it does not support tailoring
(F5), data storage (F4), distributed architecture (F7),
threads monitoring (F13, F14).
Overall, all those tools show a main limit: none
of them provides what we called with Sensor (F17),
i.e. a module built right for acquiring and sending-
out data by using negectable resourses and time. Of
course, they carry out those activities, but in
different, often broad, ways. In particular: (i) T1 is
not so much intrusive, and sensitive data are
continually refreshed. However, it resides on the
target, which is expected to be not in charge of
providing utility functions. (ii) T2 accesses the target
system through TCP/IP, where no sensor is installed:
because of the consequent usage of system calls, the
tool is strongly intrusive. (iii) T3 is non-intrusive,
but the set of data it is able to acquire is very limited.
As a conclusive remark, the real trouble with
traded tools seems to be that they assume the point
of view of the “System Administrator”, so
answering questions like: “What is the behaviour of
my system”. Vice versa, as already mentioned, what
our reference company needs is a “Software
Engineer” view, so answering questions like: “What
is the problem”, “Where is the problem”, “Who
generated the problem”.
5 CONCLUSION AND FUTURE
WORK
We have presented a model, which is based on the
quality improvement goals of the reference
organization for this paper, and aimed to
characterize technologies for testing time-properties
of safety-critical software. We have also presented
results from the application of that model to three
major tools for monitoring hard real-time software
during test sessions. Based on those results, it seems
that the technology provided by the market does not
meet sufficiently the needs of our reference
company. Management of that company is hence
invited to evaluate the chances they have to develop
in house their ideal technology for something like
this.
REFERENCES
Basili, V. R., Caldiera, G., and Rombach, H. D., The Goal
Question Metric Approach, Encyclopedia of Software
Engineering, Wiley&Sons Inc., 1994.
EPRI, Handbook for verification and validation of digital
systems, Vol.1: Summary, EPRI TR103291, Vol.1,
1994.
QUEST SPOTLIGHT™ http://wm.quest.com/libra
ry/docs/spotlightwindows/SpotlightWindows.pdf
Simser D. and R.E. Seviora, Supervision of Real-Time
Systems Using Optimistic Path Prediction and
Rollbacks, Procs. Int’l Symp. Software Reliability
Eng. (ISSRE), pp. 340–349, Oct. 1996.
SOLARIS PERFORMANCE METER™ 2.0.0
http://docsun.cites.uiuc.edu/sun_docs/C/solaris_9/SUNWa
be/CDEUG/p125.html
TOP- William LeFebvre’s
http://www.uwsg.iu.edu/UAU/system/top.html
Tsai J.J., Yang S.J., Monitoring and Debugging of
Distributed Real-Time Systems, J.J. Tsai and S.J.
Yang, eds., IEEE CS Press, 1995.
Weyuker E.J., On Testing Non-Testable Programs, The
Computer J., vol. 25, no. 4, pp. 465–470, 1982.
Di Biagio C., Pennella G., Pesce G., and Cantone G.,
Advancing on Testinf Safety-Critcial Software, Procs.
of ICSOFT 06 (these Proceedings), Setubal, 2006.
ICSOFT 2006 - INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES
256